1、基本概念python
1.內置的變量類型:編程
Python是有變量類型的,並且會強制檢查變量類型。內置的變量類型有以下幾種:函數
float_number = 2.3學習
complex_number = 1 + 5jthis
integer_number = 1spa
sample_list = [2,52,36,'abc']code
sample_nest = [(2,4,6),{5:7,9:11,'key':[2,5]},6]視頻
sample_dic = {"key":value, 5:10}繼承
sample_tuple = (3,9,"ab")接口
從上面的示例能夠看出,python的變量無需聲明,可直接給變量賦值。
2.字符串
python中聲明一個字符串一般有三種方法,''、" "和''' ''',這三種方法在聲明普通字符串時的效果是徹底同樣的,區別在於字符串自己中存在引號的狀況,舉例以下:
word = 'good'
sentence = "hello world"
paragraph = '''good noon:"nice to meet you."'''
python中單行註釋採用#開頭。
print "Hello, world!"; # second comment
上述內容輸出:hello,Python!。註釋能夠在語句或表達式行末。
多行註釋可採用三引號,好比:
'''This is a comment.
This is a comment, too.
This is a comment, too.
I said that already.'''
轉義符 '';
天然字符串, 經過在字符串前加r或R。 如 r"this is a line with " 則 會顯示,並非換行。
python容許處理unicode字符串,加前綴u或U, 如 u"this is an unicode string"。
3.Python標識符
在python裏,標識符有字母、數字、下劃線組成。
在python中,全部標識符能夠包括英文、數字以及下劃線(_),但不能以數字開頭。
python中的標識符是區分大小寫的。
如下劃線開頭的標識符是有特殊意義的。以單下劃線開頭(_foo)的表明不能直接訪問的類屬性,需經過類提供的接口進行訪問,不能用"from xxx import *"而導入;
以雙下劃線開頭的(__foo)表明類的私有成員;以雙下劃線開頭和結尾的(__foo__)表明python裏特殊方法專用的標識,如__init__()表明類的構造函數。
4.Python保留字符
下面的列表顯示了在Python中的保留字。這些保留字不能用做常數或變數,或任何其餘標識符名稱。
全部Python的關鍵字只包含小寫字母。
若是你在學習Python的過程當中碰見了不少疑問和難題,能夠加-q-u-n 227 -435-450裏面有軟件視頻資料免費
5.行和縮進
學習Python與其餘語言最大的區別就是,Python的代碼塊不使用大括號({})來控制類,函數以及其餘邏輯判斷。python最具特點的就是用縮進來寫模塊。
縮進的空白數量是可變的,可是全部代碼塊語句必須包含相同的縮進空白數量,這個必須嚴格執行。以下所示:
if True:
print "True"
else:
print "False"
上述,if與else的縮進空白數量相同。如下代碼將會報錯:
if True:
print "Answer"
print "True"
else:
print "Answer"
print "False"
python中分號;標識一個邏輯行的結束,可是實際中通常每一個物理行只寫一個邏輯行,能夠避免使用分號。這樣書寫便於閱讀。注意:不要混合使用空格和製表符來縮進,由於在跨越不一樣的平臺時沒法正常工做。
多個物理行中能夠寫一個邏輯行,使用行鏈接符,以下:
s = "peter is
writing this article"
2、運算符與表達式
三.控制流
1.1 if語句
例子, 執行if語句內的程序
a = input("a:")
b = input("b:")
if(a > b):
print a, " > ", b
if else語句:
a = input("a:")
b = input("b:")
if(a > b):
print a, " > ", b
else:
print a, " < ", b
1.2 if…elif…else語句
例子:根據輸入的分數,輸出分數等級:
score = raw_input("score:")
score=int(score)
if(score >= 90) and (score <= 100):
print "A"
elif(score >= 80) and (score < 90):
print "B"
elif(score >= 60) and (score < 80):
print "C"
else:
print "D"
raw_input() 讀取輸入值。
Python編程入門——基礎語法詳解(經典)
1.3 if語句的嵌套
編寫條件語句時,應該儘可能避免使用嵌套語句。嵌套語句不便於閱讀,並且可能會忽略一些可能性。
x = -1
y = 99
if(x >= 0):
if(x > 0): #嵌套的if語句
y = 1
else:
y = 0
else:
y = -1
print "y =", y
1.4 實現switch語句的功能
python中沒有switch特殊字,Python能夠經過字典實現switch語句的功能。
實現方法分兩步。首先,定義一個字典。字典是由鍵值對組成的集合。其次,調用字典的get()獲取相應的表達式。
from future import division
x = 1
y = 2
operator = "/"
result = {
"+" : x + y,
"-" : x - y,
"" : x y,
"/" : x / y
}
print result.get(operator)
輸出爲0.5;
另外一種使用switch分支語句的方案是建立一個switch類,處理程序的流程。
a) 建立一個switch類,該類繼承自Python的祖先類object。調用構造函數init( )初始化須要匹配的字符串,並須要定義兩個成員變量value和fall。Value用於存放須要匹配的字符串,fall用於記錄是否匹配成功,初始值爲false,標識匹配不成功。若是匹配成功,程序日後執行。
b) 定義一個match( )方法,該方法用於用於匹配case子句。這裏須要考慮三種狀況:首先是匹配成功的狀況,其次是匹配失敗的默認case子句,最後是case子句中沒有使用break中斷的狀況。
c) 重寫__iter__( )方法,定義該方法後才能使switch類用於循環語句中。__iter__( )調用match( )方法進行匹配。經過yield保留字,使函數能夠在循環中迭代。此外,調用StopIteration異常中斷循環。
d) 編寫調用代碼,在for…in…循環中使用switch類。
class switch(object):
def __init__(self, value): # 初始化須要匹配的值value
self.value = value
self.fall = False # 若是匹配到的case語句中沒有break,則fall爲true。
def __iter__(self):
yield self.match # 調用match方法 返回一個生成器
raise StopIteration # StopIteration 異常來判斷for循環是否結束
def match(self, *args): # 模擬case子句的方法
if self.fall or not args: # 若是fall爲true,則繼續執行下面的case子句
return True
elif self.value in args: # 匹配成功
self.fall = True
return True
else: # 匹配失敗
return False
operator = "+"
x = 1
y = 2
for case in switch(operator): # switch只能用於for in循環中
if case('+'):
print x + y
break
if case('-'):
print x - y
break
if case('*'):
print x * y
break
if case('/'):
print x / y
break
if case(): # 默認分支
print ""
2.while...語句
只要在一個條件爲真的狀況下,while語句容許你重複執行一塊語句。while語句是所謂 循環 語句的一個例子。while語句有一個可選的else從句。
while True:
pass
else:
pass
3.for 循環
for i in range(0, 5):
print i
else:
pass
注:當for循環結束後執行else語句;range(a, b)返回一個序列,從a開始到b爲止,但不包括b,range默認步長爲1,能夠指定步長,range(0,10,2);
Python編程入門——基礎語法詳解(經典)
4、函數
函數經過def定義。def關鍵字後跟函數的標識符名稱,而後跟一對圓括號,括號以內能夠包含一些變量名,該行以冒號結尾;接下來是一塊語句,即函數體。
def sumOf(a, b):
return a + b
4.1 局部變量
在函數內定義的變量與函數外具備相同名稱的其餘變量沒有任何關係,即變量名稱對於函數來講是局部的。這稱爲變量的做用域。global語句, 爲定義在函數外的變量賦值時使用global語句。
def func():
global x
print "x is ", x
x = 1
x = 3
func()
print x
以上代碼,輸出的結果爲:
3
1
4.2 默認參數
經過使用默認參數可使函數的一些參數是‘可選的’。
def say(msg, times = 1):
print msg * times
say("peter")
say("peter", 3)
注意:只有在形參表末尾的那些參數能夠有默認參數值,即不能在聲明函數形參的時候,先聲明有默認值的形參然後聲明沒有默認值的形參,只是由於賦給形參的值是根據位置而賦值的。
4.3 關鍵參數
若是某個函數有不少參數,而如今只想指定其中的部分,那麼能夠經過命名爲這些參數賦值(稱爲‘關鍵參數’)。
優勢:沒必要擔憂參數的順序,使函數變的更加簡單;假設其餘參數都有默認值,能夠只給咱們想要的那些參數賦值。
def func(a, b=2, c=3):
print "a is %s, b is %s, c is %s" % (a, b, c)
func(1) #輸出a is 1, b is 2, c is 3
func(1, 5) #輸出a is 1, b is 5, c is 3
func(1, c = 10) #輸出a is 1, b is 2, c is 10
func(c = 20, a = 30) #輸出a is 30, b is 2, c is 20
4.3 return語句
return語句用來從一個函數返回,即跳出函數。可從函數返回一個值。
沒有返回值的return語句等價於return None。None表示沒有任何東西的特殊類型。