1.2 整型、浮點(diǎn)型和字符串?dāng)?shù)據(jù)類型
字符串用' '
1.3字符串連接和復(fù)制
>>>‘Alice’+‘Bob’
'AliceBob'
但不能讓字符串加上一個(gè)數(shù)字
字符串*數(shù)字 則會復(fù)制多次
>>>'Alice'*2
'AliceAlice'
注意 不能兩個(gè)字符串相乘。
1.4 在變量中保存值
1.4.1 賦值語句
? ?spam=42
變量名:
? ? 1.只能是一個(gè)單詞年柠。
? ? 2.只能包含字母,數(shù)字和下劃線顾复。
? ? 3.不能以數(shù)字開頭餐抢。
1.6.1注釋
? ? python會忽視一行中#以后的所有文本
1.6.2 print()函數(shù)
...
1.6.3 input()函數(shù)
求值為字符串。
1.6.5 len()函數(shù)
傳遞一個(gè)字符串 返回字符數(shù)宗收。
1.6.6 str()、int()和float()
str()傳入一個(gè)整型亚兄,并求值為他的字符串形式混稽。
>>>str(29)
'29'
>>>int('29)
29
>>>float('3.2')
3.2
>>>int('99.9') #error
2.1 布爾值
True和Flase
2.2 比較運(yùn)算符
== 等于 !=不等于 <小于? >大于 <=小于等于? >=大于等于
整型浮點(diǎn)型永遠(yuǎn)不會與字符串相等
另一方面 < > <= >= 操作符僅用于整型和浮點(diǎn)型。
2.3 布爾操作符
2.3.1 二元布爾操作符
? ? and 操作符 與 or 操作符 或...? ? ?
? ? not操作符 非?
2.4 混合布爾和比較操作符
...
2.5 控制流的元素
2.5.1 條件
...
2.5.2 代碼塊
1.縮進(jìn)增加時(shí)审胚,代碼塊開始匈勋。
2.代碼塊可以包含其他代碼塊。
3.縮進(jìn)減少為零膳叨,或減少為外面包圍代碼塊的縮進(jìn)洽洁,代碼塊就結(jié)束了。
2.7 控制流語句
2.7.1 if語句
1. if關(guān)鍵字菲嘴;
2.條件饿自;
3.冒號汰翠;
4.在下一行開始,縮進(jìn)的代碼塊(稱為if子句)昭雌;
2.7.2 else 語句
else :
2.7.3 elif 語句
elif 條件 :
2.7.4 while 循環(huán)語句
while 條件 :
? ? while子句
2.7.6 break 語句
2.7.7 continue語句
2.7.8 for 循環(huán)和range()函數(shù)
用于條件時(shí) 0 0.0 ‘ ’被認(rèn)為Flase 其他為 True
? ? for 變量名 in range()
range()第一個(gè)參數(shù)是for循環(huán)變量開始的值复唤,第二個(gè)參數(shù)是上限,但不包含它城豁,也就是循環(huán)停止得數(shù)字苟穆。
第三個(gè)參數(shù)是步長。步長是每次迭代后循環(huán)變量增加的值唱星。
>>>range(5)
range(0, 5) #http://www.runoob.com/python3/python3-func-range.html
2.8導(dǎo)入模塊
? ? import關(guān)鍵字 模塊的名稱
可選的更多模塊名稱雳旅,之間用逗號隔開。 import random
import語句的另一種形式包括from關(guān)鍵字间聊,之后是模塊名稱攒盈,import關(guān)鍵字和一個(gè)星號,例如 from random import *
使用這種形式的import語句哎榴,調(diào)用random模塊中的函數(shù)時(shí)不需要random.前綴型豁。
但是使用完整的名稱會使代碼更可讀,所以最好使用普通形式的import語句尚蝌。
2.9用sys.exit()提前結(jié)束程序
函數(shù)在sys中 必須先導(dǎo)入sys才能使用它迎变。
3.1 def語句和參數(shù)
def hello(name):
? ? print('hello'+name)
hello('Alice')
hello('Bob')
hello Alice
hello Bob
注意name在退出函數(shù)后會丟棄。
3.2 返回值和return語句
return語句包括以下部分:
? ? return 關(guān)鍵字飘言;
? ? 函數(shù)應(yīng)該返回的值或表達(dá)式衣形;
3.3? ? ?None 值????
? ? python中的None表示沒有值。None是NoneType數(shù)據(jù)類型的唯一值姿鸿。
? ? print()的返回值就是None
3.4 關(guān)鍵字參數(shù)和print()
print()函數(shù)自動在傳入的字符串末尾添加了換行符谆吴。但是可以使之end關(guān)鍵字參數(shù),將變成另一個(gè)字符串苛预。
print('hello',end='')
print('world')
helloworld
如果想print()傳入多個(gè)字符串值句狼,該函數(shù)就會自動用一個(gè)空格分割它們。
>>> print('hello','world')
hello world
但是你可以傳入sep關(guān)鍵字參數(shù)热某,替換掉默認(rèn)的分隔字符串腻菇。在交互式環(huán)境中輸入如下
>>> print('cats','dogs',sep=',')
cats,dogs
3.5 局部和全局作用域
????全局作用域中不能使用任何局部變量;
? ? 但是昔馋,局部作用域可以訪問全局變量芜繁;
? ? 一個(gè)函數(shù)的局部作用域中的代碼,不能使用其他局部作用域中的變量绒极。
? ? 不同作用域可以使用相同的變量。
3.5.1 局部變量不能在全局作用域內(nèi)使用
3.5.2 局部作用域不能使用其他局部作用域內(nèi)的變量
3.5.3 全局變量可以在局部作用域中讀取
3.5.4 名稱相同的局部變量和全局變量
3.6 global語句
? ? 如果變量在全局作用域中使用(即在所有函數(shù)之外)蔬捷,它就是全局變量垄提。
? ? 如果在一個(gè)函數(shù)中榔袋,有針對該變量的global語句,它就是全局變量铡俐。
? ? 否則凰兑,如果該變量用于函數(shù)中的賦值語句,他就是局部變量审丘。
? ? 但是吏够,如果該變量沒有用在賦值語句中,他就是全局變量滩报。
3.7 異常處理
? ? 錯誤可以由try和except語句來處理锅知。那些可能出錯的語句被放在try子句中。如果錯誤發(fā)生脓钾,程序執(zhí)行就轉(zhuǎn)到接下來的except子句開始處售睹。(類似于C++中的throw catch)。
def spam(divide):
? ? return 42/divide
try:
? ? print(spam(1))
? ? print(spam(2))
? ? print(spam(0))
except ZeroDivisionError:
? ? print('sss')
42.0
21.0
sss