Studing Day2,studingday2
11.30
一、模組
sys 模組
sys.path是python的搜尋模組的路徑集,是一個list
sys.argb是列印相對路徑
os模組
os.system(“dir”)
a = os.system("dir") # 調用是直接輸出到螢幕上,並不會儲存下來
print('-->', a) # 輸出0,代表執行成功
os.mkdir("new_dir") # 在目前的目錄建立目錄
建立模組
二、資料類型
1、數字
① int(整型)
python2.x中有長整型,python3.x中全部是整型int
在32位機器上,整數的位元為32位
取值範圍為-2**31~2**31-1,
即-2147483648~2147483647
在64位系統上,整數的位元為64位,
取值範圍為-2**63~2**63
即-9223372036854775808~9223372036854775807
② long(長整型)
跟C語言不同,Python的長整數沒有指定位寬,即
Python沒有限制長整數數值的大小,但實際上由於機器記憶體有限,我們使用的長整數數值不可能無限大。
注意,自從Python2.2起,如果整數發生溢出,Python會自動將整數資料轉換為長整數,所以如今在長整數資料後面不加字母L也不會導致嚴重後果了。
③ float(浮點型)
浮點數用來處理實數,即帶有小數的數字。類似於C語言中的double類型,佔8個位元組(64位),其中52位表示底,11位表示指數,剩下的一位表示符號。
浮點的表示形式是小數,但是浮點不僅僅是小數。
④ complex(複數)
複數由實數部分和虛數部分組成,一般形式為x+yj,其中的x是複數的實數部分,y是複數的虛數部分,這裡的x和y都是實數。
註:Python中存在小數字池:-5 ~ 257
2、布爾值
真(Ture)或假(False) 1或0
3、字串
例:”hello world”
字串拼接
python中的字串在C語言中體現為是一個字元數組,每次建立字串時候需要在記憶體中開闢一塊連續的空,並且一旦需要修改字串的話,就需要再次開闢空間,萬惡的+號每出現一次就會在內從中重新開闢一塊空間。
字串格式化輸出
PS: 字串是 %s;整數 %d;浮點數%f
移除空白、分割、長度、索引、切片
4、列表
建立列表:
name_list = [‘hobby’,’it’,’eric’]或者
name_list = list([‘hobby’,’it’,’eric’])
基本操作:
索引、切片、追加、刪除、長度、迴圈、包含
5、元組(不可變列表)
建立元祖:
ages = (11,12,13,33,44,55)或
ages = tuple((11,22,33,44,55)
6、字典(無序)
建立字典:
person = {“name”:”hobby”,”age”:18}或者
person = dict ({“name”:”hobby”,”age”:18})
常用操作:
索引、新增、刪除、(鍵、值、索引值對)、迴圈、長度
三、資料運算
算數運算
運算子 |
描述 |
執行個體 |
+ |
加:兩個對象相加 |
a + b 輸出結果300 |
- |
減:得到負數或是一個數減去另一個數 |
a–b 輸出結果-100 |
* |
乘:兩個數相乘或是返回一個被重複若干次的字串 |
a * b 輸出結果 200 |
/ |
除:x除以y |
b /a 輸出結果 2 |
% |
模數:返回除法的餘數 |
b % a 輸出結果 0 |
** |
冪:返回x的y次冪 |
a**b 輸出結果10000 |
// |
取整除:返回商的整數部分 |
9//2 輸出結果4 9.0//2.0 輸出結果4.0 |
比較運算
運算子 |
描述 |
執行個體 |
== |
等於:比較對象是否相等 |
(a == b) 返回Fals |
!= |
不等於:比較兩個對象是否不相等 |
(a != b) 返回True |
<> |
不等於:比較兩個對象是否不相等 |
(a<>b) 返回True |
> |
大於:判斷x是否大於y |
(a > b) 返回Fals |
< |
小於:判斷x是否小於y |
(a < b) 返回True |
>= |
大於等於:判斷x是否大於等於y |
(a >= b) 返回True |
<= |
小於等於:判斷x是否小於等於y |
(a <= b) 返回False |
賦值運算
運算子 |
描述 |
執行個體 |
= |
賦值運算子 |
c = a+b 將a+b的運算結果賦值給c |
+= |
加法賦值運算子 |
c += a等效於 c= c + a |
-= |
減法賦值運算子 |
c -= a等效於 c= c - a |
*= |
乘法賦值運算子 |
c *= a等效於 c= c * a |
/= |
除法賦值運算子 |
c /= a等效於 c= c/a |
%= |
模數賦值運算子 |
c %= a等效於 c= c %a |
**= |
冪值運算子 |
c **= a等效於 c= c ** a |
//= |
取整賦值運算子 |
c //= a等效於 c= c // a |
邏輯運算
運算子 |
描述 |
執行個體 |
and |
布爾“與”:如果a為False, a and b返回False,否則返回b的計算值 |
(a and b) 返回 true |
or |
布爾“或”:如果a為Ture, a and b返回Ture,否則返回b的計算值 |
(a or b) 返回 true |
not |
布爾“非”:如果a為Ture,返回False,如果a為“False”,則返回True |
not(a and b) 返回false |
成員運算
運算子 |
描述 |
執行個體 |
in |
如果在指定的序列中找到值,返回True,否則返回False |
x 在 y 序列中,如果x 在y 序列中返回true |
not in |
如果在指定的序列中沒有找到值,返回True,否則返回False |
x 不在 y 序列中,如果x 不在y序列中返回Ture |
身份運算
運算子 |
描述 |
執行個體 |
is |
判斷兩個標識符是不是引用自一個對象 |
x is y 如果id(x)等於id(y),is 返回結果1 |
is not |
判斷兩個標識符是不是引用自不同對象 |
x is not y 如果id(x)不等於id(y),is not返回結果1 |
位元運算
運算子 |
描述 |
執行個體 |
& |
按位進行與運算 |
(a & b)輸出結果12 二進位解釋00001100 |
| |
按位進行或運算 |
(a | b)輸出結果62, 二進位解釋:00111101 |
^ |
按位進行異或運算 |
(a ^ b)輸出結果49, 二進位解釋:00110001 |
~ |
按位進行取反運算 |
(~a)輸出結果-61,二進位解釋:11000011,在一個有符號位元的補碼形式 |
<< |
左移動運算 |
a << 2 輸出結果240,二進位解釋11110000 |
>> |
右移動運算 |
a >> 2 輸出結果15 二進位解釋00001111 |
補碼,按位取反再加一,詳解見:http://blog.csdn.net/wenxinwukui234/article/details/42119265
運算子優先順序
** |
指數(最高優先順序) |
~ + - |
按位翻轉,一元加號和減號(最後兩個的方法名為 +@ 和-@) |
* / % // |
乘,除,模數和取整數 |
+ - |
加法減法 |
>> << |
右移,左移運算子 |
& |
位’AND’ |
^ | |
位元運算符 |
<= < > > = |
比較子 |
<> == != |
等於運算子 |
= %= /= //= -= += *= **= |
賦值運算子 |
is is not |
身份運算子 |
in not in |
成員運算子 |
not or and |
邏輯運算子 |
三元運算式
result = a if a <b else c
等價於
if a <b:
a = a
else:
a = c
如果a <b 返回a 否則返回c
四、bytes資料類型
python3 中文本總是Unicode,由str類型表示,二進位用bytes類型表示
python3 中文本總是Unicode,由str類型表示,二進位用bytes類型表示
bytes轉成二進位再轉回來
msg = “今天天氣特別好”
print
(msg.encode(encoding=“utf-8”).decode(encoding=”utf-8”))