摘要:你好,特別注意定義編碼格式的這一行代碼必須放在第一行或者第二行,一般如果第一行是提示位置的代碼,那么定義編碼格式的這一行就必須放在第二行,否則依然會提示錯誤。基本功能是進行成員關系測試和刪除重復元素。
一、Hello,Python!
試水 test.py
print "你好,Python!" #python 2.x python ("你好,Python!") #python 3.x
很不幸,第一個test.py就遇到了字符錯誤!
nodedeMacBook-Pro:pytest node$ python ./test.py File "./test.py", line 1 SyntaxError: Non-ASCII character "xef" in file ./test.py on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
解決方案:在以后的每一個需要顯示漢字的python文件中, 可以采用如下方法在 #!/usr/bin/python的下一行加上一句話來定義編碼格式,以utf-8編碼為例。
#!/usr/bin/python #coding:utf-8 1??| #-*-coding:utf-8 -*- 2??| #vim: set fileencoding:utf-8 3?? print "你好,Python!"
***特別注意:定義編碼格式的這一行代碼必須放在第一行或者第二行, 一般如果第一行是提示python位置的代碼, 那么定義編碼格式的這一行就必須放在第二行,否則依然會提示錯誤。
轉自:https://www.cnblogs.com/Karry...
js代碼塊一般使用{}包裹,Python則是使用縮進,但是所有代碼塊語句必須包含相同的縮進空白數量
多行語句# 使用斜杠( )將一行的語句分為多行顯示 total = item_one + item_two + item_three # 語句中包含 [], {} 或 () 括號就不需要使用多行連接符 days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]引號
Python 可以使用引號( " )、雙引號( " )、三引號( """ 或 """ ) 來表示字符串,其中三引號可以由多行組成,編寫多行文本的快捷語法,常用于文檔字符串(類似js的模板字符串"``"),在文件的特定地點,被當做注釋。
word = "word" sentence = "這是一個句子。" paragraph = """這是一個段落。 包含了多個語句"""注釋
python中單行注釋采用 # 開頭。多行注釋使用三個單引號(""")或三個雙引號(""")。
同一行顯示多條語句Python可以在同一行中使用多條語句,語句之間使用分號(;)分割
import sys; x = "runoob"; sys.stdout.write(x + " ")輸出
print 默認輸出是換行的,如果要實現不換行需要在變量末尾加上逗號 ,
#!/usr/bin/python # -*- coding: UTF-8 -*- x="a" y="b" # 換行輸出 print x print y print "---------" # 不換行輸出 print x, print y, # 不換行輸出 print x,y
結果
a b --------- a b a b多個語句構成代碼組
縮進相同的一組語句構成一個代碼塊,我們稱之代碼組。
import 與 from...import類似 js 的import
# python import sys #導入 sys 模塊 from sys import argv,path #導入 sys 模塊的 argv,path 成員 from sys import #導入 sys 模塊的所有成員 # js import sys from sys import sys as _sys from sys import { argv,path } from sys三、變量類型 變量聲明和賦值
Python 中的變量賦值不需要類型聲明,但是必須先賦值
每個變量在內存中創建,都包括變量的標識,名稱和數據這些信息。
每個變量在使用前都必須賦值,變量賦值以后該變量才會被創建。
等號(=)用來給變量賦值。
等號(=)運算符左邊是一個變量名,等號(=)運算符右邊是存儲在變量中的值。
counter = 100 # 賦值整型變量 miles = 1000.0 # 浮點型 name = "John" # 字符串
多個變量賦值
# Python允許你同時為多個變量賦值 a = b = c = 1 # 也可以為多個對象指定多個變量 a, b, c = 1, 2, "john"標準數據類型
Python2.x有五個標準的數據類型,Python3.x新增一個數據類型:
Numbers(數字)數字數據類型用于存儲數值。Python支持四種不同的數字類型:int(有符號整型)、long(長整型[也可以代表八進制和十六進制],long 類型只存在于 Python2.X 版本中,在 2.2 以后的版本中,int 類型數據溢出后會自動轉為long類型。在 Python3.X 版本中 long 類型被移除,使用 int 替代)、float(浮點型)、complex(復數)
創建Number對象var1 = 1;var2 = 10
通過使用del語句刪除單個或多個對象的引用del var; del var_a, var_b
數值的除法包含兩個運算符:/ 返回一個浮點數,// 返回一個整數 10 // 3結果為 3
在混合計算時,Python會把整型轉換成為浮點數 18 / 6 +2結果為 5.0
String(字符串),字符串或串(String)是由數字、字母、下劃線組成的一串字符
從字符串中獲取一段子字符串的話,可以使用 [頭下標:尾下標] 來截取相應的字符串,其中下標是從 0 開始算起,可以是正數或負數,下標可以為空表示取到頭或尾。
str = "Hello World!" print str # 輸出完整字符串 print str[0] # 輸出字符串中的第一個字符 print str[2:5] # 輸出字符串中第三個至第六個之間的字符串 print str[2:] # 輸出從第三個字符開始的字符串 print str * 2 # 輸出字符串兩次 print str + "TEST" # 輸出連接的字符串result:
Hello World! H llo llo World! Hello World!Hello World! Hello World!TESTPython 列表截取可以接收第三個參數,參數作用是截取的步長
>>> str = "abcdefg" >>> str[1:4:2] "bd" >>> str[1:4:3] "b" >>> str[1:4:1] "bcd" >>> str[1:6:2] "bdf" >>> str[1:6:1] "bcdef"綜上述實驗,我認為這樣理解比較合適,第二參數默認為字符串的長度-1,作用為規定字符串截取的截止位置;第三個參數默認為1,作用為跳過n-1個字符,n-1為0即參數為1時步長為0
List(列表) ,列表用 [ ] 標識,是 python 最通用的復合數據類型(其實就類似于其他語言的數組)
列表中值的切割也可以用到變量 [頭下標:尾下標] ,就可以截取相應的列表,從左到右索引默認 0 開始,從右到左索引默認 -1 開始,下標可以為空表示取到頭或尾。
list = [ "runoob", 786 , 2.23, "john", 70.2 ] tinylist = [123, "john"] print list # 輸出完整列表 print list[0] # 輸出列表的第一個元素 print list[1:3] # 輸出第二個至第三個元素 print list[2:] # 輸出從第三個開始至列表末尾的所有元素 print tinylist * 2 # 輸出列表兩次 print list + tinylist # 打印組合的列表result:
["runoob", 786, 2.23, "john", 70.2] runoob [786, 2.23] [2.23, "john", 70.2] [123, "john", 123, "john"] ["runoob", 786, 2.23, "john", 70.2, 123, "john"]
Tuple(元組),元組是另一個數據類型,類似于 List(列表)。元組用 () 標識。內部元素用逗號隔開。但是元組不能二次賦值,相當于只讀列表。
tuple = ( "runoob", 786 , 2.23, "john", 70.2 ) tinytuple = (123, "john") print tuple # 輸出完整元組 print tuple[0] # 輸出元組的第一個元素 print tuple[1:3] # 輸出第二個至第四個(不包含)的元素 print tuple[2:] # 輸出從第三個開始至列表末尾的所有元素 print tinytuple * 2 # 輸出元組兩次 print tuple + tinytuple # 打印組合的元組result:
("runoob", 786, 2.23, "john", 70.2) runoob (786, 2.23) (2.23, "john", 70.2) (123, "john", 123, "john") ("runoob", 786, 2.23, "john", 70.2, 123, "john") # 注意元祖不可以修改 tuple = ( "runoob", 786 , 2.23, "john", 70.2 ) list = [ "runoob", 786 , 2.23, "john", 70.2 ] tuple[2] = 1000 # 元組中是非法應用 list[2] = 1000 # 列表中是合法應用
Dictionary(字典),字典(dictionary)是除列表以外python之中最靈活的內置數據結構類型。列表是有序的對象集合,字典是無序的對象集合。兩者之間的區別在于:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。字典用"{ }"標識。字典由索引(key)和它對應的值value組成。(說白了列表是數組,字典是對象)
dict = {} dict["one"] = "This is one" dict[2] = "This is two" tinydict = {"name": "john","code":6734, "dept": "sales"} print dict["one"] # 輸出鍵為"one" 的值 print dict[2] # 輸出鍵為 2 的值 print tinydict # 輸出完整的字典 print tinydict.keys() # 輸出所有鍵 print tinydict.values() # 輸出所有值result:
This is one This is two {"dept": "sales", "code": 6734, "name": "john"} ["dept", "code", "name"] ["sales", 6734, "john"]
Set(集合,Python3.x新增)集合(set)是由一個或數個形態各異的大小整體組成的,構成集合的事物或對象稱作元素或是成員。基本功能是進行成員關系測試和刪除重復元素。可以使用大括號 { } 或者 set() 函數創建集合,注意:創建一個空集合必須用 set() 而不是 { },因為 { } 是用來創建一個空字典。
數據類型轉換創建格式
# 第一種方式 parame = {value01,value02,...} parame = {} # 這種方式創建一個空字典而不是空集合 # 第二種方式 parame = set(value) parame = set() # 使用這種方式創建一個空集合實例
>>basket = {"apple", "orange", "apple", "pear", "orange", "banana"} >> print(basket) # 這里演示的是去重功能 {"orange", "banana", "pear", "apple"} >> "orange" in basket # 快速判斷元素是否在集合內 True >> "crabgrass" in basket False >> # 下面展示集合的基本操作 ··· >> student = {"Jackey", "Rose", "Jerrey", "Hans", "Tom"} >> student.add("Jack") # 添加(單個)元素,add >> student {"Jackey", "Rose", "Jerrey", "Hans", "Jack", "Tom"} >> student.update({"Lily","Jams"}) # 添加(多個)元素,update >> student {"Jams", "Jackey", "Rose", "Jerrey", "Hans", "Lily", "Jack", "Tom"} >> student.remove("Lily") # 移除(單個)元素,如果元素不存在,則會發生錯誤 {"Jams", "Jackey", "Rose", "Jerrey", "Hans", "Jack", "Tom"} >> student.discard("Tiffny") # 移除(單個)元素,如果元素不存在,不會發生錯誤 >> student {"Jams", "Jackey", "Rose", "Jerrey", "Hans", "Jack", "Tom"} >> # 計算集合的個數 >> len(student) 7 >> # 判斷元素是否在集合中存在 >> "Jackey" in student True >> "Nancy" in student False >> # 下面展示兩個集合間的運算. ... >> a = set("abracadabra") >> b = set("alacazam") >> a {"a", "r", "b", "c", "d"} >> a - b # 集合a中包含而集合b中不包含的元素 {"r", "d", "b"} >> a | b # 集合a或b中包含的所有元素 {"a", "c", "r", "d", "b", "m", "z", "l"} >> a & b # 集合a和b中都包含了的元素 {"a", "c"} >> a ^ b # 不同時包含于a和b的元素 {"r", "d", "b", "m", "z", "l"}
int(x [,base]),將x轉換為一個整數
long(x [,base] ),將x轉換為一個長整數
float(x),將x轉換到一個浮點數
complex(real [,imag]),創建一個復數
str(x),將對象 x 轉換為字符串
repr(x),將對象 x 轉換為表達式字符串
eval(str),用來計算在字符串中的有效Python表達式,并返回一個對象
tuple(s),將序列 s 轉換為一個元組
list(s),將序列 s 轉換為一個列表
set(s),轉換為可變集合
dict(d),創建一個字典。d 必須是一個序列 (key,value)元組。
frozenset(s),轉換為不可變集合
chr(x),將一個整數轉換為一個字符
unichr(x),將一個整數轉換為Unicode字符
ord(x),將一個字符轉換為它的整數值
hex(x),將一個整數轉換為一個十六進制字符串
oct(x),將一個整數轉換為一個八進制字符串
if condition_1: statement_block_1 elif condition_2: statement_block_2 else: statement_block_3五、循環語句 while 循環
可以使用 else 語句,在 while … else 在條件語句為 false 時執行 else 的語句塊
while 判斷條件: 語句 else: 語句 # 例子 count = 0 while count < 5: print (count, " 小于 5") count = count + 1 else: print (count, " 大于或等于 5")for 語句
for循環可以遍歷任何序列的項目,如一個列表或者一個字符串
forrange(x,y,z)函數in : else: # 例子 sites = ["Baidu", "Google","Runoob","Taobao"] for site in sites: if site == "Runoob": print("菜鳥教程!") break print("循環數據 " + site) else: print("沒有循環數據!") print("完成循環!")
如果你需要遍歷數字序列,可以使用內置range()函數。它會生成數列。x為初始值,y為結束值(可以不填),z為步長(可以不填),x,y,z均可以為負數
>>>for i in range(5,9) : print(i) # return 5 6 7 8 >>> >>>for i in range(0, 10, 3) : print(i) 0 3 6 9 >>>break和continue語句及循環中的else子句
break 語句可以跳出 for 和 while 的循環體。如果你從 for 或 while 循環中終止,任何對應的循環 else 塊將不執行;continue語句被用來告訴Python跳過當前循環塊中的剩余語句,然后繼續進行下一輪循環;循環語句可以有 else 子句,它在窮盡列表(以for循環)或條件變為 false (以while循環)導致循環終止時被執行,但循環被break終止時不執行。
pass 語句Python pass是空語句,是為了保持程序結構的完整性。
pass 不做任何事情,一般用做占位語句,如下實例
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/43903.html
摘要:起博主是電信行業的碼農,在工作單位也搞搞單元測試和了什么。目前對技術很感興趣,嘗試新的領域里面也試試看這次要用的方式要實現一個簡單畫圖板功能,支持和。配置文件里面主要就是一個對象,根據注釋提示調整下即可。 起 博主是電信行業的碼農,在工作單位也搞搞單元測試和TDD了什么。目前對Web技術很感興趣,嘗試新的領域里面也試試看TDD. 這次要用TDD的方式要實現一個簡單畫圖板功能,支持C...
摘要:相比較財報這個振奮人心的消息,筆者更關注聯想凌拓的成立。目前聯想凌拓主要面對的也還只是中國市場,未來聯想在全球范圍內與的合作空間會有多大尚未可知。開年以來,聯想可謂好事不斷,一掃去年被各路媒體口誅筆伐的陰霾。在聯想集團剛剛發布的2018/19財年第三季度財報中,集團營業額增至971億人民幣,稅前利潤也達到24.2億。其中,DCG業務(數據中心集團)營業額繼續保持雙位數增長,同比增速達到31%...
摘要:亞馬遜最近成為云原生計算基金會的新成員與它對谷歌啟動的這個容器項目實際貢獻的代碼不相稱。盡管早早進入了市場,儼然成了容器的代名詞,但谷歌的積聚的勢頭還是最猛,所有企業中將近表示,自己的容器編排戰略包括。 作者簡介:Matt Asay是IT外媒《InfoWorld》的長篇撰稿人,以前是名知識產權律師,目前是Adobe公司的移動副總裁。本文表達的觀點僅代表其本人,而不代表其雇主。亞馬遜最近成為云...
閱讀 3199·2021-11-10 11:36
閱讀 3145·2021-11-02 14:39
閱讀 1726·2021-09-26 10:11
閱讀 4929·2021-09-22 15:57
閱讀 1685·2021-09-09 11:36
閱讀 2053·2019-08-30 12:56
閱讀 3487·2019-08-30 11:17
閱讀 1702·2019-08-29 17:17