日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

02ython基础知识(一)

發布時間:2023/12/10 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 02ython基础知识(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python基礎知識(一)

變量

name='monkeyfx'

變量定義的規則:

  • 變量名只能是 字母、數字或下劃線的任意組合
  • 變量名的第一個字符不能是數字
  • 以下關鍵字不能聲明為變量名:

    ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

字符編碼

ascill

默認ascill 英文 1字符1字節8個比特位

ASCII(American Standard Code for Information Interchange,美國標準信息交換代碼)主要用于顯示現代英語和其他西歐語言,其最多只能用 8 位來表示(一個字節),即:2**8 = 256,所以,ASCII碼最多只能表示 256 個符號。

GB2312(1980年)

7445個字符,包括6763個漢字和682個其它符號。

GBK(中文最常用的)

GB2312 支持的漢字太少。GBK 27484個漢字,手機、MP3一般只支持GB2312。

Unicode萬國碼

可以代表所有字符和符號的編碼Unicode(統一碼、萬國碼、單一碼)所有的字符統一1字符2字節16個比特位 即:2 **16 = 65536

2.x版本報錯:ascii碼無法表示中文

#-*- coding: utf-8 -*-

3.x版本默認Unicode

UTF-8

UTF-8,是對Unicode編碼的壓縮和優化,他不再使用最少使用2個字節,而是將所有的字符和符號進行分類:ascii碼中的內容用1個字節保存、歐洲的字符用2個字節保存,東亞的字符用3個字節保存

注釋

單行注視:

# 被注釋內容

多行注釋:

""" 被注釋內容 """

用戶輸入

input/raw_input

#name = raw_input("What is your name?") #only on python 2.x #input讀入數據位str格式 name = input("What is your name?")

getpass(在pycharm中不好使)

#輸入密碼時,如果想要不可見,需要利用getpass 模塊中的 getpass方法,即: import getpass # 將用戶輸入的內容賦值給 name 變量 pwd = getpass.getpass("請輸入密碼:")

數據類型

數字

int(整型)

  在32位機器上,整數的位數為32位,取值范圍為-231~231-1,即-2147483648~2147483647
  在64位系統上,整數的位數為64位,取值范圍為-263~263-1,即-9223372036854775808~9223372036854775807

long(長整型)

  Python沒有限制長整數數值的大小,但實際上由于機器內存有限,我們使用的長整數數值不可能無限大。
  注意,自從Python2.2起,如果整數發生溢出,Python會自動將整數數據轉換為長整數,所以如今在長整數數據后面不加字母L也不會導致嚴重后果了。
Python3沒有long的概念,統一為int

float(浮點型)

  浮點數用來處理實數,即帶有小數的數字。類似于C語言中的double類型,占8個字節(64位),其中52位表示底,11位表示指數,剩下的一位表示符號。

complex(復數)

  復數由實數部分和虛數部分組成,一般形式為x+yj,其中的x是復數的實數部分,y是復數的虛數部分,這里的x和y都是實數。
注:Python中存在小數字池:-5 ~ 257

布爾值

真假
TrueFALSE
非00
非空

字符串

列表

元祖

運算符

算數運算:

假設變量a=10和變量b=20

操作符描述例子
+加法a + b = 30
-減法a - b = -10
*乘法a * b = 200
/b / a = 2
%模(取余)b % a = 0
**指數a**b = 10的20次冪
//地板除(結果是將小數點后的位數被除去的商,取掙)9//2 = 4 而 9.0//2.0 = 4.0

比較運算:

==|!=|<>|>|<|>=|<=
-|

賦值運算:

=|+=|-=|*=|/=|%=|**|//|
-|

位運算符:

位運算符作用于位和位操作執行位。假設,如果a =60;且b =13;現在以二進制格式它們將如下:

a = 0011 1100

b = 0000 1101


a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a = 1100 0011

操作符描述示例
&按位與(a & b) = 12 即 0000 1100
按位并(a 丨b) = 61 即 0011 1101
^按位異或(a ^ b) = 49 即 0011 0001
~按位翻轉(~a ) = -61 即 1100 0011以2的補碼形式由于帶符號二進制數。
<<左移運算符a << 2 = 240 即 1111 0000
>>右移動運算符a >> 2 = 15 即 0000 1111
a = 60 # 60 = 0011 1100b = 13 # 13 = 0000 1101c = 0c = a & b; # 12 = 0000 1100print "Line 1 - Value of c is ", cc = a | b; # 61 = 0011 1101print "Line 2 - Value of c is ", cc = a ^ b; # 49 = 0011 0001 #相同為0,不同為1print "Line 3 - Value of c is ", cc = ~a; # -61 = 1100 0011print "Line 4 - Value of c is ", cc = a << 2; # 240 = 1111 0000print "Line 5 - Value of c is ", cc = a >> 2; # 15 = 0000 1111print "Line 6 - Value of c is ", c

面試題

1、判斷一個數是否是2的N次方題目要求:用一個表達式,判斷一個數X是否是2的N次方,即2,4,8,16……等,要求不可以用循環語句。解析:2,4,8,16這樣的數轉化成二進制是10,100,1000,10000。如果X減去1后(低一位并且二進制的每一位都是1),這個數與X做與運算,答案若是0,則X是2的N次方。2、兩個數的交換題目要求:將a,b兩個數的值進行交換,并且不使用任何的中間變量。解法1:a = a+b;b = a-b;a = a-b;解法2:采用異或位運算。異或運算:相同為0,相異為1。a = a^b;//a變為一個相同為0,相異為1的結果b = a^b;//該結果和b做運算,得到原來的aa = a^b;//該結果和a做運算,得到原來的b

學習資料
http://python.jobbole.com/85168/

邏輯運算:

運算符|描述|示例
-|
and |與運算符。如果兩個操作數都是真的,那么則條件成立。|(a and b) 為 true.
or |或運算符。如果有兩個操作數都是非零然后再條件變為真。|(a or b) 為 true.
not |非運算符。用于反轉操作數的邏輯狀態。如果一個條件為真,則邏輯非運算符將返回false。|not(a and b) 為 false.

成員運算:

操作符描述
in計算結果為true,如果它在指定找到變量的順序,否則false。
not in計算結果為true,如果它不找到在指定的變量順序,否則為false。

運算符優先級

運算符描述
**冪(提高到指數)
~ + -補碼,一元加號和減號(方法名的最后兩個+@和 - @)
* / % //乘,除,取模和地板除
+ -加法和減法
>> <<左,右按位轉移
&位'AND'
^按位異'或'和定期或'
<= < > >=比較運算符
<> == !=等式運算符
= %= /= //= -= += *= **=賦值運算符
is is not標識運算符
in not in成員運算符
not or and邏輯運算符

流程控制

if-else

if-elif-elif-else

for循環

for i in range(10):print(i ) a=[1,2,3,4] for item in a:print(item )

while 條件:

continue用于退出當前循環,繼續下一次循環

break用于退出所有循環

三元運算

condition ? true_part : false_part
判定條件?為真時的結果:為假時的結果

result=5>3?1:0>>> 1 if True else 01>>> 1 if False else 00>>> "Fire" if True else "Water"'Fire'>>> "Fire" if False else "Water"'Water'

lambda表達式

m = lambda x,y,z: (x-y)*zprint m(3,1,2)#結果是4sum = lambda x, y: x + y # def sum(x,y): # return x + ysum = lambda x, y: x + y # def sum(x,y): # return x + y

雜記

  • 單雙引號活用

    "I'm monkeyfx"
  • 模塊一般放置在Python/2.7/site-packages目錄下,所以自己寫的模塊調用記得加path,或放入上述目錄

轉載于:https://www.cnblogs.com/monkeyfx/p/6886464.html

總結

以上是生活随笔為你收集整理的02ython基础知识(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。