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

Python基礎(chǔ)語(yǔ)法(Python基礎(chǔ)知識(shí)點(diǎn))

系統(tǒng) 2223 0

Python與Perl,C和Java語(yǔ)言等有許多相似之處。不過(guò),也有語(yǔ)言之間有一些明確的區(qū)別。本章的目的是讓你迅速學(xué)習(xí)Python的語(yǔ)法。

第一個(gè)Python程序:

交互模式編程:

調(diào)用解釋器不經(jīng)過(guò)腳本文件作為參數(shù),顯示以下提示:

            
$ python
Python 2.6.4 (#1, Nov 11 2014, 13:34:43)
[GCC 4.1.2 20120704 (Red Hat 5.6.2-48)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
          

鍵入下列文字在Python提示符,然后按Enter鍵:

            
>>> print "Hello, Python!";
          

如果您運(yùn)行的是新的Python版本,那么需要使用打印語(yǔ)句括號(hào)像print ("Hello, Python!");。但是在Python版本2.6.4,這將產(chǎn)生以下結(jié)果:

Hello, Python!

腳本模式編程:

調(diào)用解釋器及腳本作為參數(shù),并開始執(zhí)行的腳本,并一直持續(xù)到腳本完成。當(dāng)腳本完成時(shí),解釋器不再是活動(dòng)的。

讓我們?cè)谀_本中編寫一個(gè)簡(jiǎn)單的Python程序。所有的Python文件將具有.py擴(kuò)展。所以,把下面的代碼寫在一個(gè)test.py文件。

print "Hello, Python!";

在這里,我假設(shè)你已經(jīng)在PATH變量中設(shè)置Python解釋器。現(xiàn)在,嘗試如下運(yùn)行這個(gè)程序:

$ python test.py

這將產(chǎn)生以下結(jié)果:

Hello, Python!

讓我們嘗試另一種方式來(lái)執(zhí)行Python腳本。下面是修改后的test.py文件:

復(fù)制代碼 代碼如下:

#!/usr/bin/python
print "Hello, Python!";

在這里,假設(shè)Python解釋器在/usr/bin目錄中可用。現(xiàn)在,嘗試如下運(yùn)行這個(gè)程序:

復(fù)制代碼 代碼如下:

$ chmod +x test.py???? # This is to make file executable
$./test.py

這將產(chǎn)生以下結(jié)果:

Hello, Python!


Python標(biāo)識(shí)符:

Python標(biāo)識(shí)符是用來(lái)標(biāo)識(shí)一個(gè)變量,函數(shù),類,模塊或其他對(duì)象的名稱。一個(gè)標(biāo)識(shí)符開始以字母A到Z或a?z或后跟零個(gè)或多個(gè)字母下劃線(_),下劃線和數(shù)字(0?9)。

Python中標(biāo)識(shí)符內(nèi)不允許標(biāo)點(diǎn)符號(hào),如@,$和%。 Python是一種區(qū)分大小寫的編程語(yǔ)言。因此,Manpower 和manpower在Python中是兩個(gè)不同的標(biāo)識(shí)符。

這里有Python標(biāo)識(shí)符命名約定:

? 類名以大寫字母以及所有其它標(biāo)識(shí)符以小寫字母。
? 開頭單個(gè)前導(dǎo)下劃線的標(biāo)識(shí)符表示由該標(biāo)識(shí)符約定意思是私有的。
? 開頭兩個(gè)前導(dǎo)下劃線的標(biāo)識(shí)符表示一個(gè)強(qiáng)烈的私有的標(biāo)識(shí)符。
? 如果標(biāo)識(shí)符末尾還具有兩個(gè)下劃線結(jié)束時(shí),該標(biāo)識(shí)符是一個(gè)語(yǔ)言定義的特殊名稱。

保留字:

下面列出了在Python中的保留字。這些保留字不可以被用作常量或變量,或任何其它標(biāo)識(shí)符。所有Python關(guān)鍵字只包含小寫字母。

and exec not
assert finally or
break for pass
class from print
continue global raise
def if return
del import try
elif in while
else is with
except lambda yield

行和縮進(jìn):

一個(gè)程序員學(xué)習(xí)Python時(shí),遇到的第一個(gè)需要注意的地方是,不使用括號(hào)來(lái)表示代碼的類和函數(shù)定義塊或流程控制。代碼塊是由行縮進(jìn),這是嚴(yán)格執(zhí)行表示方式。

在縮進(jìn)位的數(shù)目是可變的,但是在塊中的所有語(yǔ)句必須縮進(jìn)相同的量。在這個(gè)例子中,兩個(gè)功能塊都很好使用:

            
if True:
  print "True"
else:
 print "False"
          

然而,在本實(shí)施例中的第二塊將產(chǎn)生一個(gè)錯(cuò)誤:

            
if True:
  print "Answer"
  print "True"
else:
  print "Answer"
 print "False"
          

因此,在Python中所有的連續(xù)線縮進(jìn)的空格數(shù)同樣的會(huì)結(jié)成塊。以下是各種語(yǔ)句塊中的例子:

注意:不要試圖理解所使用的邏輯或不同的功能。只要確定你明白,即使他們各種模塊無(wú)需括號(hào)。

            
#!/usr/bin/python

import sys

try:
 # open file stream
 file = open(file_name, "w")
except IOError:
 print "There was an error writing to", file_name
 sys.exit()
print "Enter '", file_finish,
print "' When finished"
while file_text != file_finish:
 file_text = raw_input("Enter text: ")
 if file_text == file_finish:
  # close the file
  file.close
  break
 file.write(file_text)
 file.write("
")
file.close()
file_name = raw_input("Enter filename: ")
if len(file_name) == 0:
 print "Next time please enter something"
 sys.exit()
try:
 file = open(file_name, "r")
except IOError:
 print "There was an error reading file"
 sys.exit()
file_text = file.read()
file.close()
print file_text
          

多行語(yǔ)句:

Python語(yǔ)句通常用一個(gè)新行結(jié)束。 但是,Python允許使用續(xù)行字符()來(lái)表示,該行應(yīng)該繼續(xù)下去(跨行)。例如:

            
total = item_one + 
    item_two + 
    item_three
          

包含在[],{}或()括號(hào)內(nèi)的陳述并不需要使用續(xù)行符。例如:

            
days = ['Monday', 'Tuesday', 'Wednesday',
    'Thursday', 'Friday']
          

Python引號(hào):

Python接受單引號(hào)('),雙引號(hào)(“)和三(''或”“”)引用,以表示字符串常量,只要是同一類型的引號(hào)開始和結(jié)束的字符串。

三重引號(hào)可以用于跨越多個(gè)行的字符串。例如,所有下列是合法的:

            
word = 'word'
sentence = "This is a sentence."
paragraph = """This is a paragraph. It is
made up of multiple lines and sentences."""
          

Python注釋:

一個(gè)井號(hào)(#),這不是一個(gè)字符串文字開頭的注釋。“#”號(hào)之后字符和到物理行是注釋的一部分,Python解釋器會(huì)忽略它們。

            
#!/usr/bin/python

# First comment
print "Hello, Python!"; # second comment
          

這將產(chǎn)生以下結(jié)果:
Hello, Python!


注釋可能會(huì)在聲明中表達(dá)或同一行之后:

            
name = "Madisetti" # This is again comment
          

你可以使用多行注釋如下:

            
# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.
          

使用空行:

一行只含有空格,可能帶有注釋,如果是空行那么Python完全忽略它。

在交互式解釋器會(huì)話中,必須輸入一個(gè)空的物理行終止多行語(yǔ)句。

等待用戶:

程序的下面一行顯示的提示,按回車鍵退出,等待用戶按下回車鍵:

            
#!/usr/bin/python
raw_input("Press the enter key to exit.")
          

在這里,“ 已”被用來(lái)顯示實(shí)際行之前創(chuàng)建兩個(gè)換行。一旦用戶按下鍵時(shí),程序結(jié)束。這是一個(gè)很好的技巧,保持一個(gè)控制臺(tái)窗口打開,直到用戶完成應(yīng)用程序運(yùn)行。

在一行中多個(gè)語(yǔ)句:

分號(hào)( ; ) 允許在單行寫入多條語(yǔ)句,不管語(yǔ)句是否啟動(dòng)一個(gè)新的代碼塊。下面是使用分號(hào)示例:

            
import sys; x = 'foo'; sys.stdout.write(x + '')
          

多個(gè)語(yǔ)句組作為套件:

一組單獨(dú)的語(yǔ)句,在Python單一的代碼塊被稱為序列。復(fù)雜的語(yǔ)句,如if, while, def, and class,那些需要一個(gè)標(biāo)題行和套件。

標(biāo)題行開始的聲明(與關(guān)鍵字),并終止與冒號(hào)(:)),接著是一個(gè)或多個(gè)線構(gòu)成該套件。例如:

            
if expression : 
  suite
elif expression : 
  suite 
else : 
  suite
          

命令行參數(shù):

我們可能已經(jīng)看到了,比如,很多程序可以運(yùn)行,它們提供有關(guān)如何運(yùn)行的一些基本信息。 Python中可以使用 -h 做到這一點(diǎn):

            
$ python -h
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
-c cmd : program passed in as string (terminates option list)
-d   : debug output from parser (also PYTHONDEBUG=x)
-E   : ignore environment variables (such as PYTHONPATH)
-h   : print this help message and exit

[ etc. ]

          

您也可以設(shè)定您的腳本,它應(yīng)該以這樣的方式接受各種選項(xiàng)。 命令行參數(shù)是一個(gè)高級(jí)主題并在以后學(xué)習(xí),當(dāng)您通過(guò)其它的Python概念后。

以下是補(bǔ)充:

Python中查看變量對(duì)應(yīng)的地址用函數(shù)id(var)。
?
注意在Python中與在C語(yǔ)言中有一些不同的地方。比如:a = 10,在Python中是這樣的,數(shù)值10在內(nèi)存中開辟一塊空間來(lái)存放數(shù)據(jù)10,然后用a去引用這個(gè)10,所以這里a相當(dāng)于一個(gè)標(biāo)簽,如果a被重新賦值了,相當(dāng)于a又指向了另一個(gè)地址,比如a = 1000,那么a指向了數(shù)據(jù)1000的地址,在這點(diǎn)與C語(yǔ)言有很大的不同。
?
所以相同的數(shù)據(jù)用不同的變量去引用,它們的地址一樣,比如:

a = 123???? b = 123

然后我們輸出id(a)和id(b)會(huì)發(fā)現(xiàn)這兩個(gè)值完全一樣

Python中的復(fù)數(shù)

?? 在Python中復(fù)數(shù)類型的虛部用j表示的,比如a = 3 + 4j

可以直接進(jìn)行計(jì)算。
?
Python中序列的基本操作
?????
(1)len()??? 求序列的長(zhǎng)度
(2)+??????? 序列拼接
(3)*??????? 重復(fù)序列元素
(4)in?????? 判斷元素是否在序列中
(5)max()與min()??? 返回序列的最大值和最小值
(6)compare(str1,str2)?? str1小于str2返回-1,等于返回0,大于返回1
?
元組

? a,b,c = (1,2,3)
? t = (“name”,30,”school”)
?
列表??
? list = [“name”,30,”school”]
可以看出,元組是用(),而列表用[],另外在元組中不能改變單個(gè)元素的值,而列表可以。
Python里面增加了**運(yùn)算符和//運(yùn)算符
**用于冪的計(jì)算,比如計(jì)算2的3次方,就直接a=2**3

            
>>> a = 2**3
>>> print a
8
>>> 
          

//用于向下取模,主要用于浮點(diǎn)數(shù),比如3//1.7 = 1.0

            
>>> a = 3//1.7
>>> print a
1.0
>>> 
          

數(shù)字類型的內(nèi)建函數(shù)

轉(zhuǎn)換函數(shù):將其他類型的數(shù)字轉(zhuǎn)換為相應(yīng)類型

int()、long()、float()、complex()

bool()

            
>>> a = 6
>>> b=complex(a)
>>> print b
(6+0j)
>>> 
          

功能函數(shù):

abs(num) 絕對(duì)值

coerce(num1,num2) 將num1和num2轉(zhuǎn)換為同一類型,然后以一個(gè)元組的形式返回

            
>>> a=3.14159
>>> b=100
>>> print coerce(a,b)
(3.14159, 100.0)
>>> 
          

divmod(num1,num2) 獲得商和余數(shù)的元組

            
>>> a=9
>>> b=6
>>> print divmod(a,b)
(1, 3)
>>> 
          

pow(num1,num2,mod=1) 快速冪取模運(yùn)算

            
>>> a=2
>>> b=3
>>> print pow(a,b,5)
3
          

round(flt,ndig=1) 對(duì)浮點(diǎn)型進(jìn)行四舍五入運(yùn)算

            
>>> print round(3.1415926,4)
3.1416
>>> 
          

列表類型內(nèi)建函數(shù)

list.append(obj) 向列表中添加一個(gè)對(duì)象obj
list.count(obj) 返回一個(gè)對(duì)象obj在列表中出現(xiàn)的次數(shù)
list.extend(obj) 把序列obj中的內(nèi)容添加到列表中
list.index(obj,i=0,j=len(list)) 返回list[k]
list.insert(index,obj) 在index位置插入對(duì)象obj
list.pop(index=-1) 刪除并返回指定位置的對(duì)象,默認(rèn)是最后一個(gè)對(duì)象
list.remove(obj) 從列表中刪除對(duì)象obj
list.reversed()
list.sort()

            
>>> arr = [1,1,5,6,9,7,3,2,11,56,45,78,100,55,0,5,9,10]
>>> arr.append(89)
>>> print arr
[1, 1, 5, 6, 9, 7, 3, 2, 11, 56, 45, 78, 100, 55, 0, 5, 9, 10, 89]
>>> print arr.count(5)
2
>>> arr1 = [123,456,789]
>>> arr.extend(arr1)
>>> print arr
[1, 1, 5, 6, 9, 7, 3, 2, 11, 56, 45, 78, 100, 55, 0, 5, 9, 10, 89, 123, 456, 789]
>>> arr.insert(1,999)
>>> print arr
[1, 999, 1, 5, 6, 9, 7, 3, 2, 11, 56, 45, 78, 100, 55, 0, 5, 9, 10, 89, 123, 456, 789]
>>> arr.pop(0)
1
>>> print arr
[999, 1, 5, 6, 9, 7, 3, 2, 11, 56, 45, 78, 100, 55, 0, 5, 9, 10, 89, 123, 456, 789]
>>> arr.remove(999)
>>> print arr
[1, 5, 6, 9, 7, 3, 2, 11, 56, 45, 78, 100, 55, 0, 5, 9, 10, 89, 123, 456, 789]
>>> arr.sort()
>>> print arr
[0, 1, 2, 3, 5, 5, 6, 7, 9, 9, 10, 11, 45, 55, 56, 78, 89, 100, 123, 456, 789]
>>> 
          

列表有容器和可變特性
堆棧―后進(jìn)先出
list.append() 向隊(duì)列尾部添加
list.pop() 從隊(duì)列尾部刪除
隊(duì)列―先進(jìn)先出
list.append() 向隊(duì)列尾部添加
list.pop(0) 從隊(duì)列頭部刪除

字典類型:

訪問字典中的值
通過(guò)鍵訪問相應(yīng)的值 dict2['name']
訪問字典的鍵 dict2.keys(),返回一個(gè)列表
訪問字典的值 dict2.values(), 返回一個(gè)列表
遍歷一個(gè)字典
執(zhí)行中字典的鍵不能被改變
刪除字典元素和字典 del dict2[name] del dict2

            
>>> dict = {'name':'goujinping','age':'21','sex':'man','school':'NEFU'}
>>> print dict
{'age': '21', 'school': 'NEFU', 'name': 'goujinping', 'sex': 'man'}
>>> dict['age']
'21'
>>> print dict['name']
goujinping
>>> print dict['age']
21
>>> for key in dict.keys():
	print key

	
age
school
name
sex
>>> for value in dict.values():
	print value

	
21
NEFU
goujinping
man
>>> del dict['sex']
>>> print dict
{'age': '21', 'school': 'NEFU', 'name': 'goujinping'}
>>> del dict['school']
>>> print dict
{'age': '21', 'name': 'goujinping'}
>>> del dict
>>> print dict

            
              
>>> 
            
          


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

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

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

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

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 特级毛片免费观看视频 | 成人久久久精品乱码一区二区三区 | a一级日本特黄aaa大片 | 国产精品免费入口视频 | 欧美一级特黄乱妇高清视频 | 2020国产精品视频 | 欧美日韩黄色 | 欧美高清性粉嫩交 | 国产区二区 | 欧美同房免姿势108费视频 | 天天曰天天干 | 色综合视频在线观看 | 国产一区二区免费播放 | 欧美综合图片 | 激情婷婷在线 | 波多野结衣一区二区三区在线观看 | 久久视频在线看 | 色网站欧美 | 国产高清视频免费 | 国产高清狼人香蕉在线观看 | 国产亚洲欧洲精品 | 四虎免费播放观看在线视频 | 国产免费久久精品丫丫 | 久久久91精品国产一区二区 | 欧美精品四虎在线观看 | 日本道在线视频 | 国产欧美一区二区另类精品 | 超碰v| 奇米777视频 | 国产在线不卡视频 | 91国内在线视频 | 日日噜噜噜夜夜爽爽狠狠69 | 国产在线拍 | 亚洲欧美网站 | 99热久久国产综合精品久久国产 | 成人午夜精品久久久久久久小说 | 亚洲精品动漫一区二区三区在线 | 欧美精品日韩一区二区三区 | 久久精品国产在热久久2019 | 日本在线一卡二卡毛片 | 国产做人爱三级视频在线 |