亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python編程入門(mén)基礎(chǔ)語(yǔ)法詳解

系統(tǒng) 1859 0

一、基本概念

1.內(nèi)置的變量類(lèi)型:

Python是有變量類(lèi)型的,而且會(huì)強(qiáng)制檢查變量類(lèi)型。內(nèi)置的變量類(lèi)型有如下幾種:

浮點(diǎn)

float_number = 2.3

復(fù)數(shù)

complex_number = 1 + 5j

整型

integer_number = 1

list 序列

sample_list = [2,52,36,'abc']

嵌套

sample_nest = [(2,4,6),{5:7,9:11,'key':[2,5]},6]

dictionary 字典

sample_dic = {"key":value, 5:10}

tuple 只讀的序列

sample_tuple = (3,9,"ab")

從上面的示例可以看出,python的變量無(wú)需聲明,可直接給變量賦值。

2.字符串

python中聲明一個(gè)字符串通常有三種方法,''、" "和''' ''',這三種方法在聲明普通字符串時(shí)的效果是完全一樣的,區(qū)別在于字符串本身中存在引號(hào)的情況,舉例如下:

word = 'good'

sentence = "hello world"

paragraph = '''good noon:"nice to meet you."'''

python中單行注釋采用#開(kāi)頭。

!/usr/bin/python

First comment

print "Hello, world!"; # second comment

上述內(nèi)容輸出:hello,Python!。注釋可以在語(yǔ)句或表達(dá)式行末。

多行注釋可采用三引號(hào),比如:

'''This is a comment.

This is a comment, too.

This is a comment, too.

I said that already.'''

轉(zhuǎn)義符 '';

自然字符串, 通過(guò)在字符串前加r或R。 如 r"this is a line with " 則 會(huì)顯示,并不是換行。

python允許處理unicode字符串,加前綴u或U, 如 u"this is an unicode string"。

3.Python標(biāo)識(shí)符

在python里,標(biāo)識(shí)符有字母、數(shù)字、下劃線組成。

在python中,所有標(biāo)識(shí)符可以包括英文、數(shù)字以及下劃線(_),但不能以數(shù)字開(kāi)頭。

python中的標(biāo)識(shí)符是區(qū)分大小寫(xiě)的。

以下劃線開(kāi)頭的標(biāo)識(shí)符是有特殊意義的。以單下劃線開(kāi)頭(_foo)的代表不能直接訪問(wèn)的類(lèi)屬性,需通過(guò)類(lèi)提供的接口進(jìn)行訪問(wèn),不能用"from xxx import *"而導(dǎo)入;

以雙下劃線開(kāi)頭的(__foo)代表類(lèi)的私有成員;以雙下劃線開(kāi)頭和結(jié)尾的( foo )代表python里特殊方法專用的標(biāo)識(shí),如 init ()代表類(lèi)的構(gòu)造函數(shù)。

Python秋秋qun【 784758214 】?jī)?nèi)有安裝包和學(xué)習(xí)視頻資料,零基礎(chǔ),進(jìn)階,實(shí)戰(zhàn)免費(fèi)的在線直播免費(fèi)課程,希望可以幫助你快速了解Python,歡迎加入獲取永久免費(fèi)聽(tīng)課權(quán)限

4.Python保留字符

下面的列表顯示了在Python中的保留字。這些保留字不能用作常數(shù)或變數(shù),或任何其他標(biāo)識(shí)符名稱。

所有Python的關(guān)鍵字只包含小寫(xiě)字母。


5.行和縮進(jìn)

學(xué)習(xí)Python與其他語(yǔ)言最大的區(qū)別就是,Python的代碼塊不使用大括號(hào)({})來(lái)控制類(lèi),函數(shù)以及其他邏輯判斷。python最具特色的就是用縮進(jìn)來(lái)寫(xiě)模塊。

縮進(jìn)的空白數(shù)量是可變的,但是所有代碼塊語(yǔ)句必須包含相同的縮進(jìn)空白數(shù)量,這個(gè)必須嚴(yán)格執(zhí)行。如下所示:

if True:

print "True"

else:

print "False"

上述,if與else的縮進(jìn)空白數(shù)量相同。以下代碼將會(huì)報(bào)錯(cuò):

if True:

print "Answer"

print "True"

else:

print "Answer"

print "False"

python中分號(hào);標(biāo)識(shí)一個(gè)邏輯行的結(jié)束,但是實(shí)際中一般每個(gè)物理行只寫(xiě)一個(gè)邏輯行,可以避免使用分號(hào)。這樣書(shū)寫(xiě)便于閱讀。注意:不要混合使用空格和制表符來(lái)縮進(jìn),因?yàn)樵诳缭讲煌钠脚_(tái)時(shí)無(wú)法正常工作。

多個(gè)物理行中可以寫(xiě)一個(gè)邏輯行,使用行連接符,如下:

s = "peter is

writing this article"

二、運(yùn)算符與表達(dá)式

1. 運(yùn)算符與其用法




2. 運(yùn)算符優(yōu)先級(jí)(從低到高)



三.控制流

1. 條件語(yǔ)句

1.1 if語(yǔ)句

例子, 執(zhí)行if語(yǔ)句內(nèi)的程序

a = input("a:")

b = input("b:")

if(a > b):

print a, " > ", b

if else語(yǔ)句:

a = input("a:")

b = input("b:")

if(a > b):

print a, " > ", b

else:

print a, " < ", b

1.2 if…elif…else語(yǔ)句

例子:根據(jù)輸入的分?jǐn)?shù),輸出分?jǐn)?shù)等級(jí):

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() 讀取輸入值。


1.3 if語(yǔ)句的嵌套

編寫(xiě)條件語(yǔ)句時(shí),應(yīng)該盡量避免使用嵌套語(yǔ)句。嵌套語(yǔ)句不便于閱讀,而且可能會(huì)忽略一些可能性。

x = -1

y = 99

if(x >= 0):

if(x > 0): #嵌套的if語(yǔ)句

y = 1

else:

y = 0

else:

y = -1

print "y =", y

1.4 實(shí)現(xiàn)switch語(yǔ)句的功能

python中沒(méi)有switch特殊字,Python可以通過(guò)字典實(shí)現(xiàn)switch語(yǔ)句的功能。

實(shí)現(xiàn)方法分兩步。首先,定義一個(gè)字典。字典是由鍵值對(duì)組成的集合。其次,調(diào)用字典的get()獲取相應(yīng)的表達(dá)式。

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分支語(yǔ)句的方案是創(chuàng)建一個(gè)switch類(lèi),處理程序的流程。

a) 創(chuàng)建一個(gè)switch類(lèi),該類(lèi)繼承自Python的祖先類(lèi)object。調(diào)用構(gòu)造函數(shù)init( )初始化需要匹配的字符串,并需要定義兩個(gè)成員變量value和fall。Value用于存放需要匹配的字符串,fall用于記錄是否匹配成功,初始值為false,標(biāo)識(shí)匹配不成功。如果匹配成功,程序往后執(zhí)行。

b) 定義一個(gè)match( )方法,該方法用于用于匹配case子句。這里需要考慮三種情況:首先是匹配成功的情況,其次是匹配失敗的默認(rèn)case子句,最后是case子句中沒(méi)有使用break中斷的情況。

c) 重寫(xiě) iter ( )方法,定義該方法后才能使switch類(lèi)用于循環(huán)語(yǔ)句中。 iter ( )調(diào)用match( )方法進(jìn)行匹配。通過(guò)yield保留字,使函數(shù)可以在循環(huán)中迭代。此外,調(diào)用StopIteration異常中斷循環(huán)。

d) 編寫(xiě)調(diào)用代碼,在for…in…循環(huán)中使用switch類(lèi)。

!/usr/bin/python

- - coding: UTF-8 - -

class switch(object):

def? init (self, value): # 初始化需要匹配的值value

self.value = value

self.fall = False # 如果匹配到的case語(yǔ)句中沒(méi)有break,則fall為true。

def? iter (self):

yield self.match # 調(diào)用match方法 返回一個(gè)生成器

raise StopIteration # StopIteration 異常來(lái)判斷for循環(huán)是否結(jié)束

def match(self, *args): # 模擬case子句的方法

if self.fall or not args: # 如果fall為true,則繼續(xù)執(zhí)行下面的case子句

或case子句沒(méi)有匹配項(xiàng),則流轉(zhuǎn)到默認(rèn)分支。

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循環(huán)中

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(): # 默認(rèn)分支

print ""

2.while...語(yǔ)句

只要在一個(gè)條件為真的情況下,while語(yǔ)句允許你重復(fù)執(zhí)行一塊語(yǔ)句。while語(yǔ)句是所謂 循環(huán) 語(yǔ)句的一個(gè)例子。while語(yǔ)句有一個(gè)可選的else從句。

while True:

pass

else:

pass

else語(yǔ)句可選,當(dāng)while為False時(shí),else語(yǔ)句被執(zhí)行。 pass是空語(yǔ)句。

3.for 循環(huán)

for i in range(0, 5):

print i

else:

pass

打印0到4

注:當(dāng)for循環(huán)結(jié)束后執(zhí)行else語(yǔ)句;range(a, b)返回一個(gè)序列,從a開(kāi)始到b為止,但不包括b,range默認(rèn)步長(zhǎng)為1,可以指定步長(zhǎng),range(0,10,2);


四、函數(shù)

函數(shù)通過(guò)def定義。def關(guān)鍵字后跟函數(shù)的標(biāo)識(shí)符名稱,然后跟一對(duì)圓括號(hào),括號(hào)之內(nèi)可以包含一些變量名,該行以冒號(hào)結(jié)尾;接下來(lái)是一塊語(yǔ)句,即函數(shù)體。

def sumOf(a, b):

return a + b

4.1 局部變量

在函數(shù)內(nèi)定義的變量與函數(shù)外具有相同名稱的其他變量沒(méi)有任何關(guān)系,即變量名稱對(duì)于函數(shù)來(lái)說(shuō)是局部的。這稱為變量的作用域。global語(yǔ)句, 為定義在函數(shù)外的變量賦值時(shí)使用global語(yǔ)句。

def func():

global x

print "x is ", x

x = 1

x = 3

func()

print x

以上代碼,輸出的結(jié)果為:

3

1

4.2 默認(rèn)參數(shù)

通過(guò)使用默認(rèn)參數(shù)可以使函數(shù)的一些參數(shù)是‘可選的’。

def say(msg, times = 1):

print msg * times

say("peter")

say("peter", 3)

注意:只有在形參表末尾的那些參數(shù)可以有默認(rèn)參數(shù)值,即不能在聲明函數(shù)形參的時(shí)候,先聲明有默認(rèn)值的形參而后聲明沒(méi)有默認(rèn)值的形參,只是因?yàn)橘x給形參的值是根據(jù)位置而賦值的。

4.3 關(guān)鍵參數(shù)

如果某個(gè)函數(shù)有很多參數(shù),而現(xiàn)在只想指定其中的部分,那么可以通過(guò)命名為這些參數(shù)賦值(稱為‘關(guān)鍵參數(shù)’)。

優(yōu)點(diǎn):不必?fù)?dān)心參數(shù)的順序,使函數(shù)變的更加簡(jiǎn)單;假設(shè)其他參數(shù)都有默認(rèn)值,可以只給我們想要的那些參數(shù)賦值。

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語(yǔ)句

return語(yǔ)句用來(lái)從一個(gè)函數(shù)返回,即跳出函數(shù)。可從函數(shù)返回一個(gè)值。

沒(méi)有返回值的return語(yǔ)句等價(jià)于return None。None表示沒(méi)有任何東西的特殊類(lèi)型。



來(lái)自 “ ITPUB博客 ” ,鏈接:http://blog.itpub.net/69913713/viewspace-2647713/,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任。

轉(zhuǎn)載于:http://blog.itpub.net/69913713/viewspace-2647713/


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 美女天天操 | 九九热精品免费观看 | 奇米影视亚洲色图 | 成人黄色毛片 | 欧美网站www| 97se亚洲综合 | 免费中文字幕在线国语 | 九九视频精品在线 | 亚洲精品αv一区二区三区 亚洲精品爱爱久久 | 国产护士一级毛片高清 | 日一日操一操 | 日日摸天天摸狠狠摸摸 | 日本亚洲欧美 | 99er视频 | 玖玖在线国产精品 | 四虎在线观看视频 | 在线免费观看a视频 | 国产成人精品免费视频大全办公室 | 天天干夜夜夜操 | 日韩一区二区超清视频 | 特级毛片s级全部免费 | 欧美特黄aaaaaa| www.免费视频| 欧美精品免费在线 | 波多野结衣久久精品 | 日韩国产欧美一区二区三区 | 毛片段| 亚洲综合一区二区三区四区 | 91视频国产一区 | 国产成人亚洲综合a∨婷婷 国产成人亚洲综合欧美一部 | 色综合欧美| 国产精品视频在线免费观看 | 中国一级毛片录像 | 狠狠操天天操 | 1级毛片| 免费超爽大片黄网站 | 91精品国产美女福到在线不卡 | 亚洲日本人成网站在线观看 | 国产91在线免费观看 | 免费观看日本污污ww网站精选 | 狠狠久久久久综合网 |