標籤:sci 輸入 深拷貝 空間 電腦 inpu else encode 修改
路徑和檔案名稱不要有中文
#!/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 = n1print(id(n2))# ## 淺拷貝 ##n2 = copy.copy(n1)print(id(n2)) # ## 深拷貝 ##n3 = copy.deepcopy(n1)print(id(n3))
二、其他基礎資料型別 (Elementary Data Type)
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基礎筆記