02ython基础知识(一)
Python基礎(chǔ)知識(一)
變量
name='monkeyfx'變量定義的規(guī)則:
- 變量名只能是 字母、數(shù)字或下劃線的任意組合
- 變量名的第一個字符不能是數(shù)字
以下關(guān)鍵字不能聲明為變量名:
['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
默認(rèn)ascill 英文 1字符1字節(jié)8個比特位
ASCII(American Standard Code for Information Interchange,美國標(biāo)準(zhǔn)信息交換代碼)主要用于顯示現(xiàn)代英語和其他西歐語言,其最多只能用 8 位來表示(一個字節(jié)),即:2**8 = 256,所以,ASCII碼最多只能表示 256 個符號。
GB2312(1980年)
7445個字符,包括6763個漢字和682個其它符號。
GBK(中文最常用的)
GB2312 支持的漢字太少。GBK 27484個漢字,手機(jī)、MP3一般只支持GB2312。
Unicode萬國碼
可以代表所有字符和符號的編碼Unicode(統(tǒng)一碼、萬國碼、單一碼)所有的字符統(tǒng)一1字符2字節(jié)16個比特位 即:2 **16 = 65536
2.x版本報錯:ascii碼無法表示中文
#-*- coding: utf-8 -*-3.x版本默認(rèn)Unicode
UTF-8
UTF-8,是對Unicode編碼的壓縮和優(yōu)化,他不再使用最少使用2個字節(jié),而是將所有的字符和符號進(jìn)行分類:ascii碼中的內(nèi)容用1個字節(jié)保存、歐洲的字符用2個字節(jié)保存,東亞的字符用3個字節(jié)保存
注釋
單行注視:
# 被注釋內(nèi)容多行注釋:
""" 被注釋內(nèi)容 """用戶輸入
input/raw_input
#name = raw_input("What is your name?") #only on python 2.x #input讀入數(shù)據(jù)位str格式 name = input("What is your name?")getpass(在pycharm中不好使)
#輸入密碼時,如果想要不可見,需要利用getpass 模塊中的 getpass方法,即: import getpass # 將用戶輸入的內(nèi)容賦值給 name 變量 pwd = getpass.getpass("請輸入密碼:")數(shù)據(jù)類型
數(shù)字
int(整型)
在32位機(jī)器上,整數(shù)的位數(shù)為32位,取值范圍為-231~231-1,即-2147483648~2147483647
在64位系統(tǒng)上,整數(shù)的位數(shù)為64位,取值范圍為-263~263-1,即-9223372036854775808~9223372036854775807
long(長整型)
Python沒有限制長整數(shù)數(shù)值的大小,但實(shí)際上由于機(jī)器內(nèi)存有限,我們使用的長整數(shù)數(shù)值不可能無限大。
注意,自從Python2.2起,如果整數(shù)發(fā)生溢出,Python會自動將整數(shù)數(shù)據(jù)轉(zhuǎn)換為長整數(shù),所以如今在長整數(shù)數(shù)據(jù)后面不加字母L也不會導(dǎo)致嚴(yán)重后果了。
Python3沒有l(wèi)ong的概念,統(tǒng)一為int
float(浮點(diǎn)型)
浮點(diǎn)數(shù)用來處理實(shí)數(shù),即帶有小數(shù)的數(shù)字。類似于C語言中的double類型,占8個字節(jié)(64位),其中52位表示底,11位表示指數(shù),剩下的一位表示符號。
complex(復(fù)數(shù))
復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分組成,一般形式為x+yj,其中的x是復(fù)數(shù)的實(shí)數(shù)部分,y是復(fù)數(shù)的虛數(shù)部分,這里的x和y都是實(shí)數(shù)。
注:Python中存在小數(shù)字池:-5 ~ 257
布爾值
| True | FALSE |
| 非0 | 0 |
| 非空 | 空 |
字符串
列表
元祖
運(yùn)算符
算數(shù)運(yùn)算:
假設(shè)變量a=10和變量b=20
| + | 加法 | a + b = 30 |
| - | 減法 | a - b = -10 |
| * | 乘法 | a * b = 200 |
| / | 除 | b / a = 2 |
| % | 模(取余) | b % a = 0 |
| ** | 指數(shù) | a**b = 10的20次冪 |
| // | 地板除(結(jié)果是將小數(shù)點(diǎn)后的位數(shù)被除去的商,取掙) | 9//2 = 4 而 9.0//2.0 = 4.0 |
比較運(yùn)算:
==|!=|<>|>|<|>=|<=
-|
賦值運(yùn)算:
=|+=|-=|*=|/=|%=|**|//|
-|
位運(yùn)算符:
位運(yùn)算符作用于位和位操作執(zhí)行位。假設(shè),如果a =60;且b =13;現(xiàn)在以二進(jìn)制格式它們將如下:
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 |
| ~ | 按位翻轉(zhuǎn) | (~a ) = -61 即 1100 0011以2的補(bǔ)碼形式由于帶符號二進(jìn)制數(shù)。 |
| << | 左移運(yùn)算符 | a << 2 = 240 即 1111 0000 |
| >> | 右移動運(yùn)算符 | a >> 2 = 15 即 0000 1111 |
面試題
1、判斷一個數(shù)是否是2的N次方題目要求:用一個表達(dá)式,判斷一個數(shù)X是否是2的N次方,即2,4,8,16……等,要求不可以用循環(huán)語句。解析:2,4,8,16這樣的數(shù)轉(zhuǎn)化成二進(jìn)制是10,100,1000,10000。如果X減去1后(低一位并且二進(jìn)制的每一位都是1),這個數(shù)與X做與運(yùn)算,答案若是0,則X是2的N次方。2、兩個數(shù)的交換題目要求:將a,b兩個數(shù)的值進(jìn)行交換,并且不使用任何的中間變量。解法1:a = a+b;b = a-b;a = a-b;解法2:采用異或位運(yùn)算。異或運(yùn)算:相同為0,相異為1。a = a^b;//a變?yōu)橐粋€相同為0,相異為1的結(jié)果b = a^b;//該結(jié)果和b做運(yùn)算,得到原來的aa = a^b;//該結(jié)果和a做運(yùn)算,得到原來的b學(xué)習(xí)資料
http://python.jobbole.com/85168/
邏輯運(yùn)算:
運(yùn)算符|描述|示例
-|
and |與運(yùn)算符。如果兩個操作數(shù)都是真的,那么則條件成立。|(a and b) 為 true.
or |或運(yùn)算符。如果有兩個操作數(shù)都是非零然后再條件變?yōu)檎妗(a or b) 為 true.
not |非運(yùn)算符。用于反轉(zhuǎn)操作數(shù)的邏輯狀態(tài)。如果一個條件為真,則邏輯非運(yùn)算符將返回false。|not(a and b) 為 false.
成員運(yùn)算:
| in | 計算結(jié)果為true,如果它在指定找到變量的順序,否則false。 |
| not in | 計算結(jié)果為true,如果它不找到在指定的變量順序,否則為false。 |
運(yùn)算符優(yōu)先級
| ** | 冪(提高到指數(shù)) |
| ~ + - | 補(bǔ)碼,一元加號和減號(方法名的最后兩個+@和 - @) |
| * / % // | 乘,除,取模和地板除 |
| + - | 加法和減法 |
| >> << | 左,右按位轉(zhuǎn)移 |
| & | 位'AND' |
| ^ | 按位異'或'和定期或' |
| <= < > >= | 比較運(yùn)算符 |
| <> == != | 等式運(yùn)算符 |
| = %= /= //= -= += *= **= | 賦值運(yùn)算符 |
| is is not | 標(biāo)識運(yùn)算符 |
| in not in | 成員運(yùn)算符 |
| not or and | 邏輯運(yùn)算符 |
流程控制
if-else
if-elif-elif-else
for循環(huán)
for i in range(10):print(i ) a=[1,2,3,4] for item in a:print(item )while 條件:
continue用于退出當(dāng)前循環(huán),繼續(xù)下一次循環(huán)
break用于退出所有循環(huán)
三元運(yùn)算
condition ? true_part : false_part
判定條件?為真時的結(jié)果:為假時的結(jié)果
lambda表達(dá)式
m = lambda x,y,z: (x-y)*zprint m(3,1,2)#結(jié)果是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目錄下,所以自己寫的模塊調(diào)用記得加path,或放入上述目錄
轉(zhuǎn)載于:https://www.cnblogs.com/monkeyfx/p/6886464.html
總結(jié)
以上是生活随笔為你收集整理的02ython基础知识(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Activity之间传递bitmap,O
- 下一篇: java面试题,各大企业常见的java笔