1. 變量賦值
>>> a = 1 >>> b = a >>> a = 2 >>> b 1
那可以看出來,b賦值爲a時,並沒有因爲a的改變而跟着改變,還是原來的值。這裏的原理就是:b在賦值a時,是在做一個將b指向a變量值所在的內存塊操作,所以當a變量更改值時,a變量會在內存中新開闢一個地址塊存儲新值,並不影響b變量的內存指向
2. 簡潔的賦值
鏈式賦值
a=b=1
多個變量同時賦值
user,passwd='jack', 'xxxx'
3. python 2.x的input函數
在python 2.x中input函數接受的值是要求有類型的,例如說,字符串類型就需要加引號,不加引號的則被視爲變量
4. python中常量設置
常量概念:不能被改變的;
python中沒有常量的概念,如果你需要設置一個不被改變的,可以通過全部大寫的變量警示看代碼的,這個變量是不可改變的。
5. 導入模塊方法
import os #導入os模塊 from os import os.path #僅導入os模塊中的os.path方法
6. pyc是什麼,什麼時候回產生pyc文件
6.1 pyc是解釋性語言的字節碼文件,可以供解釋器讀懂.
6.2 這裏說明下,pyc並不是所有時候都會出現,只有當這個py文件作爲模塊(也就是被其它的py程序import導入)導入情況下會出現。
6.3 解釋器最終執行的是Pyc文件,而不是py文件。
6.4 import某個py文件導入後,生成了pyc文件,這時更改了這個py文件,pyc文件會根據修改時間不同去從新在py文件生成Pyc
7. python 3.x中已取消了長整型類型
8.
應避免以下字符串拼接,這樣會將name變量單獨開闢內存空間,消耗不必要內存
name = 'jack' print('name is '+name)
將字符串拼接寫法改爲格式化字符串寫法:
name = 'jack' print('name is %s' % name)
9. 列表中分片
>>> name = ['jack', 'eason', 'tony', 'john', 'python'] >>> name[0:2] ['jack', 'eason'] #列表分片包含頭不包含尾 >>> name[2:] ['tony', 'john', 'python'] #如果要輸出到最後一個元素,分片結尾索引不寫
10. 列表中的怎刪改查
name = ['jack', 'eason', 'tony', 'john', 'python'] # 增 name.insert(2, 'xxx') #在列表索引2位置上,插入元素值爲‘xxx’ name.append('xxx') # 在列表最後追加一個元素值爲'xxx' # 刪 name.remove('xxx') # 刪除元素'xxx' name.pop(2) # 刪除索引位置2元素 del name[2:4] # 刪除2到4的元素(分片刪除發,同樣是包含頭不包含尾) # 改 name[1] = 'xxx' # 將索引位置1的值改爲‘xxx’ # 查 name.index('xxx') # 查找匹配到'xxx'的第一個元素的索引位置
11. 深複製與淺複製
# 淺複製 >>> num = [1,2,3,[1,3,5]] >>> num2 = num.copy() # 將num列表複製給num2 >>> num[0] = 0 >>> num [0, 2, 3, [1, 3, 5]] >>> num2 [1, 2, 3, [1, 3, 5]] # num發生該變,num2不改變 >>> num [0, 2, 3, [1, 6, 5]] >>> num2 [1, 2, 3, [1, 6, 5]] # num的嵌套列表該變,num2纔會該變
淺複製中,嵌套的列表在淺複製中並不是直接複製過來,而是複製了一條地址的指向,所以當num的嵌套列表發生該變,num2則會跟着該變,如果需要嵌套列表完全深層複製過來,可以使用深複製。
# 深複製 >>> num = [1,2,3,[1,3,5]] >>> import copy >>> num2 = copy.deepcopy(num) >>> num [3][1] = 6 >>> num [1, 2, 3, [1, 6, 5]] >>> num2 [1, 2, 3, [1, 3, 5]]
延伸:淺複製和鏈式列表賦值有區別的
>>> num = num2 = [1,2,3,[1,3,5]] >>> num2[0] = 6 >>> num [6, 2, 3, [1, 3, 5]] # 可以看出這樣鏈式賦值,並沒有起到複製作用,反而是一個像linux中文件的‘硬鏈接’作用,當任何一個更改都被更改
12. 字符串的一些方法
# 去除首尾空格 name = ' jack ' name.strip() # 字符串分割成序列 >>> '1+2+3+4+5'.split('+') ['1', '2', '3', '4', '5'] # 序列組成字符串 >>> dir = ['', 'usr', 'bin', 'env'] >>> '/'.join(dir) '/usr/bin/env' # 字符串格式化方法 >>> msg = 'hello, {name}' >>> print(msg.format(name='alex')) hello, alex >>> msg = 'hello, {0}, {1}' >>> print(msg.format('alex', 'jack')) hello, alex, jack # 格式化輸出字符串 >>> name = 'eason' >>> print(name.center(40,'-')) # 打印name,共佔用40個字符位置,空白處使用‘-’填充 -----------------eason------------------
13. 字典的一些方法
# 獲取某個Key對應值 dic.get(key) #區別於dic[key]這樣取值,如果key不存在,get方法返回None,而dic[key]則會報錯 # 獲取所有key值 dic.keys() # 獲取所有value值 dic.values() # 刪除字典某一項 del dic[xxx][xxx] dic.pop(key) # 設置key的默認值 dic.setdefault(key, values) # 取dic的key值,如果不存在,則默認創建一個key,默認值是values