python基础1(来自廖雪峰的官方网站)
轉義字符
為了簡化,Python還允許用r‘’表示‘’內部的字符串默認不轉義,eg.
多行
為了簡化,Python允許用’’’…’’'的格式表示多行內容
注意...是提示符,不是代碼的一部分。eg
print('''line1 line2 line3''')結果如下(說明加上三個引號后可以識別按鍵的enter):
line1 line2 line3布爾值
注意大小寫:True ,False
布爾值可以用and、oror和not運算。
空值
None 不表示 0
變量
變量本身類型不固定的語言就是動態語言,否則為靜態語言。python為動態語言。Java為靜態語言。
Python:
結果如下:
123 ABCJava:
int a = 123; // a是整數類型變量 a = "ABC"; // 錯誤:不能把字符串賦給整型變量除法
>>> 10 / 3 3.3333333333333335 >>> 10 // 3 3字符串
對于單個字符的編碼,Python提供了ord()函數獲取字符的整數表示,chr()函數把編碼轉換為對應的字符,eg
如果知道字符的整數編碼,還可以用十六進制這么寫str:
>>> '\u4e2d\u6587' '中文'在python中,字符串是以Unicode編碼(Unicode把所有語言都統一到一套編碼里,最常用的是用兩個字節表示一個字符)的,也即Python的字符串類型是str。如果要在網絡上傳輸,或者保存到磁盤上,就需要把str變為以字節為單位的bytes。
Python對bytes類型的數據用帶b前綴的單引號或雙引號表示:
x = b'ABC'bytes的每個字符都只占用一個字節。
以Unicode表示的str通過encode()方法可以編碼為指定的bytes,例如:
純英文的str可以用ASCII編碼為bytes,內容是一樣的,含有中文的str可以用UTF-8編碼為bytes。含有中文的str無法用ASCII編碼,因為中文編碼的范圍超過了ASCII編碼的范圍,Python會報錯。
反過來,如果我們從網絡或磁盤上讀取了字節流,那么讀到的數據就是bytes。要把bytes變為str,就需要用decode()方法:
要計算str包含多少個字符,可以用len()函數:
>>> len('ABC') 3 >>> len('中文') 2len()函數計算的是str的字符數,如果換成bytes,len()函數就計算字節數:
>>> len(b'ABC') 3 >>> len(b'\xe4\xb8\xad\xe6\x96\x87') 6 >>> len('中文'.encode('utf-8')) 6由于Python源代碼也是一個文本文件,所以,當你的源代碼中包含中文的時候,在保存源代碼時,就需要務必指定保存為UTF-8編碼。當Python解釋器讀取源代碼時,為了讓它按UTF-8編碼讀取,我們通常在文件開頭寫上這兩行:
#!/usr/bin/env python3 # -*- coding: utf-8 -*-第一行注釋是為了告訴Linux/OS X系統,這是一個Python可執行程序,Windows系統會忽略這個注釋;
第二行注釋是為了告訴Python解釋器,按照UTF-8編碼讀取源代碼,否則,你在源代碼中寫的中文輸出可能會有亂碼。
申明了UTF-8編碼并不意味著你的.py文件就是UTF-8編碼的,必須并且要確保文本編輯器正在使用UTF-8 without BOM編碼。
格式化
在Python中,采用的格式化方式和C語言是一致的,用%實現,舉例如下:
eg
print('%2d-%02d' % (3, 1)) print('%.2f' % 3.1415926)結果如下:
3-01 3.14有些時候,字符串里面的%是一個普通字符怎么辦?這個時候就需要轉義,用%%來表示一個%:
>>> 'growth rate: %d %%' % 7 'growth rate: 7 %'總結
以上是生活随笔為你收集整理的python基础1(来自廖雪峰的官方网站)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dB单位
- 下一篇: python基础2(来自廖雪峰的官方网站