python基礎筆記
路徑和文件名不要有中文
#!/usr/bin/env python
#-*- coding:utf-8 -*- 2.7需要加此行。3.5不用
版本區別:
python3.5 print(‘hello,world‘) 默認utf-8 input("請輸入名字") utf-8轉換gbk: decode(‘‘utf8‘‘)先解碼成unicode,然後encode("gbk")
python2.7 print ‘hello,world‘ 默認ascii raw_input("請輸入名字:") utf-8轉換gbk:
單行註釋:# ; 多行註釋:‘‘‘ 很多行 ‘‘‘
.pyc文件:python在執行過程中:python-->字節碼-->機器碼-->計算機,這個.pyc就是字節碼文件,如果把py刪掉,pyc也可用
python中的賦值是賦值內存中的地址,a=6;b=a;如果a=7,b仍然是6,因為另外出了個空間裝7給a了
continue:跳出當前循環,繼續下次循環
break:跳出所有循環
查看對象有哪些方法:
方法1:print(type(temp)),先找到類,然後按住ctrl並在類上面單擊
方法2:help(type(temp)) 或dir(temp)
python2.7有的時候不顯示文字,而是現實十六進制,這時候需要編碼,b=a.decode(‘‘utf8‘‘) ;c=b.encode(‘gbk‘)或者x=str(y,encoding=‘utf-8‘)
修改自身與創建副本:
一般情況下,字符串的方法多數都是創建副本,list,tuple,dic多數都是修改自身
元組的元素雖然不能變,但tu=(1,2,[‘a‘,‘b‘])中的數組是可以變的,其實並不是元組的元素不可以變,只是說元組沒有相關的方法。
三元運算:name = 值1 if 條件 else 值2 //如果條件成立,name=值1,如果條件不成立,name=值2
深淺拷貝
一、數字和字符串
對於 數字 和 字符串 而言,賦值、淺拷貝和深拷貝無意義,因為其永遠指向同一個內存地址。
import copy # ######### 數字、字符串 ######### n1 = 123 # n1 = "i am alex age 10" print(id(n1)) # ## 賦值 ## n2 = n1 print(id(n2)) # ## 淺拷貝 ## n2 = copy.copy(n1) print(id(n2)) # ## 深拷貝 ## n3 = copy.deepcopy(n1) print(id(n3))
二、其他基本數據類型
1、賦值,只是創建一個變量,該變量指向原來內存地址,如:
n1 = {"k1": "wu", "k2": 123, "k3": ["alex", 456]} n2 = n1
2、淺拷貝
淺拷貝,在內存中只額外創建第一層數據
import copy n1 = {"k1": "wu", "k2": 123, "k3": ["alex", 456]} n3 = copy.copy(n1)
3、深拷貝
深拷貝,在內存中將所有的數據重新創建一份(除了最後一層,即:python內部對字符串和數字的優化)
import copy n1 = {"k1": "wu", "k2": 123, "k3": ["alex", 456]} n4 = copy.deepcopy(n1)
python基礎筆記