真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

3.Python基礎(chǔ)語(yǔ)法

注釋

我們?cè)谖难晕闹薪?jīng)常會(huì)看到注釋,注釋可以幫助讀者對(duì)文章的理解。代碼中的注釋也是一樣,優(yōu)秀的代碼注釋可以幫助讀者對(duì)代碼的理解。當(dāng)然在代碼編寫(xiě)過(guò)程中,注釋的使用不一定只是描述一段代碼,也可能的是對(duì)代碼的調(diào)試。

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供孝感網(wǎng)站建設(shè)、孝感做網(wǎng)站、孝感網(wǎng)站設(shè)計(jì)、孝感網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、孝感企業(yè)網(wǎng)站模板建站服務(wù),十載孝感做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

Python注釋一共有# 、''' ''' 、""" """三種方式。我們?cè)诰帉?xiě)代碼中,一般用#進(jìn)行單行注釋,''' '''或""" """進(jìn)行多行注釋。如下代碼所示:

# 這是一段注釋

'''
這是多行注釋,使用英文單引號(hào)。
這是多行注釋,使用英文單引號(hào)。
這是多行注釋,使用英文單引號(hào)。
'''

"""
這是多行注釋,使用英文雙引號(hào)。
這是多行注釋,使用英文雙引號(hào)。
這是多行注釋,使用英文雙引號(hào)。
"""

# 單行注釋 這是一個(gè)加法
def add(a, b):
    return a + b
# 先把print(add(1, 2))注釋掉,下次如果用到print(add(1, 2))把#去掉
# print(add(1, 2))

我們右擊運(yùn)行,發(fā)現(xiàn)不會(huì)輸出任何內(nèi)容,雖然我們定義了一個(gè)add函數(shù),但是并沒(méi)有調(diào)用add函數(shù),當(dāng)我們把# print(add(1, 2))的#去掉時(shí),再右擊運(yùn)行,打印臺(tái)會(huì)輸出3。關(guān)于函數(shù)的使用,會(huì)在后面內(nèi)容進(jìn)行介紹。

變量

變量的概念和數(shù)學(xué)方程式變量是一致的。比如一元一次方程 x+1>5 ,x就是一個(gè)變量。
在計(jì)算機(jī)程序中,變量不僅可以是數(shù)字,還可以是任意數(shù)據(jù)類型。變量在程序中用一個(gè)變量名表示,變量名必須是大小寫(xiě)英文、數(shù)字和_的組合,且不能用數(shù)字開(kāi)頭,不能使用關(guān)鍵字作為變量。如下代碼所示:

a = [1, 'test', '你好', 1 + 2, False, [2, 3, 'CHINA']]
A = 1.1
b = '1'
B = 'test'
c = True
_C = False
d1 = 'test'
name = {'testDog', 'Jim', 'Mary', 'Jim', 'Jack', 'Rose'}
Python中關(guān)鍵字如下所示:
and
Execnot
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)

一般當(dāng)我們定義一個(gè)函數(shù)、使用if…else、while等時(shí),第二行都必需要進(jìn)行縮進(jìn)。使用四個(gè)空格或鍵盤(pán)上的tab鍵表示縮進(jìn)。如下代碼所示:

def add(a, b):
    return a + b

if 0 < 1:
    print("True")

如果我們縮進(jìn)位置不對(duì)時(shí),運(yùn)行下面這段代碼一般會(huì)報(bào)IndentationError: expected an indented block錯(cuò)誤。如下代碼所示:

def add(a, b):
 return a + b

print(add(1, 2))

input和print

input意思是等待用戶輸入,print我們之前也已經(jīng)用過(guò),表示打印的意思。我們運(yùn)行下面這段代碼,會(huì)發(fā)現(xiàn)Pycharm打印臺(tái)需要我們輸入2個(gè)數(shù),當(dāng)我們輸入第一個(gè)數(shù)字時(shí),按下Enter,會(huì)讓我們輸入第二個(gè)數(shù),輸完第二個(gè)數(shù),按Enter,程序運(yùn)行結(jié)束。當(dāng)然下面這段代碼是有Bug的,猜猜Bug在哪里呢?如下代碼所示:

a = input("請(qǐng)輸入第一個(gè)數(shù):")
b = input("請(qǐng)輸入第二個(gè)數(shù):")
print("輸入的2個(gè)數(shù)和為:", (a + b)

上面代碼將輸出如下內(nèi)容:

請(qǐng)輸入第一個(gè)數(shù):1
請(qǐng)輸入第二個(gè)數(shù):2
輸入的2個(gè)數(shù)和為:3

import與from...import

python 用 import 或者 from...import 來(lái)導(dǎo)入相應(yīng)的模塊。
將整個(gè)模塊(somemodule)導(dǎo)入,格式為: import somemodule
從某個(gè)模塊中導(dǎo)入某個(gè)函數(shù),格式為: from somemodule import somefunction
從某個(gè)模塊中導(dǎo)入多個(gè)函數(shù),格式為:from somemodule import firstfunc, secondfunc, thirdfunc
將某個(gè)模塊中的全部函數(shù)導(dǎo)入,格式為:from somemodule import *

import

import time

print(time.strftime('%Y.%m.%d',time.localtime(time.time())))

上面代碼將輸出如下內(nèi)容:

2019.02.01

from...import

模塊導(dǎo)入函數(shù)

from datetime import datetime
print(datetime.now())

上面代碼將輸出如下內(nèi)容:
2019-02-01 10:14:45.614800

從.py文件導(dǎo)入

已知目錄結(jié)構(gòu)如下:
3. Python基礎(chǔ)語(yǔ)法
test1.py代碼如下:

def add(a, b):
    return a + b

test2.py代碼如下:

from test1 import add

print(add(1,2))

運(yùn)行test2.py打印如下內(nèi)容:

3

注意,該目錄結(jié)構(gòu)有一個(gè)init.py文件,這個(gè)init.py文件聲明該目錄是一個(gè)python模塊。小伙伴可以試試去掉init.py后是否可以執(zhí)行。

定義一個(gè)函數(shù)

def 函數(shù)名(參數(shù)列表):
    函數(shù)體

函數(shù)實(shí)例

def hello():
    print("hello world")

創(chuàng)建一個(gè)類和對(duì)象

class People():
    """
    定義一個(gè)人類
    """
    def __init__(self, name):
        self.name = name

    def my_name(self):
        print("我的名字是:"+self.name)

bobby = People('bobby') # 創(chuàng)建一個(gè)對(duì)象
bobby.my_name()

上面代碼將輸出如下內(nèi)容:

我的名字是:bobby

注意

  1. 第一種方法init()方法是一種特殊的方法,被稱為類的構(gòu)造函數(shù)或初始化方法,當(dāng)創(chuàng)建了這個(gè)類的實(shí)例時(shí)就會(huì)調(diào)用該方法。
  2. self 代表類的實(shí)例,self 在定義類的方法時(shí)是必須有的,雖然在調(diào)用時(shí)不必傳入相應(yīng)的參數(shù)。

我們創(chuàng)建了一個(gè)People類,People類有一個(gè)構(gòu)造函數(shù),當(dāng)我們創(chuàng)建一個(gè)People類的對(duì)象時(shí)需要傳入一個(gè)參數(shù),創(chuàng)建的對(duì)象可以調(diào)用People類中的方法

異常處理

我們?cè)诰帉?xiě)Python程序時(shí),經(jīng)常會(huì)因?yàn)橐恍╁e(cuò)誤導(dǎo)致剩下的代碼無(wú)法執(zhí)行,為了解決這個(gè)問(wèn)題,Python內(nèi)置了一套try...except...finally...的錯(cuò)誤處理機(jī)制。我們先看一段會(huì)拋出異常的代碼

a = 10

if a > 0:
    b = a / 0
else:
    b = a + 1

print(b)

上面代碼將輸出如下內(nèi)容:

Traceback (most recent call last):
File "F:/新建文件夾/blogApiTest/test5.py", line 42, in
b = a/0
ZeroDivisionError: division by zero

上面代碼比較簡(jiǎn)單,我們發(fā)現(xiàn),我們的當(dāng)a>0時(shí),我們將執(zhí)行 b = a / 0,除數(shù)為0。我們都知道除數(shù)不能為0,所以Python程序會(huì) 拋出異常,那么我們?cè)趺床拍芙邮苓@個(gè)異常并使程序繼續(xù)執(zhí)行下去呢?我們可以使用try...except...finally. 如下代碼所示:

try:
    a = 10
    if a > 0:
        b = a / 0
    else:
        b = a + 1
    print(b)
except ZeroDivisionError as e:
    print(e)
finally:
    print("end")

上面代碼將輸出如下內(nèi)容:

division by zero
end

我們將我們的程序放在try里面,如果發(fā)生錯(cuò)誤拋出ZeroDivisionError 異常,這里為了簡(jiǎn)便,把ZeroDivisionError 重命名為e,當(dāng)然,我們也可以不使用finally,可以直接使用try...except。這里有個(gè)問(wèn)題,我是怎么知道會(huì)拋出ZeroDivisionError 異常的呢?我將給大家羅列一些常見(jiàn)異常,如下表格所示:

異常描述
AttributeError 試圖訪問(wèn)一個(gè)對(duì)象沒(méi)有的樹(shù)形,比如foo.x,但是foo沒(méi)有屬性x
IOError 輸入/輸出異常;基本上是無(wú)法打開(kāi)文件
ImportError 無(wú)法引入模塊或包;基本上是路徑問(wèn)題或名稱錯(cuò)誤
IndentationError 語(yǔ)法錯(cuò)誤(的子類) ;代碼沒(méi)有正確對(duì)齊
IndexError 下標(biāo)索引超出序列邊界,比如當(dāng)x只有三個(gè)元素,卻試圖訪問(wèn)x[5]
KeyError 試圖訪問(wèn)字典里不存在的鍵
NameError 使用一個(gè)還未被賦予對(duì)象的變量
SyntaxError 語(yǔ)法錯(cuò)誤
TypeError 傳入對(duì)象類型與要求的不符合
ValueError 傳入一個(gè)調(diào)用者不期望的值,即使值的類型是正確的

當(dāng)然如果我們不知道會(huì)拋出什么異常,我們可以使用BaseException,因?yàn)樗械腻e(cuò)誤類型都繼承自BaseException,所以在使用except時(shí)需要注意的是,它不但捕獲該類型的錯(cuò)誤,還把其子類也“一網(wǎng)打盡”。比如:

try:
    a = 10
    if a > 0:
        b = a / 0
    else:
        b = a + 1
    print(b)
except BaseException as e:
    print(e)

上面代碼將輸出如下內(nèi)容:

division by zero

歡迎關(guān)注微信公眾號(hào):軟件測(cè)試汪。軟件測(cè)試交流群:809111560


本文名稱:3.Python基礎(chǔ)語(yǔ)法
本文來(lái)源:http://weahome.cn/article/josdod.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部