1.if語句
當(dāng)條件成立時(shí)執(zhí)行語句塊色冀,經(jīng)常與else、elif(相當(dāng)于else if)配合使用
if i == 1:
print("等于1")
elif i > 1:
print("大于1")
else:
print("小于1")
2.for語句
遍歷列表屯换、字符串与学、字典、集合等迭代器晕窑,依次處理迭代器中的每個(gè)元素
下面的例子就是求50-100之間的質(zhì)數(shù)(math.sqrt是開方)
import math
for i in range(50, 100 + 1):
for j in range(2, int(math.sqrt(i)) + 1):
if i % j == 0:
break
else:
print i
順便提一下range()函數(shù)卵佛。
range([start,] stop [, step])
start 可選參數(shù)敞斋,起始數(shù)
stop 終止數(shù)植捎,如果 range 只有一個(gè)參數(shù)x说敏,則產(chǎn)生一個(gè)包含 0 至 x-1 的整數(shù)列表
step 可選參數(shù)丢郊,步長(zhǎng)
3.while語句
當(dāng)條件為真時(shí)枫匾,執(zhí)行循環(huán)語句塊,如下例子
count = 0
while (count < 9):
print 'The count is:', count
count = count + 1
print "Good bye!"
4.try語句
try的工作原理是,當(dāng)開始一個(gè)try語句后谴忧,python就在當(dāng)前程序的上下文中作標(biāo)記角虫,這樣當(dāng)異常出現(xiàn)時(shí)就可以回到這里,try子句先執(zhí)行均驶,接下來會(huì)發(fā)生什么依賴于執(zhí)行時(shí)是否出現(xiàn)異常.
下面是簡(jiǎn)單的例子:
import sys
try:
s = raw_input('Enter something --> ') #可能得到異常的語句
except EOFError: #鎖定是哪種異常
print 'ERROR INPUT !' #出現(xiàn)異常的處理方法
sys.exit()
print s
try-finally 語句無論是否發(fā)生異常都將執(zhí)行最后的代碼枫虏。
try:
fh = open("testfile", "w")
fh.write("這是一個(gè)測(cè)試文件隶债,用于測(cè)試異常!!")
finally:
print "Error: 沒有找到文件或讀取文件失敗"
5.CLASS語句
用于定義類,下面是一個(gè)例子
首先第一點(diǎn)瞒滴,你會(huì)發(fā)現(xiàn)Class的定義中有一個(gè)括號(hào)赞警,這是體現(xiàn)繼承的地方。 Java用extends单默,C#忘瓦、C++用冒號(hào)(:)引颈,Python則用括號(hào)了蝙场。從括號(hào)中包含著兩個(gè)值粱年,聰明的你一定可以發(fā)現(xiàn):Python支持多重繼承;
第二點(diǎn)完箩,init是Class中的構(gòu)造函數(shù)拉队,兩種不同形式的構(gòu)造函數(shù)體現(xiàn)了Python支持函數(shù)重載。在構(gòu)造函數(shù)中秩彤,有一個(gè)特別的參數(shù)self事哭,其含義與我們?cè)贘ava和C#中常見的this是一樣的。
class GrandPa:
def __init__(self):
print('I\'m GrandPa')
class Father(GrandPa):
def __init__(self):
print('I\'m Father!')
class Son(Father):
"""A simple example class"""
i = 12345
def __init__(self):
print('這是構(gòu)造函數(shù),son')
def sayHello(self):
return 'hello world'
if __name__ == '__main__':
son = Son()
# 類型幫助信息
print('類型幫助信息: ',Son.__doc__)
#類型名稱
print('類型名稱:',Son.__name__)
#類型所繼承的基類
print('類型所繼承的基類:',Son.__bases__)
#類型字典
print('類型字典:',Son.__dict__)
#類型所在模塊
print('類型所在模塊:',Son.__module__)
#實(shí)例類型
print('實(shí)例類型:',Son().__class__)
6.def語句
用于定義函數(shù)和類型的方法
def hello():
print 'hello python!'
7.pass語句
表示此行為空,不做任何操作流炕,用處就是保持語義每辟、格式的完整性。
if i == 1:
pass
else:
pass
8.assert語句
assert語句是一種插入調(diào)試斷點(diǎn)到程序的一種便捷的方式妹蔽,當(dāng)assert語句失敗的時(shí)候挠将,會(huì)引發(fā)AssertionError。
assert使用起來還是很方便的乳丰,可以避免不必要的未知錯(cuò)誤内贮。
def isPrime(n):
"""This function return a number is a prime or not"""
assert n >= 2
from math import sqrt
for i in range(2, int(sqrt(n))+1):
if n % i == 0:
return False
return True
9.with語句
有一些任務(wù),可能事先需要設(shè)置什燕,事后做清理工作。對(duì)于這種場(chǎng)景庙睡,Python的with語句提供了一種非常方便的處理方式技俐。一個(gè)很好的例子是文件處理虽另,你需要獲取一個(gè)文件句柄饺谬,從文件中讀取數(shù)據(jù),然后關(guān)閉文件句柄族展。
不使用with語句如下這樣寫:
file = open("/tmp/foo.txt")
try:
data = file.read()
finally:
file.close()
使用with之后拔鹰,可以這樣寫:
with open("/tmp/foo.txt")
as file:
data = file.read()
Python的with語句是提供一個(gè)有效的機(jī)制,讓代碼更簡(jiǎn)練恰画,同時(shí)在異常產(chǎn)生時(shí)瓷马,清理工作更簡(jiǎn)單欧聘。
10.yield語句
在迭代器函數(shù)內(nèi)使用,用于返回一個(gè)元素费封。自從Python2.5之后蒋伦,這個(gè)語句變成了一個(gè)運(yùn)算符。
yield和return的區(qū)別韧献。yield可以向下運(yùn)行。而return返回后這個(gè)函數(shù)余下的部分就不能執(zhí)行了阻塑。
def gen():
print 'enter'
yield 1
print 'next'
return
print 'next 2'
yield 2
print 'next 3'
for i in gen():
print i
11.raise語句
在Python中果复,要想引發(fā)異常虽抄,最簡(jiǎn)單的形式就是輸入關(guān)鍵字raise,后跟要引發(fā)的異常的名稱私植。異常名稱標(biāo)識(shí)出具體的類: Python異常處理是那些類的對(duì)象车酣。執(zhí)行raise語句時(shí),Python會(huì)創(chuàng)建指定的異常類的一個(gè)對(duì)象贫悄。raise語句還可指定對(duì)異常對(duì)象進(jìn)行初始化的參數(shù)娘摔。為此凳寺,請(qǐng)?jiān)诋惓n惖拿Q后添加一個(gè)逗號(hào)以及指定的參數(shù)(或者由參數(shù)構(gòu)成的一個(gè)元組)。
def functionName( level ):
if level < 1:
raise Exception("Invalid level!", level)
# 觸發(fā)異常后逆趋,后面的代碼就不會(huì)再執(zhí)行
12.import語句
導(dǎo)入一個(gè)模塊怜瞒,全部導(dǎo)入吴汪,示例如下:
import codecs
import ConfigParser
import MySQLdb
import sys
13.from import語句
導(dǎo)入一個(gè)模塊的某些成員,如果你想在程序中用argv代表sys.argv杆融,可以使用 from import語句霜运,在使用的時(shí)候建議盡量不需要用from import語句蒋腮,這樣可以使你的程序更加易讀池摧,并且沒有名字的沖突
from decompile import WjsDecompile
from sys import *
14.import as語句
as后面的內(nèi)容表示別名激况,如下面的示例,在使用此模塊的功能的時(shí)候則需要使用別名竭讳,如system.argv
import sys as system
15.in語句
判斷一個(gè)對(duì)象是否在一個(gè)字符串绢慢、列表洛波、元組
for i in range(1, 5):
print(i)
else:
print('for循環(huán)結(jié)束')
相對(duì)的用法有not in,用法相同思瘟,含義相反闻伶;