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
布爾值
| True | FALSE |
| 非0 | 0 |
| 非空 | 空 |
字符串
列表
元祖
運算符
算數運算:
假設變量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 |
面試題
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
判定條件?為真時的結果:為假時的結果
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基础知识(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Activity之间传递bitmap,O
- 下一篇: java面试题,各大企业常见的java笔