人生苦短,我用Python
Python標識符
Python有五個標準的數據類型
- Numbers(數字)
- String(字符串)
- List(列表)
- Tuple(元組)
- Dictionary(字典)
萬丈高樓平地起,這五個標準的數據類型講貫穿於整個Python
Python支持四種不同的數字類型:
- int(有符號整型)
- long(長整型[也可以代表八進制和十六進制])
- float(浮點型)
- complex(複數
python的字串列表有2種取值順序:
- 從左到右索引默認0開始的,最大範圍是字符串長度少1
- 從右到左索引默認-1開始的,最大範圍是字符串開頭
List(列表) 是 Python 中使用最頻繁的數據類型。
- 列表可以完成大多數集合類的數據結構實現。它支持字符,數字,字符串甚至可以包含列表(即嵌套)。
- 列表用 [ ] 標識,是 python 最通用的複合數據類型。
- 列表中值的切割也可以用到變量 [頭下標:尾下標] ,就可以截取相應的列表,從左到右索引默認 0 開始,從右到左索引默認 -1 開始,下標可以為空表示取到頭或尾。
- 加號 + 是列表連接運算符,星號 * 是重複操作。
元組是另一個數據類型,類似於List(列表)。
- 元組用"()"標識。內部元素用逗號隔開。但是元組不能二次賦值,相當於只讀列表。
字典(dictionary)是除列表以外python之中最靈活的內置數據結構類型。
- 列表是有序的對象結合,字典是無序的對象集合。兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。
- 字典用"{ }"標識。字典由索引(key)和它對應的值value組成。
Python數據類型轉換
Python 運算符
python比較運算符
以下假設變量a為10,變量b為20:
Python賦值運算符
以下假設變量a為10,變量b為20:
Python位運算符
下表中變量 a 為 60,b 為 13,二進制格式如下:
Python邏輯運算符
Python成員運算符
除了以上的一些運算符之外,Python還支持成員運算符,測試實例中包含了一系列的成員,包括字符串,列表或元組。
Python身份運算符
身份運算符用於比較兩個對象的存儲單元
注:is 與 == 區別:
is 用於判斷兩個變量引用對象是否為同一個, == 用於判斷引用變量的值是否相等。
Python 循環語句
Python提供了for循環和while循環(在Python中沒有do..while循環):
Python Number(數字)
Python 支持四種不同的數值類型:
Python數學函數
隨機函數
隨機數可以用於數學,遊戲,安全等領域中,還經常被嵌入到算法中,用以提高算法效率,並提高程序的安全性。
Python包含以下常用隨機數函數:
Python三角函數
Python包括以下三角函數:
Python數字常量
Python字符串
Python轉義字符:
在需要在字符中使用特殊字符時,python用反斜槓()轉義字符。如下表:
Python字符串運算符:
下表實例變量 a 值為字符串 "Hello",b 變量值為 "Python":
Python字符串格式化
Python列表
Python包含以下函數:
Python包含以下方法:
Python元組
Python的元組(tuple)與列表類似,不同之處在於元組的元素不能修改。
元組使用小括號,列表使用方括號。
元組內置函數:
Python元組包含了以下內置函數
Python字典
字典是另一種可變容器模型,且可存儲任意類型對象。
字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中
字典內置函數及方法:
Python字典包含了以下內置函數:
Python字典包含了以下內置方法:
匿名函數lambda
python 使用 lambda 來創建匿名函數。
如:
<code>sum = lambda arg1, arg2: arg1 + arg2;print "相加後的值為 : ", sum( 10, 20 ) //輸出30/<code>
python import語句
Python文件操作
不同模式打開文件的完全列表:
- File對象的屬性
一個文件被打開後,你有一個file對象,你可以得到有關該文件的各種信息。
以下是和file對象相關的所有屬性的列表:
Python File(文件)方法
file 對象使用 open 函數來創建,下表列出了 file 對象常用的函數:
序號方法及描述1
file.close()
關閉文件。關閉後文件不能再進行讀寫操作。
2
file.flush()
刷新文件內部緩衝,直接把內部緩衝區的數據立刻寫入文件, 而不是被動的等待輸出緩衝區寫入。
3
file.fileno()
返回一個整型的文件描述符(file descriptor FD 整型), 可以用在如os模塊的read方法等一些底層操作上。
4
file.isatty()
如果文件連接到一個終端設備返回 True,否則返回 False。
5
file.next()
返回文件下一行。
6
file.read([size])
從文件讀取指定的字節數,如果未給定或為負則讀取所有。
7
file.readline([size])
讀取整行,包括 " " 字符。
8
file.readlines([sizehint])
讀取所有行並返回列表,若給定sizeint>0,返回總和大約為sizeint字節的行, 實際讀取值可能比sizhint較大, 因為需要填充緩衝區。
9
file.seek(offset[, whence])
設置文件當前位置
10
file.tell()
返回文件當前位置。
11
file.truncate([size])
截取文件,截取的字節通過size指定,默認為當前文件位置。
12
file.write(str)
將字符串寫入文件,沒有返回值。
13
file.writelines(sequence)
向文件寫入一個序列字符串列表,如果需要換行則要自己加入每行的換行符。
Python內置函數
目前,客觀來說,由於Python是一門靈活性強,擴展性好,多功能又能勝任機器學習和數據分析工作的編程語言,因此在就業市場上,Python的身影似乎更加火辣,在各項排行榜上排位也更靠前。
但如果你是對統計數據、數據可視化、數據操作、概率論等深入點感興趣,並且不涉及軟件開發,你可以選擇R來完成你的工作。
當然啦,一個系統不一定能解決你所有的問題。傳說中的「左手Python, 右手R」可不是開玩笑的。
數據科學領域裡有很多互通的部分。R和Python之間有很多互相啟發的地方,如Python的pandas包中Dataframe受到R中dataframe的影響,rvest包則來自BeautifulSoup的啟發。
兩者的生態系統都在不斷髮展壯大,同時學會Python和R這兩把刷子才是走遍天下無敵手的王道啊
閱讀更多 米蘭老師 的文章