1. #!/usr/bin/python 和#!/usr/bin/env python 含義 大部分python文件的頭部都會寫上 #!/usr/bin/python 或者 #!/usr/bin/env ,這個語句主要和運行模式有關, 如果我們用普通運行模式例如(linux) : python *. ...
1. #!/usr/bin/python 和#!/usr/bin/env python 含義
大部分python文件的頭部都會寫上 #!/usr/bin/python 或者 #!/usr/bin/env ,這個語句主要和運行模式有關,
如果我們用普通運行模式例如(linux) : python *.py 那麼這個語句在此運行模式下無效。如果想讓python程式像普通程式一樣運行,例如:./*.py (文件要有可執行許可權chmod a+x *.py),這個語句就起作用了,他用來為腳本語言指定解釋器,通常認為用 #!/usr/bin/env python 要比 #!/usr/bin/python 更好,因為 python 解釋器有時並不安裝在預設路徑,例如在虛擬環境中。
解釋:
#!/usr/bin/env python
這種寫法在你機器上安裝了多個版本的python的時候有意義,這樣聲明的時候,會去取你機器的 PATH 中指定的第一個 python 來執行你的腳本。如果這時候你又配置了虛擬環境的話,那麼這樣寫可以保證腳本會使用你虛擬環境中的 python 來執行。
#!/usr/bin/python
表示寫死了就是要 /usr/bin/python 這個目錄下 python 來執行你的腳本。這樣寫程式的可移植性就差了,如果此路徑下python命令不存在就會報錯。
所以一般情況還是用第一種寫法。
2. 1位元組=8比特
3. 變數命名規範
- 變數名只能是 字母、數字或下劃線的任意組合
- 變數名的第一個字元不能是數字
- 以下關鍵字不能聲明為變數名
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
4. 全局變數與局部變數
5. 字典的key可以是什麼類型
不可變數據都可以做為key,如數字、字元串、元組等
6.ascii unicode utf-8 gbk之間的關係
7.下列代碼輸出結果是 ”成長%是煩惱的”
1 s = "成長%%是煩%s的" 2 n = s %('惱') 3 print(n)
8.下列數據類型,是否可改,內部"k2"能改嗎,可改的話如何添加一個字元串。深淺拷貝區別?
("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
a=("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
a[1][2]["k2"].append("string")
淺拷貝只拷貝第一層
9. break continue pass 區別
10.求差集 s.difference(t)
11.lambda 匿名函數
12.下列代碼運行結果 None, 函數沒有返回值,預設返回None.
1 def func(arg): 2 arg.append(55) 3 4 li = [11, 22, 33, 44] 5 li = func(li) 6 print(li)
13.使用while迴圈實現輸出1 - 2 + 3 - 4 + 5 ... - 100 的和,答案-50
想出了三種方法:
1 #-------------------方法1:取模------------------------------- 2 3 s=0 4 i=1 5 while(i<101): 6 if(i%2==1): 7 s=s+i 8 else: 9 s=s-i 10 i=i+1 11 print(s) 12 13 #---------------------方法2:指數函數---------------------------- 14 15 s=0 16 i=1 17 while(i<101): 18 s=s+pow(-1,i+1)*i 19 i=i+1 20 print(s) 21 22 #----------------------方法3:變數變符號--------------------------- 23 s=0 24 i=1 25 j=1 26 while(i<101): 27 s=s+i*j 28 i=i+1 29 j=-j 30 print(s) 31 -
14.列印1-100既能被3整除又能被5整除的數
1 for i in range(1,101): 2 if(i%3==0 and i%5==0): 3 print(i) 4 5 ''' 6 答案: 7 15 8 30 9 45 10 60 11 75 12 90 13 '''