Python3快速入門(二)Python3基礎

一、Python3語法基礎

1、Python3編碼

默認情況下,Python 源碼文件以 UTF-8 編碼,所有字符串都是 unicode 字符串,可以爲Python源碼文件指定不同的編碼,如下:

# -*- coding: utf-8 -*-

2、標識符

Python語言的標識符規則如下:

A、第一個字符必須是字母表中字母或下劃線 。

B、標識符的其它的部分由字母、數字和下劃線組成。

C、標識符對大小寫敏感。

在 Python 3 中,允許非 ASCII 標識符。

3、Python保留字

保留字即關鍵字,不能作爲任何標識符名稱。Python 的標準庫提供了一個keyword模塊,可以輸出當前版本的所有關鍵字:

在學習過程中有什麼不懂得可以加我的
python學習資源qun,855-408-893
羣裏有不錯的學習視頻教程、開發工具與電子書籍。
與你分享python企業當下人才需求及怎麼從零基礎學習好python,和學習什麼內容

>>> import keyword

>>> keyword.kwlist

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

>>>

4、Print輸出

print輸出默認是換行的,如果要實現不換行需要在變量末尾加上 end=""。


#!/usr/bin/python3

print("Hello Python3")

print("Hello ", end="")

print("Python", end="3\n")

5、Python註釋

Python中單行註釋以#開頭:


#! /usr/bin/python3

# 第一個註釋

print("Hello Python3")  #第二個註釋

Python3中多行註釋用三個單引號 ''' 或者三個雙引號 """ 。


#!/usr/bin/python3

'''

第三註釋

第四註釋

'''

"""

第五註釋

第六註釋

"""

print("Hello Python3")

6、縮進

Python最具特色的就是使用縮進來表示代碼塊,不需要使用大括號 {} 。

縮進的空格數是可變的,但同一個代碼塊的語句必須包含相同的縮進空格數,如果縮進不相同會導致運行錯誤。實例如下:


#!/usr/bin/python3

flag = True

if flag:

    print("True")

    print("true")

else:

    print("False")

    print("false")

print ("Hello Python3")

7、多行語句

Python 通常是一行寫完一條語句,但如果語句很長,可以使用反斜槓()來實現多行語句。


#!/usr/bin/python3

item_one = 1

item_two = 2

item_three = 3

total = item_one + \

        item_two + \

        item_three

print(total)

在 [], {}, 或 () 中的多行語句,不需要使用反斜槓(),例如


#!/usr/bin/python3

item_one = 1

item_two = 2

item_three = 3

total = item_one + \

        item_two + \

        item_three

print(total)

total = ['item_one', 'item_two', 'item_three',

      'item_four', 'item_five']

print(total)

8、變量

Python 中的變量不需要聲明,每個變量在使用前都必須賦值,變量賦值後纔會被創建。

在 Python 中,變量沒有類型,類型是變量所指的內存中對象的類型。

Python允許同時爲多個變量賦值。


a = b = c = 1

a, b, c = 1, True, "hello"

x,y = 1,2

x,y = y,x

print(x,y)

Python中變量命名推薦使用匈牙利命名法則。

9、用戶輸入


#!/usr/bin/python3

input("Please enter the name:\n")

上述Python代碼會等待用戶輸入,按回車鍵後退出。

10、數字類型

Python中數字有四種類型:整數、布爾型、浮點數和複數。

int (整數),只有一種整數類型int,表示爲長整型。

bool (布爾),True,False。

float (浮點數),如 1.23、3E-2

complex(複數),如 1 + 2j、 1.1 + 2.2j

11、字符串

Python中使用單引號和雙引號創建字符串,使用三引號('''或""")可以創建一個多行字符串。

轉義符 '\'

反斜槓可以用來轉義,使用r可以讓反斜槓不發生轉義,如 r"this is a line with \n" 則\n會顯示,並不換行。

字符串可以用+運算符連接在一起,用 * 運算符重複。

Python 中的字符串有兩種索引方式,從左往右以 0 開始,從右往左以 -1 開始。

Python中的字符串不能改變。

Python沒有單獨的字符類型,一個字符就是長度爲 1 的字符串。

二、Python3運算符

1、算術運算符


加(+):兩對象相加

減(-):兩對象相減

乘(*):兩個數相乘或是返回一個被重複若干次的字符串

除(/):x除以y

取模(%):返回除法的餘數

冪(**):返回x的y次冪

取整除(//):向下取接近除數的整數

Python3算術運算符的示例代碼:


#!/usr/bin/python3

a = 10

b = 5

c = 0

# +

c = a + b

print("a + b = ", c)

# a + b =  15

a = "Hello"

b = "Python3"

c = a + b

print("a + b = ", c)

#a + b =  HelloPython3

# -

a = 10

b = 5

c = a -b

print("a - b = ", c)

# a - b =  5

# *

a = 10

b = 3

c = a * b

print("a * b = ", c)

#a * b =  30

a = "Hello"

b = 3

c = a * b

print("a * b = ", c)

#a * b =  HelloHelloHello

# /

a = 10

b = 3

c = a / b

print("a / b = ", c)

#a / b =  3.3333333333333335

# %

a = 10

b = 3

c = a % b

print("a % b = ", c)

#a % b =  1

# **

a = 2

b = 10

c = a ** b

print("a ** b = ", c)

# a ** b =  1024

# //

a = 10

b = 3

c = a // b

print("a // b = ", c)

# a // b =  3

2、比較運算符


等於(==):比較對象是否相等

不等於(!=):比較對象是否不相等

大於(>):x是否大於y

小於(<):是否x小於y

大於等於(>=):x是否大於等於y

小於等於(<=):x是否小於等於y

Python3關係運算符的示例代碼如下:


#!/usr/bin/python3

a = 21

b = 10

c = 0

if (a == b):

    print("a 等於 b")

else:

    print("a 不等於 b")

if (a != b):

    print("a 不等於 b")

else:

    print("a 等於 b")

if (a < b):

    print("a 小於 b")

else:

    print("a 大於等於 b")

if (a > b):

    print("a 大於 b")

else:

    print("a 小於等於 b")

if (a <= b):

    print("a 小於等於 b")

else:

    print("a 大於  b")

if (b >= a):

    print("b 大於等於 a")

else:

    print("b 小於 a")

對於字符串、列表、元組的比較運算,按照序列的元素進行逐個比較。


a1 = "hello"

a2 = "hello"

print(a1 == a2)

b1 = [1,2,3]

b2 = [1,2,3]

print(b1 == b2)

c1 = (1,2,3)

c2 = (1,2,4)

print(c2 > c1)

3、賦值運算符


賦值(=):簡單賦值運算

加法賦值(+=):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

Python3賦值運算符的示例如下:


#!/usr/bin/python3

a = 21

b = 10

c = 0

# =

c = a + b

print("c = ", c)

# c = 31

# +=

a = 10

c = 3

c += a

print("c = ", c)

# c = 13

a = 3

c = 10

# -=

c -= a

print("c = ", c)

# c = 1

# *=

a = 3

c = 5

c *= a

print("c = ", c)

# c = 15

# /=

a = 2

c = 10

c /= a

print("c = ", c)

# c = 5.0

# %=

a = 3

c = 10

c %= a

print("c = ", c)

# c = 1

# **=

a = 10

c = 2

c **= a

print("c = ", c)

# c = 1024

# //=

c = 10

a = 3

c //= a

print("c = ", c)

# c = 3

4、邏輯運算符

邏輯與(and):x and y, 如果 x 爲 False,x and y 返回 x,否則返回 y 的值。

邏輯或(or):x or y,如果 x 是 True,返回 x 的值,否則返回 y 的值。

邏輯非(not):not x,如果 x 爲True,返回False 。如果 x 爲 False,返回 True。

Python3邏輯運算符的示例如下:


#!/usr/bin/python3

x = 10

y = 5

# x and y

print(x and y) #5

print(0 and y) #0

# x or y

print(x or y)  #10

print(0 or y)  #5

# not x

print(not x)

print(not False)

5、位運算符

按位與運算符(&):參與運算的兩個值,如果兩個相應位都爲1,則該位的結果爲1,否則爲0。

按位或運算符(|):只要對應的二個二進位有一個爲1時,結果位就爲1。

按位異或運算符(^):當兩對應的二進位相異時,結果爲1。

按位取反(~):對數據的每個二進制位取反,即把1變爲0,把0變爲1。~x等價於-(x+1)。

左移運算符(<<):運算數的各二進位全部左移若干位,由"<<"右邊的數指定移動的位數,高位丟棄,低位補0。

右移運算符(>>):把">>"左邊的運算數的各二進位全部右移若干位,">>"右邊的數指定移動的位數。

Python3位運算符的示例如下:


#!/usr/bin/python3

a = 0b00111100

b = 0b00001101

c = 0

c = a & b;

print("c 的值爲:", bin(c))  # 0b1100

c = a | b;

print("c 的值爲:", bin(c))  # 0b111101

c = a ^ b;

print("c 的值爲:", bin(c))  # 0b110001

c = ~a;

print("c 的值爲:", bin(c))  # -0b111101

c = a << 2;

print("c 的值爲:", bin(c))  # 0b11110000

c = a >> 2;

print("c 的值爲:", bin(c))  # 0b1111

6、成員運算符

Python支持成員運算符,測試實例中是否包含了一系列的成員,包括字符串,列表或元組。

in:如果在指定的序列中找到值返回 True,否則返回 False。

not in:如果在指定的序列中沒有找到值返回 True,否則返回 False。

Python3成員運算符的示例如下:


#!/usr/bin/python3

a = 1

b = 20

list = [1, 2, 3, 4, 5]

if (a in list):

    print("變量a在給定的列表list中")

else:

    print("變量a不在給定的列表list中")

if (b not in list):

    print("變量b不在給定的列表list中")

else:

    print("變量b在給定的列表list中")

7、身份運算符

Python3身份運算符用於比較兩個對象的存儲單元。

is:x is y,用於判斷兩個標識符是不是引用自一個對象,如果引用的是同一個對象則返回 True,否則返回 False。

is not:x is not y,用於判斷兩個標識符是不是引用自不同對象,如果引用的不是同一個對象則返回結果 True,否則返回 False。

Python3身份運算符的示例如下:


#!/usr/bin/python3

a = 20

b = 20

if (a is b):

    print("a和b有相同的標識")

else:

    print("a和b沒有相同的標識")

if (a is not b):

    print("a和b沒有相同的標識")

else:

    print("a和b有相同的標識")

Python中對象類型的判斷使用is×××tance方法進行判斷。

a = "hello"

print(is×××tance(a, str))

8、運算符優先級

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

Python3快速入門(二)Python3基礎

編碼過程中對於模糊不確定的優先級建議使用加括號顯示確定。

三、Python3流程控制

1、條件控制

Python條件語句是通過一條或多條語句的執行結果(True或者False)來決定執行的代碼塊。

Python中if語句的一般形式如下:

在學習過程中有什麼不懂得可以加我的
python學習資源qun,855-408-893
羣裏有不錯的學習視頻教程、開發工具與電子書籍。
與你分享python企業當下人才需求及怎麼從零基礎學習好python,和學習什麼內容

if condition_1:

    statement_block_1

elif condition_2:

    statement_block_2

else:

    statement_block_3

如果"condition_1"爲True將執行"statement_block_1"塊語句。

如果"condition_1"爲False,將判斷"condition_2"。

如果"condition_2"爲True將執行"statement_block_2"塊語句。

如果 "condition_2" 爲False,將執行"statement_block_3"塊語句。

每個條件後使用冒號(:)表示滿足條件後要執行的語句塊。

條件控制中使用縮進來劃分語句塊,相同縮進數的語句在一起組成一個語句塊。

在Python中沒有switch – case語句。


#! /usr/bin/python3

score = int(input("Please enter the score: "))

if score < 60:

    print("D")

elif score < 80:

    print("C")

elif score < 90:

    print("B")

elif score <= 100:

    print("A")

在嵌套 if 語句中,可以把 if...elif...else 結構放在另外一個 if...elif...else 結構中。

2、循環控制

Python中的循環語句有for和 while。Python中while語句的一般形式如下:


while 判斷條件:

    語句

在Python中沒有do..while循環。


#! /usr/bin/python3

N = 100

counter = 1

n = 0

while counter <= N:

    n += counter

    counter += 1

print("1 到 %d 之和爲: %d" % (N, n))

在 while … else 在條件語句爲 false 時執行 else 的語句塊.


#! /usr/bin/python3

count = 0

while count < 5:

    print("Hello Python3")

    count += 1

else:

    print("Hello Go")

如果while循環體中只有一條語句,可以將該語句與while寫在同一行中, 如下所示:


#! /usr/bin/python3

flag = 1

while flag: print('Hello Python3')

print("Good bye!")

Python中for循環可以遍歷任何序列的項目,如一個列表或者一個字符串。

for循環的一般格式如下:


for <variable> in <sequence>:

    <statements>

else:

    <statements>

#! /usr/bin/python3

languages = ["C", "C++", "Perl", "Python"]

for x in languages:

    print(x)

for 循環中使用break語句用於跳出當前循環體,不會正常結束for循環,即不執行else分支。


#! /usr/bin/python3

languages = ["C", "C++", "Perl", "Python"]

for x in languages:

    if x == "Python":

        print(x)

        break

    print(x)

else:

    print("None")

range()內置函數可以用於生成數列。


#! /usr/bin/python3

for x in range(5):

    print(x)

# 指定區間

for x in range(5,9):

    print(x)

# 指定區間和步長

for x in range(0,10,2):

    print(x)

for x in range(-10,-100,-10):

    print(x)

a = [1,2,3,4,5,6,7,8]

for i in range(0, len(a), 2):

    print(a[i])

b = a[0:len(a):2]

print(b) # [1, 3, 5, 7]

通過seq[0:len(seq):step]可以從seq每隔step步長取一個元素構成新的序列。

Python中pass空語句用於保持程序結構的完整性,pass 不做任何事情,一般用做佔位語句。


#! /usr/bin/python3

for x in range(5):

    pass

3、switch實現

Python不支持switch,通過使用字典可以實現switch,實現方案如下:

A、利用字典取值get方法的容錯性,處理switch語句中的default情況。

B、設置字典的vlaue爲對應方法名,來代替switch語句中的代碼塊。

C、爲不同key設置相同的value,模擬switch中穿透。

字典實現switch的示例如下:


#!/usr/bin/python3

def taskForRest():

    print("Today is easy!")

def taskForWork():

    print("Good job!")

def taskForDefault():

    print("Invalid input!")

switchDic = {"Sunday":taskForRest,

            "Monday":taskForWork,

            "Tuesday":taskForWork,

            "Wednesday":taskForWork,

            "Tursday":taskForWork,

            "Friday":taskForWork,

            "Saturday":taskForRest

}

monday = "Monday"

switchDic.get(monday,taskForWork())

tuesday = "Tuesday"

switchDic.get(tuesday, taskForWork)()

today = "Today"

switchDic.get(today,taskForDefault())
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章