1. #!/usr/bin/python 和#!/usr/bin/env python 含義python
大部分python文件的頭部都會寫上 #!/usr/bin/python 或者 #!/usr/bin/env ,這個語句主要和運行模式有關,linux
若是咱們用普通運行模式例如(linux) : python *.py 那麼這個語句在此運行模式下無效。若是想讓python程序像普通程序同樣運行,例如:./*.py (文件要有可執行權限chmod a+x *.py),這個語句就起做用了,他用來爲腳本語言指定解釋器,一般認爲用 #!/usr/bin/env python 要比 #!/usr/bin/python 更好,由於 python 解釋器有時並不安裝在默認路徑,例如在虛擬環境中。app
解釋:函數
#!/usr/bin/env python
這種寫法在你機器上安裝了多個版本的python的時候有意義,這樣聲明的時候,會去取你機器的 PATH 中指定的第一個 python 來執行你的腳本。若是這時候你又配置了虛擬環境的話,那麼這樣寫能夠保證腳本會使用你虛擬環境中的 python 來執行。
#!/usr/bin/python
表示寫死了就是要 /usr/bin/python 這個目錄下 python 來執行你的腳本。這樣寫程序的可移植性就差了,若是此路徑下python命令不存在就會報錯。
因此通常狀況仍是用第一種寫法。
2. 1字節=8比特
3. 變量命名規範
4. 全局變量與局部變量
5. 字典的key能夠是什麼類型
不可變數據均可以作爲key,如數字、字符串、元組等
6.ascii unicode utf-8 gbk之間的關係
7.下列代碼輸出結果是 」成長%是煩惱的」
1 s = "成長%%是煩%s的" 2 n = s %('惱') 3 print(n)
8.下列數據類型,是否可改,內部"k2"能改嗎,可改的話如何添加一個字符串。深淺拷貝區別?spa
("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44]) code
a=("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44]) blog
a[1][2]["k2"].append("string")coffeescript
淺拷貝只拷貝第一層ip
9. break continue pass 區別utf-8
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 '''