Studing Day2 - python基礎2
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 = “今天天氣特別好”
(msg.encode(encoding=“utf-8”).decode(encoding=”utf-8”))
Studing Day2 - python基礎2