我的Python

學一些python:

1, 代碼中帶有中文的需要在頭部加上# coding=utf-8

2, python 創建變量不需要聲明變量類型, 直接賦值就可以了, 還可以 a, b, c = 1, 2, "henry";   這樣

3, 可以刪除一個創建的變量, 例如  a=100, del a;  此時a就不可以用了

4, 截取字符串,   s="henry",  s=s[1:3]  print(s)  輸出 en;  s[1] 則表示第2個字符,  s[1:] 則表示從第2 個開始以後所有的

5, List   類型是[1,2,3,4,5,"henry"] 這種方式創建,   tuple類型是(1,2,3,4,"henry") 這樣, 元組類型是不可以修改內部數據的, 

6, ** 是指數運算,   5**3  就相當於是5的3次方

7, / 和// 都是得到商, 但是/是得到真實的接過, // 是如果得到小數會向下取整;

8, python中沒有, !, &,|   變成了,  not, and, or

9, is  用於判斷兩個對象的地址是否相等

10, id 函數用於獲取對象的地址

11, 沒有else if  改成了elif,  沒有switch 語句

12, python 中的代碼塊是通過 空格或者tab 來確定的, 同樣的

13, 還有while  else 的寫法,  同理也有for  else  的寫法,  當循環正常結束, 而不是通過break 結束的時候會執行

14, 沒有for(i=0;i<10;i++) 這種寫法,   變成了  for i in range(0,10);   range()函數用於創建一個迭代序列, 從0到10, 包左不包右

15, 使用def 定義一個函數, def love(who):

print who;

16, 函數不可以重載, 後面的會直接覆蓋前面的

17, 在Python 中, 數字也成了, 不可變的了, 跟字符串一樣, 也就是說, a=10;   a=20,  調用a=10之後, 10的那個地址就被丟棄了, 然後創建了一個新的地址, 設置值爲20,   a1=10, b=10, a和b 指向的是同一塊內存, 所以a is b 是返回true 的

18, def  print(name, value)   print(value="huy",name="may") 這樣也是可以的

19, 跟c# 及ts 一樣都可以設置默認參數, def print(name="henry");

20, 可以聲明參數不定長的方法

21, 跟php 類似 局部使用全局變量可以使用global 關鍵字

22, 引入另一個文件, 可以用import  lib.  然後可以調用lib.love()  這樣;
23, 還可以 from lib import love.   之引入lib 模塊下的love 方法

24, 如果是要引用另一個文件夾裏面的代碼, 那個文件夾必須要有一個文件名叫做__init__.py的文件

25, 異常是try  except else

26, python的構造函數是, def __init__(self,...)

27,一個標準的python類

class Animal:
    name = ""

    def __init__(self, name):
        self.name = name;
        print "創建了一個對象"

    def eat(self, sth):
        print "i am" + self.name + "i eat " + sth;

28, 創建對象, 不需要用new  直接Animal("狗") 就好了

29, python的對象可以跟js 一樣自由的添加屬性, 也可以刪掉屬性用del,  但是刪除之後不可以訪問了, 直接報錯. js 是隻會得到undefined 而已

30, 析構函數def __del__(self):

31, 子類調用父類構造函數 

Animal.__init__(self,"狗");  #Animal 是父類

__開頭是是私有屬性, 不能直接訪問

_開頭的是protected 的屬性

32, 參數的強制類型轉換,   def  fun(arg:list);      意思就是arg 必須是list類型的

33, python3.7 安裝pyinstaller的方式, 首先是要在github上下載https://github.com/pyinstaller/pyinstaller

直接用pip install  pyinstaller  是沒有用的,   下載直接拷貝到本地, 在set_up.py  這個文件那裏  執行

pyhon  set_up.py   install  就好了.   如果出現pefile的問題, 那就 pip  install  pefile.  

34, 如果是引入一個文件的話, 就可以用from 文件 import *.

如果是引入一個包, 也就是一個單獨的文件夾的話, 就只能是from 包 import  文件

35, 一個函數如果返回的是一個是元組的話, 那麼可以這樣接收. 例如一個函數返回值是(1,2,3);

a,b,c= fun();  那麼a=1,b=2,c=3

36, request.urlopen()返回的對象是可以通過get("Content-Length") 獲取返回的長度.

37, 用python 下載ts視頻速度特別慢, 改用c#下載會快很多,  可以用python調用c#

通過 os.popen("命令")  這個方法可以獲取到真正有意義的返回值,  在c#中通過Console.Write("1")  輸出結果, 那麼前面的命令就可以接收這個結果.

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章