Python基礎語法

python基礎語法

1、標識符

在Python中,全部標識符能夠包括英文、數字以及下劃線(_),但不能以數字開頭。java

在Python中的標識符是區分大小寫的。python

在Python中如下劃線開頭的標識符是有特殊意義的。程序員

  • 1.以單下劃線開頭_foo的表明不能直接訪問的類屬性,需經過類提供的接口進行訪問,不能用from xxx import *而導入。
  • 2.以雙下劃線開頭的__foo表明類的私有成員;
  • 3.以雙下劃線開頭和結尾的__foo__表明Python裏特殊方法專用的標識,如__init__()表明類的構造函數。

代碼示例:小程序

class person:
    name = ""
    age = 0
    _gender = ""
    __father = ""
    def __init__(self, name, age):
        self.name = name
        self.age = age
        print "初始化"

2、保留字

Python中有31個保留字,這些保留字不能用做常數或者變數,或者任何其餘標識符名稱。全部Python的關鍵字只包含小寫字母。api

序號 保留字 說明
1 and 用於表達式運算,邏輯與操做。
2 as 用於類型轉換。
3 assert 斷言,用於判斷變量或條件表達式的值是否爲真。
4 break 中斷循環語句的執行。
5 class 用於定義類。
6 continue 繼續執行下一次循環。
7 def 用於定義函數或方法。
8 del 刪除變量或序列的值。
9 elif 條件語句,與if、else結合使用。
10 esle 條件語句,與if、elif結合使用。也可用於異常和循環語句。
11 except 包含捕獲異常後的操做代碼塊,與try、finally結合使用。
12 exec 用於執行Python語句。
13 for for循環語句。
14 finally 用於異常語句,出現異常後,始終要執行finally包含的代碼塊。
15 from 用於導入模塊,與import結合使用。
16 global 定義全局變量。
17 if 條件語句,與else、elif結合使用。
18 import 用於導入模塊,與from結合使用。
19 in 判斷變量是否存在序列中。
20 is 判斷變量是否爲某個類的實例。
21 lambda 定義匿名函數。
22 not 用於表達式運算,邏輯與操做。
23 or 用於表達式運算,邏輯或操做。
24 pass 空的類,函數,方法的佔位符。
25 print 打印語句。
26 raise 異常拋出操做。
27 return 用於從函數返回計算結果。
28 try 包含可能會出現異常的語句,與except,finally結合使用。
29 while 循環語句。
30 with 簡化Python語句。
31 yield 用於從函數依次返回值。
32 保留字 說明

3、代碼規範

一、PEP8

爲了寫出優雅的代碼,Python中常用PEP8規範,規定以下:數據結構

  • 1.縮進與換行,每級縮進使用4個空格。
  • 2.限制全部行的最大長度爲79個字符。
  • 3.空行
  • (1)頂層函數和類之間使用兩個空行。
  • (2)類的方法之間使用一個空行。
  • (3)在函數中使用空行來表示不一樣的邏輯段落。
  • 4.導入一般應當使用單獨的行。
  • (1)導入老是位於文件的頂部,在模塊註釋和文檔字符串以後,在模塊的全局變量與常量以前。
  • (2)導入按照如下順序分組:
    • standard library imports 標準庫導入
    • related third party imports 相關第三方導入
    • local application/library specific imports 本地應用程序/庫的特定導入

每組導入之間使用空行隔開。app

  • 5.下面的狀況,避免多餘空格。
  • (1)緊貼着圓括號、方括號和花括號。
  • (2)緊貼在逗號、分號或冒號以前。
  • (3)緊貼在函數調用的參數列表的圓括號的開括號前。
  • (4)緊貼在索引或切片的方括號的開括號前。
  • (5)在賦值語句的運算符周圍,不要爲了對齊而使用多個空格。

二、語句

  • 1.在Python中,一行爲一條語句,不須要分號標識。
  • 2.在Python中,能夠同一行顯示多條語句,只需用分號「;」隔開便可。
  • 3.在Python中,可使用反斜槓(\)將一行語句分爲多行解釋。可是語句包含的{}、[]、()中的內容不須要使用多行鏈接符。

代碼示例:函數

print "hello";print "world"
item_one = 3
item_tow = 4
item_three = 5
total = item_one + \
    item_tow + \
    item_three
print total
hello
world
12

三、縮進

Python中使用縮進來表示做用範圍,因此Python中縮進格式要嚴格遵循結構。.net

代碼示例:3d

num = 2 + 3 + 4
if num > 5:
    print "大於"
else:
    print "小於"
大於

四、註釋

  • 1.使用#做爲單行註釋。
  • 2.使用三個單引號或者三個雙引號做爲多行註釋。

代碼以下:

# 這是單行註釋

'''這是單引號多行註釋'''

"""這是雙引號多行註釋"""

4、變量

一、聲明變量

  • 1.Python中的變量/常量不須要聲明符直接寫便可。
  • 2.Python中的變量/常量不區分類型。同一個變量能夠被屢次賦值爲不一樣類型的值。
  • 3.Python中的變量一般用小寫表示。
  • 4.Python中的常量一般用大寫表示。

Python中的常量並不會受到保護,若是真的改是不會報錯的,因此能夠認爲Python中並不真正存在語言意義上的常量,而是約定經過大寫的變量標明它是一個常量,後續不要修改。

代碼示例:

x = "abc"
print "x is {}".format(x)
x = 123
print "x is {}".format(x)
x = y = z = 999
print "x is {},y is {}, z is {}".format(x, y, z)
x, y, z = 1, 2, 'a'
print "x is {},y is {}, z is {}".format(x, y, z)
x is abc
x is 123
x is 999,y is 999, z is 999
x is 1,y is 2, z is a

format()函數配合花括號{}使用,能夠起到佔位符的做用。

Python中變量互換值不像其餘語言那樣須要三方變量,這裏使用了一種語法糖。

代碼示例:

a = "x"
b = "y"
a, b = b, a
print "a is {}, b is {}".format(a, b)
a is y, b is x

二、做用域

一個程序的全部的變量並非在哪一個位置均可以訪問的。訪問權限決定於這個變量是在哪裏賦值的。

變量的做用域決定了在哪一部分程序你能夠訪問哪一個特定的變量名稱。

兩種最基本的變量做用域以下:全局變量、局部變量。

定義在函數內部的變量擁有一個局部做用域,定義在函數外的擁有全局做用域。

局部變量只能在其被聲明的函數內部訪問,而全局變量能夠在整個程序範圍內訪問。調用函數時,全部在函數內聲明的變量名稱都將被加入到做用域中。

5、數據類型

雖然Python中的引用沒有數據類型,可是Python是有數據類型的概念的。

Python中有5大標準數據類型,分別是:Number(數字)、String(字符串)、List(列表)、Tuple(元祖)、Dictionary(字典)。

這裏介紹的內容以下:

  • Number
  • String
  • 布爾類型
  • 空值

這裏有幾個函數,在判斷類型和內存的時候會用到:

  • id(obj):查看對象的內存地址。
  • type(obj):查看對象的類型。

一、Number(數字)

Python Number 數據類型用於存儲數值。

Number數據類型是不容許改變的,這就意味着若是改變 Number 數據類型的值,將從新分配內存空間。

Python支持四種不一樣的Number類型:

  • 1.整型(Int) - 一般被稱爲是整型或整數,是正或負整數,不帶小數點。
  • 2.長整型(long integers) - 無限大小的整數,整數最後是一個大寫或小寫的L。
  • 3.浮點型(floating point real values) - 浮點型由整數部分與小數部分組成,浮點型也可使用科學計數法表示(2.5e2 = 2.5 x 10^2 = 250)
  • 4.複數(complex numbers) - 複數由實數部分和虛數部分構成,能夠用a + bj,或者complex(a,b)表示, 複數的實部a和虛部b都是浮點型。

代碼示例:

x = 1 #整型
x = 2L #長整型
x = 3.1415 #浮點型
#複數
x = complex(32, 64)
print x
x = 32 + 64j
print x
(32+64j)
(32+64j)

二、String(字符串)

Python中能夠用單引號、雙引號、三引號來聲明字符串直接量。

在聲明字符串直接量時單引號和雙引號沒什麼區別。'abc'和"abc"等價。

而三引號聲明的字符串中能夠包含任意字符,這些字符會被直接看成字符串的內容。

Python中並不存在相似java中char的字符類型,想要表示一個字符,寫成一個長度爲1的字符串便可。

Python中字符串是有下標的,下標從0開始。Python中String類型是不可變類型的對象。

Python中len()函數能夠查看字符串的長度。

代碼示例:

x = 'abc'
print id(x)
x = "abc"
print id(x)
x = '''abc'''
print len(x)
print id(x)
x = """abc"""
print id(x)
x = "b"
print id(x)
41772656
41772656
3
41772656
41772656
39430944

由上述代碼能夠看出,四種引號聲明的對象是同樣的效果。String對象是不可變的。

1.轉義字符

Python中使用反斜槓(\)做爲轉義字符

轉義字符 說明
\ 續行符
\ 反斜槓符號
' 單引號
" 雙引號
\a 響鈴
\b 退格
\e 轉義
\000 空格
\n 換行
\v 縱向製表符
\t 橫向製表符
\r 回車
\f 換頁
\oyy 八進制數,yy表明的字符。例如:\o12表明換行
\xyy 十六進制數,yy表明的字符。例如:\x0a表明換行
\other 其餘的字符以普通格式輸出。

2.字符串操做符

  • +:字符串鏈接。
  • *:重複輸出字符串
  • [index]:經過索引獲取字符串中的字符。此方法只能用於獲取,不能用於更改字符串的某個字符。
  • [indexbegin:indexend:step]:截取字符串中的一部分。setp不寫默認爲1。indexbegin不寫默認爲0。indexend不寫,默認爲字符串的長度。
  • in:成員運算符。若是字符串中包含指定的字符,返回True。不然返回False。
  • not in:成員運算符。若是字符串中不包含指定字符,返回True。不然返回False。
  • r/R:原始字符串。全部的字符串都是直接按照字面的意思來使用,沒有轉義特殊或不能打印的字符。 原始字符串除在字符串的第一個引號前加上字母"r"(能夠大小寫)之外,與普通字符串有着幾乎徹底相同的語法。

代碼示例:

a = "Hello"
b = "Workd"
print a + b
print a * 2
print a[1]
print a[-2]
print a[1:3]
print a[0:4:2]
print a[:2]
print a[::-1] #反轉字符串
print "H" in a
print "H" not in b
print r'\n',R'\n'
HelloWorkd
HelloHello
e
l
el
Hl
He
olleH
True
True
\n \n

3.格式化字符串

Python 支持格式化字符串的輸出 。儘管這樣可能會用到很是複雜的表達式,但最基本的用法是將一個值插入到一個有字符串格式符 %s 的字符串中。

代碼示例:

print "My name is %s and age is %d !" % ("xh", 25)
My name is xh and age is 25 !

格式化符號:

格式化符號 說明
%c 格式化字符以及ASCII碼
%s 格式化字符串
%d 格式化整數
%u 格式化無符號整數
%o 格式化無符號八進制數
%x 格式化無符號十六進制數
%X 格式化無符號十六進制數(大寫)
%f 格式化浮點數字,可指定小數點後的精度。
%e 用科學計數法格式化浮點小數
%E 用科學計數法格式化浮點數,同%e的做用。
%g %f和%e的簡寫
%G %f和%E的簡寫
%p 用十六進制數格式化變量的地址

輔助指令:

符號 說明
* 定義寬度或者小數點精度
- 用做左對齊
+ 在正數前面顯示加號
<sp> 在正數前面顯示空格
# 在八進制數前面顯示零,在十六進制前面顯示0x或者0X
0 顯示的數字前面填充0而不是默認的空格
% %% 輸出一個單一的%
(var) 映射變量
m.n m是顯示的最小總寬度,n是小數點後的位數

4.三引號

python中三引號能夠將複雜的字符串進行復制:

  • python三引號容許一個字符串跨多行,字符串中能夠包含換行符、製表符以及其餘特殊字符。
  • 三引號的語法是一對連續的單引號或者雙引號(一般都是成對的用)。

三引號讓程序員從引號和特殊字符串的泥潭裏面解脫出來,自始至終保持一小塊字符串的格式是所謂的WYSIWYG(所見即所得)格式的。

5.字符串函數

Python中提供了不少操做字符串的函數,這些函數是字符串的使用更加便捷。如下將介紹常見的字符串操做:

string = "My name is xinghan, I am very happy!"
# 將起始字符大寫,其餘字符一概小寫
string.capitalize()
'My name is xinghan, i am very happy!'
# 將字符串按照指定寬度居中顯示,默認兩端填補空格,也能夠指定符號填補。
string.center(100)
string.center(100,"%")
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%My name is xinghan, I am very happy!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'
# 計數函數,用於統計一個字符串中出現的指定字符的個數。
string.count('a')
4
# 判斷字符串以指定字符結尾
string.endswith('ppy!')
True
# 判斷字符串是否以指定字符開始
string.startswith('My')
True
# 查找字符,找到返回下標,不存在返回-1。支持指定查找開始位置。
string.find('i')
string.find('i', 9)
12
# 查找字符,找到返回下標,不存在將報錯。支持指定查找開始位置。
string.index('i', 9)
12
# 大小寫轉換
string.upper() #轉成大寫
string.lower() #轉成小寫
'my name is xinghan, i am very happy!'
# 標題判斷,若是一個字符串中,首字母大寫,其餘字母所有小寫,則斷定爲標題
string.istitle()
False
# 判斷大小寫
string.isupper()
string.islower()
False
# 去空,將字符串兩端包含的空格,換行等空白去掉。不會去除中間的。
string.strip()
# 僅去除左邊的空格
string.lstrip()
# 僅去除右邊的空格
string.rstrip()
'My name is xinghan, I am very happy!'
# 將字符串中的大小寫互換。
string.swapcase()
'mY NAME IS XINGHAN, i AM VERY HAPPY!'

三、boolen(布爾)

直接量只有兩個True、False。

布爾類型的與或非and、or、not。

Python中指定任何非0和非空(null)值爲true,0 或者 null爲false。

代碼示例:

flg1 = True
flg2 = False
print not flg1
print flg1 and flg2
print flg1 or flg2
False
False
True

四、空值

Python中的空值,不使用null,而是使用None來表示。

五、類型轉換

Python中各個數據類型是能夠互相轉換的,轉換方法以下:

  • index(x[,base]):將x轉換爲一個整型。
  • long(x[,base]):將x轉換爲一個長整型。
  • float(x):將x轉換爲一個浮點數。
  • complex(real[,imag]):建立一個複數。
  • str(x):將對象x轉換爲字符串。
  • repr(x):將對象x轉換爲表達式字符串。
  • eval(str):用來計算在字符串中的有效Python表達式,並返回一個對象。
  • tuple(s):將序列s轉換爲一個元組。
  • list(s):將序列s轉換爲一個列表。
  • chr(x):將一個整數轉換爲一個字符。
  • unichr(x):將一個整數轉換爲Unicode字符。
  • ord(x):將一個字符轉換爲它的整數值。
  • hex(x):將一個整數轉換爲一個十六進制字符串。
  • oct(x):將一個整數轉換爲一個八進制字符串。

6、運算符

Python中有7種運算符,分別是:

  • 算術運算符
  • 比較運算符
  • 賦值運算符
  • 位運算符
  • 邏輯運算符
  • 成員運算符
  • 身份運算符

一、算術運算符

算術運算符有如下幾種:

  • +加:兩個對象相加。例如:a + b輸出結果30。
  • -減:獲得負數或是一個數減去另外一個數。例如:a - b輸出結果-10。
  • *乘:兩個數相乘或是返回一個被重複若干次的字符串。例如:a * b輸出結果200。
  • /除:x除以y。例如:b / a輸出結果2。
  • %取模:返回除法的餘數。例如:b % a輸出結果0。
  • **冪:返回x的y次冪。例如:a**b爲10的20次方,輸出結果100000000000000000000。
  • //取整除:返回商的整數部分。例如:9//2輸出結果4,9.0//2.0輸出結果4.0。

代碼示例:

a = 20
b = 10
print a + b
print a - b
print a * b
print a / b
print a % b
print a ** b
print a // b
30
10
200
2
0
10240000000000
2

二、比較運算符

比較運算符又稱爲關係運算符,有如下幾種:

  • ==等於:比較對象是否相等
  • !=不等於:比較兩個對象是否不相等
  • <>不等於:比較兩個對象是否不相等
  • >大於:判斷大小。
  • <小於:判斷大小。
  • >=大於等於:判斷是否大於等於。
  • <=小於等於:判斷是否小於等於。

代碼示例:

a = 10;b = 20
print a == b
print a != b
print a <> b
print a > b
print a < b
print a >= b
print a <= b
False
True
True
False
True
False
True

三、賦值運算符

Python中有如下幾種賦值運算符:

  • =:簡單的賦值運算符。c = a + b 將 a + b 的運算結果賦值爲 c
  • +=:加法賦值運算符。c += a 等效於 c = c + a
  • -=:減法賦值運算符。c -= a 等效於 c = c - a
  • *=:乘法賦值運算符。c *= a 等效於 c = c * a
  • /=:除法賦值運算符。c /= a 等效於 c = c / a
  • %=:取模賦值運算符。c %= a 等效於 c = c % a
  • **=:冪賦值運算符。c **= a 等效於 c = c ** a
  • //=:取整除賦值運算符。c //= a 等效於 c = c // a

四、位運算符

Python中有如下幾種位運算符:

  • &按位與運算符:參與運算的兩個值,若是兩個相應位都爲1,則該位的結果爲1,不然爲0 (a & b) 輸出結果 12 ,二進制解釋:0000 1100
  • |按位或運算符:只要對應的二個二進位有一個爲1時,結果位就爲1。(a | b) 輸出結果 61 ,二進制解釋:0011 1101
  • ~按位取反運算符:對數據的每一個二進制位取反,即把1變爲0,把0變爲1。(~a ) 輸出結果 -61 ,二進制解釋:1100 0011,在一個有符號二進制數的補碼形式。
  • ^按位異或運算符:當兩對應的二進位相異時,結果爲1 (a ^ b) 輸出結果 49 ,二進制解釋:0011 0001
  • <<左移動運算符:運算數的各二進位所有左移若干位,由"<<"右邊的數指定移動的位數,高位丟棄,低位補0。a << 2 輸出結果 240 ,二進制解釋: 1111 0000
  • >>右移動運算符:把">>"左邊的運算數的各二進位所有右移若干位,">>"右邊的數指定移動的位數。a >> 2 輸出結果 15 ,二進制解釋: 0000 1111

五、邏輯運算符

Python中有如下幾種邏輯運算符:

  • and與
  • or或
  • not非

三種邏輯運算分爲布爾型邏輯運算,和非布爾型邏輯運算。

布爾型的邏輯運算是正常的運算,很好理解。

非布爾型的邏輯運算須要遵循如下幾點:

  • 非布爾型全部爲空值的認爲是False,非空值都爲True。
  • 運算過程當中都是短路邏輯運算,and和or能判斷出正確結果,那麼返回最後一個判斷條件的值。
  • 非布爾型的not運算返回的都是True或False。

代碼示例:

# number邏輯運算
x = 10; y = 20
print x and y
print x or y
print not x
20
10
False
# String的邏輯運算
x = "a"; y = "b"
print x and y
print x or y
print not x
b
a
False
#String與Number的邏輯運算
x = 10 ; y = "a"
print x and y
print x or y
a
10

六、成員運算符

Python中提供了兩種成員運算符:

  • in:若是指定的序列中找到值,則返回True,不然返回False。
  • not in:若是指定的序列中沒有找到值,返回True,不然返回False。

代碼示例:

# 字符串成員判斷
a = "x"; b = "xyz"
print a in b
print a not in b
True
False
# 序列成員判斷
a = "x"; b = ["x", "y", "z"]
print a in b
print a not in b
True
False

七、身份運算符

Python中提供了兩種身份運算符:

  • is:判斷兩個標識符是不是統一對象。
  • is not:普安段兩個標識符是不是不一樣對象。

代碼示例:

a = 1;b = 1
print a is b
print a is not b
True
False

八、運算符優先級

Python中運算符的優先級從高到低以下:

  • 1.** 指數 (最高優先級)
  • 2.~、+、- 按位翻轉,一元加號和減號 (最後兩個的方法名爲 +@ 和 -@)
  • 3.*、/、%、// 乘,除,取模和取整除
  • 4.+、- 加法減法
  • 5.>>、<< 右移,左移運算符
  • 6.& 位 'AND'
  • 7.^、| 位運算符
  • 8.<=、<、>、>= 比較運算符
  • 9.<>、==、!= 等於運算符
  • 10.=、%=、/=、//=、-=、+=、*=、**= 賦值運算符
  • 11.is、is not 身份運算符
  • 12.in、not in 成員運算符
  • 13.not、or、and 邏輯運算符

7、拷貝和賦值

Python中的拷貝和賦值,針對對象,有不一樣層次的流程,具體以下。

一、直接賦值

直接賦值其實就是將對象的引用給到變量。

以下圖:

二、淺拷貝(copy)

只是拷貝父對象,不會拷貝對象內部的子對象。

以下圖:

三、深拷貝(deepcopy)

徹底拷貝父對象以及子對象。此時的拷貝,兩個對象徹底脫離了關係,是兩個獨立的對象,不會互相影響。

以下圖:

8、流程控制

Python中提供了和其餘語言同樣的流程控制語句。其中包含:

  • 條件判斷
  • 循環

一、條件判斷語句

Python中的條件判斷語句由if、elif、else組合搭配構成。其語法大體有以下兩種:

if condition:
    do somthing
else:
    do somthing
if condition:
    do somthing
elif condition:
    do somthing
else:
    do somthing

在Python中,任意值均可做爲條件,全部類型的空值爲False,除空值以外其餘全爲True。

assert斷言

在程序編寫過程當中,常用斷言來判斷代碼邏輯執行的正確與否。

代碼示例:

age = 10
assert age = 20 # 不是預期的效果就會報錯,致使程序中斷,就能夠縮小程序出錯的範圍。
File "<ipython-input-7-cdbb8299e85a>", line 2
    assert age = 20 # 不是預期的效果就會報錯,致使程序中斷,就能夠縮小程序出錯的範圍。
               ^
SyntaxError: invalid syntax

二、循環語句

Python中的循環語句包含兩種,分別是:

  • while
  • for

1.while循環

while 語句用於循環執行程序,即在某條件下,循環執行某段程序,以處理須要重複處理的相同任務。

有以下兩種語法:

while condition:
    do somthing
while condition:
    do somthing
else:
    do somthing

判斷條件能夠是任何表達式,任何非零、或非空(null)的值均爲true。

while 語句時還有另外兩個重要的命令 continue,break 來跳過循環,continue 用於跳過該次循環,break 則是用於退出循環,此外"判斷條件"還能夠是個常值,表示循環一定成立。若是判斷條件永遠爲True,那麼循環將永遠執行下去,造成無線循環。

2.for循環

for循環能夠遍歷任何序列的項目,如一個列表或者一個字符串。

語法以下:

for interating_var in sequence:
    do somthing
for index in range:
    do somthing

代碼示例:

data = [1,2,3,4]
for i in data:
    print i,
1 2 3 4
for i in range(10):
    print i,
0 1 2 3 4 5 6 7 8 9

在python中,for…else表示:for中的語句和普通的沒有區別,else中的語句會在循環正常執行完(即for不是經過break跳出而中斷的)的狀況下執行,while … else 也是同樣。

代碼示例:

for num in range(10,20):  # 迭代 10 到 20 之間的數字
   for i in range(2,num): # 根據因子迭代
      if num % i == 0:      # 肯定第一個因子
         j = num / i          # 計算第二個因子
         print '%d 等於 %d * %d' % (num,i,j)
         break            # 跳出當前循環
   else:                  # 循環的 else 部分
      print num, '是一個質數'
10 等於 2 * 5
11 是一個質數
12 等於 2 * 6
13 是一個質數
14 等於 2 * 7
15 等於 3 * 5
16 等於 2 * 8
17 是一個質數
18 等於 2 * 9
19 是一個質數

3.循環嵌套

Python 語言容許在一個循環體裏面嵌入另外一個循環。

能夠在循環體內嵌套相同的循環體,如在for循環中嵌入for循環,在while循環中嵌入while循環;也能夠在循環體內嵌入其餘的循環體,如在while循環中能夠嵌入for循環,能夠在for循環中嵌入while循環。

代碼示例:

i = 2
while(i < 100):
   j = 2
   while(j <= (i / j)):
      if not(i%j): break
      j = j + 1
   if (j > i / j) : print i, " 是素數",
   i = i + 1
 
print "Good bye!"
2  是素數 3  是素數 5  是素數 7  是素數 11  是素數 13  是素數 17  是素數 19  是素數 23  是素數 29  是素數 31  是素數 37  是素數 41  是素數 43  是素數 47  是素數 53  是素數 59  是素數 61  是素數 67  是素數 71  是素數 73  是素數 79  是素數 83  是素數 89  是素數 97  是素數 Good bye!
# 乘法口訣表
for a in range(1,10):
   for b in range(1,a + 1):
       print "%d*%d=%d\t" % (b,a,b * a),
   print '\n'
1*1=1	

1*2=2	2*2=4	

1*3=3	2*3=6	3*3=9	

1*4=4	2*4=8	3*4=12	4*4=16	

1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	

1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	

1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	

1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	

1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81

4.循環控制語句

break

Python break語句,就像在C語言中,打破了最小封閉for或while循環。

break語句用來終止循環語句,即循環條件沒有False條件或者序列還沒被徹底遞歸完,也會中止執行循環語句。

break語句用在while和for循環中。

若是使用嵌套循環,break語句將中止執行最深層的循環,並開始執行下一行代碼。

代碼示例:

for letter in 'Python':     # 第一個實例
   if letter == 'h':
      break
   print '當前字母 :', letter
  
var = 10                    # 第二個實例
while var > 0:              
   print '當前變量值 :', var
   var = var -1
   if var == 5:   # 當變量 var 等於 5 時退出循環
      break
 
print "Good bye!"
當前字母 : P
當前字母 : y
當前字母 : t
當前變量值 : 10
當前變量值 : 9
當前變量值 : 8
當前變量值 : 7
當前變量值 : 6
Good bye!
continue

Python continue 語句跳出本次循環,而break跳出整個循環。

continue 語句用來告訴Python跳過當前循環的剩餘語句,而後繼續進行下一輪循環。

continue語句用在while和for循環中。

代碼示例:

for letter in 'Python':     # 第一個實例
   if letter == 'h':
      continue
   print '當前字母 :', letter
 
var = 10                    # 第二個實例
while var > 0:              
   var = var - 1
   if var == 5:
      continue
   print '當前變量值 :', var
print "Good bye!"
當前字母 : P
當前字母 : y
當前字母 : t
當前字母 : o
當前字母 : n
當前變量值 : 9
當前變量值 : 8
當前變量值 : 7
當前變量值 : 6
當前變量值 : 4
當前變量值 : 3
當前變量值 : 2
當前變量值 : 1
當前變量值 : 0
Good bye!
pass

pass是空語句,是爲了保持程序結構的完整性。pass 不作任何事情,通常用作佔位語句。

代碼示例:

# 輸出 Python 的每一個字母
for letter in 'Python':
   if letter == 'h':
      pass
      print '這是 pass 塊'
   print '當前字母 :', letter

print "Good bye!"
當前字母 : P
當前字母 : y
當前字母 : t
這是 pass 塊
當前字母 : h
當前字母 : o
當前字母 : n
Good bye!

5.推導式

所謂推導式,就是一種從一個數據序列構件另外一個數據序列的方法。

代碼示例:

number = list(range(10))
number
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
列表推導式

代碼示例:

# 利用列表進行列表推導
li = [i * 10 for i in number]
li
[0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
字典推導式

代碼示例:

# 利用列表進行字典key推導
di = {i : "b" for i in number}
di
{0: 'b',
 1: 'b',
 2: 'b',
 3: 'b',
 4: 'b',
 5: 'b',
 6: 'b',
 7: 'b',
 8: 'b',
 9: 'b'}

上一篇:Windows中安裝Python3.7

下一篇:Python的數據結構

相關文章
相關標籤/搜索