在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ Python快速入門
Python異常處理
Python循環(huán)
Python基本運算符
Python網(wǎng)絡(luò)編程(Sockets)
Python可以開發(fā)哪些程序?
Python XML解析和處理
Python數(shù)字
Python函數(shù)
Python變量類型
Python os模塊方法
Python迭代器
Python安裝和環(huán)境配置
Python構(gòu)造函數(shù)
Python文件對象方法
Python日期和時間
Python的歷史
Python生成器
Python+MySQL數(shù)據(jù)庫操作(PyMySQL)
Python命令行參數(shù)
Python元組
Python發(fā)送郵件
Python列表
Python文件讀寫
Python教程
Python面向?qū)ο螅惡蛯ο螅?/span>
Python多線程編程
Python多重繼承
Python決策
Python是什么?
Python快速入門
Python繼承
Python字典
Python字符串
Python操作符重載
Python正則表達式
Python閉包
Python修飾器
Python功能特點
Python模塊

Python快速入門

Python是面向?qū)ο?,高級語言,解釋,動態(tài)和多用途編程語言。Python易于學(xué)習(xí),而且功能強大,功能多樣的腳本語言使其對應(yīng)用程序開發(fā)具有吸引力。
Python的語法和動態(tài)類型具有其解釋性質(zhì),使其成為許多領(lǐng)域的腳本編寫和快速應(yīng)用程序開發(fā)的理想語言。

Python支持多種編程模式,包括面向?qū)ο缶幊?,命令式和函?shù)式編程或過程式編程。

Python幾乎無所不能,一些常用的開發(fā)領(lǐng)域,如Web編程。這就是為什么它被稱為多用途,因為它可以用于網(wǎng)絡(luò),企業(yè),3D CAD等軟件和系統(tǒng)開發(fā)。

在Python中,不需要使用數(shù)據(jù)類型來聲明變量,因為它是動態(tài)類型的,所以可以寫一個如 a=10 來聲明一個變量a中的值是一個整數(shù)類型。

Python使開發(fā)和調(diào)試快速,因為在python開發(fā)中沒有包含編譯步驟,并且編輯 <-> 測試 <-> 調(diào)試循環(huán)使用代碼開發(fā)效率非常高。

Python是一種高級,解釋,交互和面向?qū)ο蟮哪_本語言。 Python被設(shè)計為高度可讀性。 它使用英語關(guān)鍵字,而其他語言使用標(biāo)點符號。它的語法結(jié)構(gòu)比其他語言少。

  • Python是解釋型語言 - Python代碼在解釋器中運行時處理,執(zhí)行前不需要編譯程序。 這與PERL和PHP類似。

  • Python是交動的 - 在Python提示符下面直接和解釋器進行交互來編寫程序。

  • Python是面向?qū)ο蟮?/strong> - Python支持面向?qū)ο蟮娘L(fēng)格或編程技術(shù),將代碼封裝在對象內(nèi)。

  • Python是一門初學(xué)者的語言 - Python是初學(xué)者程序員的偉大語言,并支持從簡單的文本處理到WWW瀏覽器到游戲的各種應(yīng)用程序的開發(fā)。

第一節(jié) Python 可以用來開發(fā)什么?

Python作為一個整體可以用于任何軟件開發(fā)領(lǐng)域。下面來看看Python可以應(yīng)用在哪些領(lǐng)域的開發(fā)。如下所列 -

1.基于控制臺的應(yīng)用程序

Python可用于開發(fā)基于控制臺的應(yīng)用程序。 例如:IPython。

2.基于音頻或視頻的應(yīng)用程序

Python在多媒體部分開發(fā),證明是非常方便的。 一些成功的應(yīng)用是:TimPlayer,cplay等。

3.3D CAD應(yīng)用程序

Fandango是一個真正使用Python編寫的應(yīng)用程序,提供CAD的全部功能。

4.Web應(yīng)用程序

Python也可以用于開發(fā)基于Web的應(yīng)用程序。 一些重要的開發(fā)案例是:PythonWikiEngines,PocooPythonBlogSoftware等,如國內(nèi)的成功應(yīng)用案例有:豆瓣,知乎等。

5.企業(yè)級應(yīng)用

Python可用于創(chuàng)建可在企業(yè)或組織中使用的應(yīng)用程序。一些實時應(yīng)用程序是:OpenErp,TrytonPicalo等。

6.圖像應(yīng)用

使用Python可以開發(fā)圖像應(yīng)用程序。 開發(fā)的應(yīng)用有:VPython,Gogh,imgSeek等

第二節(jié) Python安裝和環(huán)境配置

Python 3適用于Windows,Mac OS和大多數(shù)Linux操作系統(tǒng)。即使Python 2目前可用于許多其他操作系統(tǒng),有部分系統(tǒng)Python 3還沒有提供支持或者支持了但被它們在系統(tǒng)上刪除了,只保留舊的Python 2版本。

參考:http://www.yiibai.com/python/python_environment.html

第三節(jié) Python命令行參數(shù)

Python提供了一個getopt模塊,用于解析命令行選項和參數(shù)。

$ python test.py arg1 arg2 arg3

Python sys模塊通過sys.argv提供對任何命令行參數(shù)的訪問。主要有兩個參數(shù)變量 -

  • sys.argv是命令行參數(shù)的列表。
  • len(sys.argv)是命令行參數(shù)的數(shù)量。

這里sys.argv [0]是程序名稱,即腳本的名稱。比如在上面示例代碼中,sys.argv [0]的值就是 test.py。

示例

看看以下腳本command_line_arguments.py的代碼 -

#!/usr/bin/python3

import sys

print ('Number of arguments:', len(sys.argv), 'arguments.')
print ('Argument List:', str(sys.argv))

現(xiàn)在運行上面的腳本,這將產(chǎn)生以下結(jié)果 -

F:\>python F:\worksp\python\command_line_arguments.py
Number of arguments: 1 arguments.
Argument List: ['F:\\worksp\\python\\command_line_arguments.py']

F:\>python F:\worksp\python\command_line_arguments.py arg1 arg2 arg3 arg4
Number of arguments: 5 arguments.
Argument List: ['F:\\worksp\\python\\command_line_arguments.py', 'arg1', 'arg2', 'arg3', 'arg4']

F:\>

注意 - 如上所述,第一個參數(shù)始終是腳本名稱,它也被計入?yún)?shù)的數(shù)量。

解析命令行參數(shù)

Python提供了一個getopt模塊,可用于解析命令行選項和參數(shù)。該模塊提供了兩個功能和異常,以啟用命令行參數(shù)解析。

getopt.getopt方法

此方法解析命令行選項和參數(shù)列表。以下是此方法的簡單語法 -

getopt.getopt(args, options, [long_options])

getopt.GetoptError異常

當(dāng)在參數(shù)列表中有一個無法識別的選項,或者當(dāng)需要一個參數(shù)的選項不為任何參數(shù)時,會引發(fā)這個異常。
異常的參數(shù)是一個字符串,指示錯誤的原因。 屬性msgopt給出錯誤消息和相關(guān)選項。

示例

假設(shè)想通過命令行傳遞兩個文件名,也想給出一個選項用來顯示腳本的用法。腳本的用法如下 -

usage: file.py -i <inputfile> -o <outputfile>

以下是command_line_usage.py的以下腳本 -

#!/usr/bin/python3

import sys, getopt

def main(argv):
   inputfile = ''
   outputfile = ''
   try:
      opts, args = getopt.getopt(argv,"hi:o:",["ifile=","ofile="])
   except getopt.GetoptError:
      print ('GetoptError, usage: command_line_usage.py -i <inputfile> -o <outputfile>')
      sys.exit(2)
   for opt, arg in opts:
      if opt == '-h':
         print ('usage: command_line_usage.py -i <inputfile> -o <outputfile>')
         sys.exit()
      elif opt in ("-i", "--ifile"):
         inputfile = arg
      elif opt in ("-o", "--ofile"):
         outputfile = arg
   print ('Input file is "', inputfile)
   print ('Output file is "', outputfile)

if __name__ == "__main__":
   main(sys.argv[1:])

現(xiàn)在,使用以下幾種方式運行來腳本,輸出如下所示:

F:\worksp\python>python command_line_usage.py -h
usage: command_line_usage.py -i <inputfile> -o <outputfile>

F:\worksp\python>python command_line_usage.py -i inputfile.txt -o
GetoptError, usage: command_line_usage.py -i <inputfile> -o <outputfile>

F:\worksp\python>python command_line_usage.py -i inputfile.txt -o outputfile.txt
Input file is " inputfile.txt
Output file is " outputfile.txt

F:\worksp\python>

第四節(jié) Python變量類型

變量是保存存儲值的內(nèi)存位置。也就是說,當(dāng)創(chuàng)建一個變量時,可以在內(nèi)存中保留一些空間。

基于變量的數(shù)據(jù)類型,解釋器分配內(nèi)存并決定可以存儲在保留的存儲器中的內(nèi)容。 因此,通過為變量分配不同的數(shù)據(jù)類型,可以在這些變量中存儲的數(shù)據(jù)類型為整數(shù),小數(shù)或字符等等。

將值分配給變量

在Python中,變量不需要明確的聲明類型來保留內(nèi)存空間。當(dāng)向變量分配值時,Python會自動發(fā)出聲明。 等號(=)用于為變量賦值。

=運算符左側(cè)的操作數(shù)是變量的名稱,而=運算符右側(cè)的操作數(shù)是將在存儲在變量中的值。 例如 -

#!/usr/bin/python3

counter = 100          # 一個整型數(shù)
miles   = 999.99       # 一個浮點數(shù)
name    = "Maxsu"       # 一個字符串
site_url  = "http://www.yiibai.com" # 一個字符串

print (counter)
print (miles)
print (name)
print (site_url)

這里,100,999.99和“Maxsu”分別是分配給counter,milesname變量的值。執(zhí)行上面代碼將產(chǎn)生以下結(jié)果 -

100
999.99 
Maxsu
http://www.yiibai.com

多重賦值

Python允許同時為多個變量分配單個值。

例如 -

a = b = c = 1

這里,創(chuàng)建一個整數(shù)對象,其值為1,并且所有三個變量都分配給相同的內(nèi)存位置。還可以將多個對象分配給多個變量。 例如 -

a, b, c = 10, 20, "maxsu"

這里,將兩個值為1020的整數(shù)對象分別分配給變量ab,并將一個值為“maxsu”的字符串對象分配給變量c。

標(biāo)準(zhǔn)數(shù)據(jù)類型

存儲在內(nèi)存中的數(shù)據(jù)可以是多種類型。 例如,一個人的年齡可存儲為一個數(shù)字值,他的地址被存儲為字母數(shù)字字符串。 Python具有各種標(biāo)準(zhǔn)數(shù)據(jù)類型,用于定義可能的操作以及每個標(biāo)準(zhǔn)數(shù)據(jù)類型的存儲方法。

Python有五種標(biāo)準(zhǔn)數(shù)據(jù)類型 -

  • 1.數(shù)字
  • 2.字符串
  • 3.列表
  • 4.元組
  • 5.字典

1.Python數(shù)字

數(shù)字數(shù)據(jù)類型存儲數(shù)字值。當(dāng)為其分配值時,將創(chuàng)建數(shù)字對象。 例如 -

var1 = 10
var2 = 20

可以使用del語句刪除對數(shù)字對象的引用。 del語句的語法是 -

del var1[,var2[,var3[....,varN]]]]

可以使用del語句刪除單個對象或多個對象。

例如 -

del var
del var_a, var_b

Python支持三種不同的數(shù)值類型 -

  • int(有符號整數(shù))
  • float(浮點實值)
  • complex(復(fù)數(shù))

Python3中的所有整數(shù)都表示為長整數(shù)。 因此,長整數(shù)沒有單獨的數(shù)字類型。

例子

以下是一些數(shù)字示例 -

int float complex
10 0.0 3.14j
100 15.20 45.j
-786 -21.9 9.322e-36j
080 32.3+e18 .876j
-0490 -90. -.6545+0J
-0x260 -32.54e100 3e+26J
0x69 70.2-E12 4.53e-7j

復(fù)數(shù)是由x + yj表示的有序?qū)Φ膶崝?shù)浮點數(shù)組成,其中xy是實數(shù),j是虛數(shù)單位。

2.Python字符串

Python中的字符串被標(biāo)識為在引號中表示的連續(xù)字符集。Python允許雙引號或雙引號。 可以使用片段運算符([][:])來獲取字符串的子集(子字符串),其索引從字符串開始處的索引0開始,并且以-1表示字符串中的最后一個字符。

加號(+)是字符串連接運算符,星號(*)是重復(fù)運算符。例如 -

#!/usr/bin/python3
#coding=utf-8
# save file: variable_types_str1.py

str = 'yiibai.com'

print ('str = ', str)          # Prints complete string
print ('str[0] = ',str[0])       # Prints first character of the string
print ('str[2:5] = ',str[2:5])     # Prints characters starting from 3rd to 5th
print ('str[2:] = ',str[2:])      # Prints string starting from 3rd character
print ('str[-1] = ',str[-1])      # 最后一個字符,結(jié)果為:'!'
print ('str * 2 = ',str * 2)      # Prints string two times
print ('str + "TEST" = ',str + "TEST") # Prints concatenated string

將上面代碼保存到 variable_types_str1.py 文件中,執(zhí)行將產(chǎn)生以下結(jié)果 -

F:\worksp\python>python variable_types_str1.py
str =  yiibai.com
str[0] =  y
str[2:5] =  iba
str[2:] =  ibai.com
str[-1] =  m
str * 2 =  yiibai.comyiibai.com
str + "TEST" =  yiibai.comTEST

F:\worksp\python>

2.Python列表

列表是Python復(fù)合數(shù)據(jù)類型中最多功能的。 一個列表包含用逗號分隔并括在方括號([])中的項目。在某種程度上,列表類似于C語言中的數(shù)組。它們之間的區(qū)別之一是Python列表的所有項可以是不同的數(shù)據(jù)類型,而C語言中的數(shù)組只能是同種類型。

存儲在列表中的值可以使用切片運算符([][])來訪問,索引從列表開頭的0開始,并且以-1表示列表中的最后一個項目。 加號(+)是列表連接運算符,星號(*)是重復(fù)運算符。例如 -

#!/usr/bin/python3
#coding=utf-8
# save file: variable_types_str1.py
list = [ 'yes', 'no', 786 , 2.23, 'minsu', 70.2 ]
tinylist = [100, 'maxsu']

print ('list = ', list)          # Prints complete list
print ('list[0] = ',list[0])       # Prints first element of the list
print ('list[1:3] = ',list[1:3])     # Prints elements starting from 2nd till 3rd 
print ('list[2:] = ',list[2:])      # Prints elements starting from 3rd element
print ('list[-3:-1] = ',list[-3:-1])    
print ('tinylist * 2 = ',tinylist * 2)  # Prints list two times
print ('list + tinylist = ', list + tinylist) # Prints concatenated lists

將上面代碼保存到 variable_types_str1.py 文件中,執(zhí)行將產(chǎn)生以下結(jié)果 -

F:\worksp\python>python variable_types_list.py
list =  ['yes', 'no', 786, 2.23, 'minsu', 70.2]
list[0] =  yes
list[1:3] =  ['no', 786]
list[2:] =  [786, 2.23, 'minsu', 70.2]
list[-3:-1] =  [2.23, 'minsu']
tinylist * 2 =  [100, 'maxsu', 100, 'maxsu']
list + tinylist =  ['yes', 'no', 786, 2.23, 'minsu', 70.2, 100, 'maxsu']

F:\worksp\python>

3.Python元組

元組是與列表非常類似的另一個序列數(shù)據(jù)類型。元組是由多個值以逗號分隔。然而,與列表不同,元組被括在小括號內(nèi)(())。

列表和元組之間的主要區(qū)別是 - 列表括在括號([])中,列表中的元素和大小可以更改,而元組括在括號(())中,無法更新。元組可以被認為是只讀列表。 例如 -

#!/usr/bin/python3
#coding=utf-8
# save file : variable_types_tuple.py
tuple = ( 'maxsu', 786 , 2.23, 'yiibai', 70.2  )
tinytuple = (999.0, 'maxsu')

# tuple[1] = 'new item value' 不能這樣賦值

print ('tuple = ', tuple)           # Prints complete tuple
print ('tuple[0] = ', tuple[0])        # Prints first element of the tuple
print ('tuple[1:3] = ', tuple[1:3])      # Prints elements starting from 2nd till 3rd 
print ('tuple[-3:-1] = ', tuple[-3:-1])       # 輸出結(jié)果是什么?
print ('tuple[2:] = ', tuple[2:])       # Prints elements starting from 3rd element
print ('tinytuple * 2 = ',tinytuple * 2)   # Prints tuple two times
print ('tuple + tinytuple = ', tuple + tinytuple) # Prints concatenated tuple

將上面代碼保存到 variable_types_tuple.py 文件中,執(zhí)行將產(chǎn)生以下結(jié)果 -

F:\worksp\python>python variable_types_tuple.py
tuple =  ('maxsu', 786, 2.23, 'yiibai', 70.2)
tuple[0] =  maxsu
tuple[1:3] =  (786, 2.23)
tuple[-3:-1] =  (2.23, 'yiibai')
tuple[2:] =  (2.23, 'yiibai', 70.2)
tinytuple * 2 =  (999.0, 'maxsu', 999.0, 'maxsu')
tuple + tinytuple =  ('maxsu', 786, 2.23, 'yiibai', 70.2, 999.0, 'maxsu')

F:\worksp\python>

以下代碼對于元組無效,因為嘗試更新元組,但是元組是不允許更新的。類似的情況可能與列表 -

#!/usr/bin/python3

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
list = [ 'abcd', 786 , 2.23, 'john', 70.2  ]
tuple[2] = 1000    # 無法更新值,程序出錯
list[2] = 1000     # 有效的更新,合法

Python字典

Python的字典是一種哈希表類型。它們像Perl中發(fā)現(xiàn)的關(guān)聯(lián)數(shù)組或散列一樣工作,由鍵值對組成。字典鍵幾乎可以是任何Python數(shù)據(jù)類型,但通常為了方便使用數(shù)字或字符串。另一方面,值可以是任意任意的Python對象。

字典由大括號({})括起來,可以使用方括號([])分配和訪問值。例如 -

#!/usr/bin/python3
#coding=utf-8
# save file : variable_types_dict.py

dict = {}
dict['one'] = "This is one"
dict[2]     = "This is my"

tinydict = {'name': 'maxsu', 'code' : 1024, 'dept':'IT Dev'}


print ("dict['one'] = ", dict['one'])       # Prints value for 'one' key
print ('dict[2] = ', dict[2])           # Prints value for 2 key
print ('tinydict = ', tinydict)          # Prints complete dictionary
print ('tinydict.keys() = ', tinydict.keys())   # Prints all the keys
print ('tinydict.values() = ', tinydict.values()) # Prints all the values

將上面代碼保存到 variable_types_dict.py 文件中,執(zhí)行將產(chǎn)生以下結(jié)果 -

F:\worksp\python>python variable_types_dict.py
dict['one'] =  This is one
dict[2] =  This is my
tinydict =  {'name': 'maxsu', 'code': 1024, 'dept': 'IT Dev'}
tinydict.keys() =  dict_keys(['name', 'code', 'dept'])
tinydict.values() =  dict_values(['maxsu', 1024, 'IT Dev'])

字典中的元素沒有順序的概念。但是說這些元素是“亂序”是不正確的; 它們是無序的。

數(shù)據(jù)類型轉(zhuǎn)換

有時,可能需要在內(nèi)置類型之間執(zhí)行轉(zhuǎn)換。要在類型之間進行轉(zhuǎn)換,只需使用類型名稱作為函數(shù)即可。

有以下幾種內(nèi)置函數(shù)用于執(zhí)行從一種數(shù)據(jù)類型到另一種數(shù)據(jù)類型的轉(zhuǎn)換。這些函數(shù)返回一個表示轉(zhuǎn)換值的新對象。它們分別如下所示 -

編號 函數(shù) 描述
1 int(x [,base]) x轉(zhuǎn)換為整數(shù)。如果x是字符串,則要base指定基數(shù)。
2 float(x) x轉(zhuǎn)換為浮點數(shù)。
3 complex(real [,imag]) 創(chuàng)建一個復(fù)數(shù)。
4 str(x) 將對象x轉(zhuǎn)換為字符串表示形式。
5 repr(x) 將對象x轉(zhuǎn)換為表達式字符串。
6 eval(str) 評估求值一個字符串并返回一個對象。
7 tuple(s) s轉(zhuǎn)換為元組。
8 list(s) s轉(zhuǎn)換為列表。
9 set(s) s轉(zhuǎn)換為集合。
10 dict(d) 創(chuàng)建一個字典,d必須是(key,value)元組的序列
11 frozenset(s) s轉(zhuǎn)換為凍結(jié)集
12 chr(x) 將整數(shù)x轉(zhuǎn)換為字符
13 unichr(x) 將整數(shù)x轉(zhuǎn)換為Unicode字符。
14 ord(x) 將單個字符x轉(zhuǎn)換為其整數(shù)值。
15 hex(x) 將整數(shù)x轉(zhuǎn)換為十六進制字符串。
16 oct(x) 將整數(shù)x轉(zhuǎn)換為八進制字符串。

第五節(jié) Python基本運算符

運算符是可以操縱操作數(shù)值的結(jié)構(gòu)。如下一個表達式:10 + 20 = 30。這里,1020稱為操作數(shù),+則被稱為運算符。

運算符類型

Python語言支持以下類型的運算符 -

  • 1.算術(shù)運算符
  • 2.比較(關(guān)系)運算符
  • 3.賦值運算符
  • 4.邏輯運算符
  • 5.按位運算符
  • 6.成員運算符
  • 7.身份運算符

下面讓我們依次來看看所有的運算符。

1.算術(shù)運算符

假設(shè)變量a的值是10,變量b的值是21,則 -

運算符 描述 示例
+ 加法運算,將運算符兩邊的操作數(shù)增加。 a + b = 31
- 減法運算,將運算符左邊的操作數(shù)減去右邊的操作數(shù)。 a – b = -11
* 乘法運算,將運算符兩邊的操作數(shù)相乘 a * b = 210
/ 除法運算,用右操作數(shù)除左操作數(shù) b / a = 2.1
% 模運算,用右操作數(shù)除數(shù)左操作數(shù)并返回余數(shù) b % a = 1
** 對運算符進行指數(shù)(冪)計算 a ** b,表示1021次冪
// 地板除 - 操作數(shù)的除法,其結(jié)果是刪除小數(shù)點后的商數(shù)。 但如果其中一個操作數(shù)為負數(shù),則結(jié)果將被保留,即從零(向負無窮大)舍去 9//2 = 4 , 9.0//2.0 = 4.0, -11//3 = -4, -11.0//3 = -4.0

有關(guān)算術(shù)運算符的示例代碼,請參考::http://www.yiibai.com/python/arithmetic_operators_example.html

2.比較(關(guān)系)運算符

比較(關(guān)系)運算符比較它們兩邊的值,并確定它們之間的關(guān)系。它們也稱為關(guān)系運算符。假設(shè)變量a的值10,變量b的值是20,則 -

運算符 描述 示例
== 如果兩個操作數(shù)的值相等,則條件為真。 (a == b)求值結(jié)果為 false
!= 如果兩個操作數(shù)的值不相等,則條件為真。 (a != b)求值結(jié)果為 true
> 如果左操作數(shù)的值大于右操作數(shù)的值,則條件成為真。 (a > b)求值結(jié)果為 false
< 如果左操作數(shù)的值小于右操作數(shù)的值,則條件成為真。 (a < b)求值結(jié)果為 true
>= 如果左操作數(shù)的值大于或等于右操作數(shù)的值,則條件成為真。 (a >= b)求值結(jié)果為 false
<= 如果左操作數(shù)的值小于或等于右操作數(shù)的值,則條件成為真。 (a <= b)求值結(jié)果為 true

有關(guān)比較(關(guān)系)運算符的示例代碼,請參考:http://www.yiibai.com/python/comparison_operators_example.html

3.賦值運算符

假設(shè)變量a的值10,變量b的值是20,則 -

運算符 描述 示例
= 將右側(cè)操作數(shù)的值分配給左側(cè)操作數(shù) c = a + b表示將a + b的值分配給c
+= 將右操作數(shù)相加到左操作數(shù),并將結(jié)果分配給左操作數(shù) c + = a等價于c = c + a
-= 從左操作數(shù)中減去右操作數(shù),并將結(jié)果分配給左操作數(shù) c -= a 等價于 c = c - a
*= 將右操作數(shù)與左操作數(shù)相乘,并將結(jié)果分配給左操作數(shù) c *= a 等價于 c = c * a
/= 將左操作數(shù)除以右操作數(shù),并將結(jié)果分配給左操作數(shù) c /= a 等價于 c = c / a
%= 將左操作數(shù)除以右操作數(shù)的模數(shù),并將結(jié)果分配給左操作數(shù) c %= a 等價于 c = c % a
**= 執(zhí)行指數(shù)(冪)計算,并將值分配給左操作數(shù) c **= a 等價于 c = c ** a
//= 運算符執(zhí)行地板除運算,并將值分配給左操作數(shù) c //= a 等價于 c = c // a

有關(guān)賦值運算符的示例代碼,請參考:http://www.yiibai.com/python/assignment_operators_example.html

4.邏輯運算符

Python語言支持以下邏輯運算符。假設(shè)變量a的值為True,變量b的值為False,那么 -

運算符 描述 示例
and 如果兩個操作數(shù)都為真,則條件成立。 (a and b)的結(jié)果為False
or 如果兩個操作數(shù)中的任何一個非零,則條件成為真。 (a or b)的結(jié)果為True
not 用于反轉(zhuǎn)操作數(shù)的邏輯狀態(tài)。 not(a and b) 的結(jié)果為True。

有關(guān)邏輯運算符的示例代碼,請參考:http://www.yiibai.com/python/logical_operators_example.html

5.按位運算符

按位運算符執(zhí)行逐位運算。 假設(shè)變量a = 60; 和變量b = 13; 現(xiàn)在以二進制格式,它們將如下 -

a = 0011 1100

b = 0000 1101

-----------------

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a = 1100 0011

Python的內(nèi)置函數(shù)bin()可用于獲取整數(shù)的二進制表示形式。

以下是Python語言支持位運算操作符 -

運算符 描述 示例
& 如果它存在于兩個操作數(shù)中,則操作符復(fù)制位到結(jié)果中 (a & b) 結(jié)果表示為 0000 1100
如果它存在于任一操作數(shù),則復(fù)制位。 (a b) = 61 結(jié)果表示為 0011 1101
^ 二進制異或。如果它是一個操作數(shù)集合,但不是同時是兩個操作數(shù)則將復(fù)制位。 (a ^ b) = 49 (結(jié)果表示為 0011 0001)
~ 二進制補碼,它是一元的,具有“翻轉(zhuǎn)”的效果。 (~a ) = -61有符號的二進制數(shù),表示為1100 0011的補碼形式。
<< 二進制左移,左操作數(shù)的值由右操作數(shù)指定的位數(shù)左移。 a << 2 = 240 (結(jié)果表示為 1111 0000)
>> 二進制右移,左操作數(shù)的值由右操作數(shù)指定的位數(shù)右移。 a >> 2 = 15(結(jié)果表示為0000 1111)

有關(guān)按位運算符的示例代碼,請參考:http://www.yiibai.com/python/bitwise_operators_example.html

6.成員運算符

Python成員運算符測試給定值是否為序列中的成員,例如字符串,列表或元組。 有兩個成員運算符,如下所述 -

運算符 描述 示例
in 如果在指定的序列中找到一個變量的值,則返回true,否則返回false -
not in 如果在指定序列中找不到變量的值,則返回true,否則返回false。 -

有關(guān)成員運算符的示例代碼,請參考:http://www.yiibai.com/python/membership_operators_example.html

7.身份運算符

身份運算符比較兩個對象的內(nèi)存位置。常用的有兩個身份運算符,如下所述 -

運算符 描述 示例
is 如果運算符任一側(cè)的變量指向相同的對象,則返回True,否則返回False
is not 如果運算符任一側(cè)的變量指向相同的對象,則返回True,否則返回False。 -

有關(guān)身份運算符的示例代碼,請參考:http://www.yiibai.com/python/identity_operators_example.html

8. 運算符優(yōu)先級

下表列出了從最高優(yōu)先級到最低優(yōu)先級的所有運算符,如下所示 -

序號 運算符 描述
1 ** 指數(shù)(次冪)運算
2 ~ + - 補碼,一元加減(最后兩個的方法名稱是+@-@)
3 * / % // 乘法,除法,模數(shù)和地板除
4 + -
5 >> << 向右和向左位移
6 & 按位與
7 ^ 按位異或和常規(guī)的“OR
8 <= < > >= 比較運算符
9 <> == != 等于運算符
10 = %= /= //= -= += *= **= 賦值運算符
11 is is not 身份運算符
12 in not in 成員運算符
13 not or and 邏輯運算符

有關(guān)運算符優(yōu)先級的示例代碼,請參考:http://www.yiibai.com/python/operators_precedence_example.html

第六節(jié) Python決策

決策是指在執(zhí)行程序期間根據(jù)發(fā)生的情況并根據(jù)條件采取的具體操作(行動)。決策結(jié)構(gòu)評估求值多個表達式,產(chǎn)生TRUEFALSE作為結(jié)果。如果結(jié)果為TRUE或否則為FALSE,則需要確定要執(zhí)行的操作和要執(zhí)行的語句。

以下是大多數(shù)編程語言中的典型決策結(jié)構(gòu)的一般形式 -

Python編程語言假定任何非零值和非空值都為TRUE值,而任何零值或空值都為FALSE值。

Python編程語言提供以下類型的決策語句。

編號 語句 描述
1 if語句 一個if語句由一個布爾表達式,后跟一個或多個語句組成。
2 if…else語句 一個if語句可以跟隨一個可選的else語句,當(dāng)if語句的布爾表達式為FALSE時,則else語句塊將被執(zhí)行。
3 嵌套if語句 可以在一個ifelse語句中使用一個ifelse if語句。

下面我們快速地來了解每個決策聲明。

單個語句套件

一個if子句套件可能只包含一行,它可能與頭語句在同一行上。

示例

以下是一行if子句的示例 -

#!/usr/bin/python3
var = 10
if ( var  == 10 ) : print ("Value of expression is 10")
print ("Good bye!")

當(dāng)執(zhí)行上述代碼時,會產(chǎn)生以下結(jié)果 -

Value of expression is 100
Good bye!

第七節(jié) Python循環(huán)

一般來說,語句依次執(zhí)行 - 例如,函數(shù)中的第一個語句首先執(zhí)行,然后是第二個語句,依次類推。但是有很多時候需要多次執(zhí)行同一段代碼,這就引入了循環(huán)的概念。

編程語言提供了允許更復(fù)雜的執(zhí)行路徑的各種控制結(jié)構(gòu)。

循環(huán)語句允許多次執(zhí)行語句或語句組。下圖說明了一個循環(huán)語句流程結(jié)構(gòu) -

Python編程語言提供以下類型的循環(huán)來處理循環(huán)需求。

編號 循環(huán) 描述
1 while循環(huán) 在給定條件為TRUE時,重復(fù)一個語句或一組語句。 它在執(zhí)行循環(huán)體之前測試狀態(tài)。
2 for循環(huán) 多次執(zhí)行一系列語句,并縮寫管理循環(huán)變量的代碼。
3 嵌套循環(huán) 可以使用一個或多個循環(huán)在whilefor循環(huán)中。

循環(huán)控制語句

循環(huán)控制語句從正常順序更改執(zhí)行。 當(dāng)執(zhí)行離開范圍時,在該范圍內(nèi)創(chuàng)建的所有自動對象都將被銷毀。

Python支持以下控制語句。

編號 控制語句 描述
1 break語句 終止循環(huán)語句并將執(zhí)行轉(zhuǎn)移到循環(huán)之后的語句。
2 continue語句 使循環(huán)跳過其主體的剩余部分,并立即重新測試其狀態(tài)以進入下一次迭代。
3 pass語句 當(dāng)語法需要但不需要執(zhí)行任何命令或代碼時,Python中就可以使用pass語句,此語句什么也不做,用于表示“占位”的代碼,有關(guān)實現(xiàn)細節(jié)后面再寫

下面簡單地看一下循環(huán)控制語句。

上一篇:Python文件讀寫下一篇:Python閉包