中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python函數及操作

發布時間:2020-08-14 10:10:19 來源:網絡 閱讀:227 作者:mb5d03569e7eb16 欄目:系統運維

博文結構
自定義函數
變量作用域
Python內建函數

一.函數

Python中的函數都是語句和表達式的集合。函數的用法并沒有限制,使用方式就像Python 中其他值一樣,對于重復使用的代碼,需要編寫為自定義函數以便于重復使用。

函數可以分為無參函數和帶參函數

1.無參函數

自定義無參函數并不復雜,語法格式如下:


                                        def函數名稱() :
                                                        代碼塊
                                                        return [表達式]

案例:

def add():                    \\定義函數
    op1=10
    op2=20
    rt=op1+op2
    print op1,'+',op2,rt
    return
add()                            \\調用函數

\\輸出結果

>>> 
10 + 20 30
>>> 

案例:輸出九九乘法表

def nineMultiTab():
    op1=(1,2,3,4,5,6,7,8,9)
    op2=(1,2,3,4,5,6,7,8,9)
    for i in op1:
        for j in op2:
            print i,"*",j,"=",i*j
    retrun
nineMultiTab()

\\輸出結果

>>> 
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
1 * 4 = 4
1 * 5 = 5
1 * 6 = 6
1 * 7 = 7
1 * 8 = 8
1 * 9 = 9
2 * 1 = 2
2 * 2 = 4
..................略

(2)使用函數時經常會犯一-些錯誤,總結如下

函數的定義要先于函數的調用,否則會出錯。
函數體的代碼是一個整體,要注意縮進。
定義函數時要使用冒號,但調用時不可以使用冒號。

2.帶參參數

帶參函數的語法格式如下:


                                                        def函數名稱(形式參數列表) :
                                                                        代碼塊
                                                                        return[表達式]

案例:

def add(x,y):                  \\帶參數函數定義
    return x + y
print add(1,2)                  \\帶參數函數調用

\\輸出結果

>>> 
3

(1)當程序比較煩瑣時,參數的順序很難記住,可以使用關鍵字參數。關鍵字參數是在調用函數時,明確指定參數值賦給哪個形參,語法格式如下:

函數名稱(形參1=實參1,形參2=實參...)

綜合案例:(計算器)

def operator (op1,op2,opFu):
    if opFu not in '+-*/':
        return -1
    if opFu == '+':
        result = op1+op2
    elif opFu == '-':
        result = op1 - op2
    elif opFu == '*':
        result = op1*op2
    elif opFu == '/':
        if op2 == 0:
            print '錯誤,除數不能為0'
            result = None
        else:
            result = op1 / op2
    return result
def convert(op):
    flag = True
    for ch in op:
        if ch not in '1234567890':
            flag = Flase
            brank
        if flag == True:
            return int(op)
        else:
            return None
if __name__== '__main__':
     str1 = '請輸入第1個數:\n'
     strFu = '請輸入一個算術運算符:\n'
     str2 = '請輸入2個數:\n'
     while True:
        print '需要退出程序,請輸入字母q'
        opp1 = raw_input(str1)
        ch = opp1.strip()[0].lower()
        if ch =='q':
            break
        op1 = convert(opp1)
        if op1 ==None:
            print '輸入錯誤,請輸入整數!/n'
            continue
        while True:
            opFu= raw_input(strFu)
            if opFu in '+-*/':
              break
            else:
                print '運算符輸入錯誤'
                continue
        while True:
            op2 = convert(raw_input(str2))
            if op2 == None:
                print "輸入錯誤,請輸入整數!\n"
                continue
            else:
                break
        result = operator(op1,op2,opFu)
        if result <> None:
            print "計算%d %s %d = %d\'n" %(op1,opFu,op2,result)
print '程序退出了'

\\輸出結果如下

需要退出程序,請輸入字母q
請輸入第1個數:
20
請輸入一個算術運算符:
*
請輸入2個數:
30
計算20 * 30 = 600'n
需要退出程序,請輸入字母q

二.變量作用域

作用域是指變量在程序中的應用范圍,而變量聲明的位置決定它的作用域,Python按作用域區分有局部變量和全局變量。全局變量是指在一個模塊中最高級別的變量有全局作用域,除非被刪除,否則存活到程序運行結束,所有函數都能訪問全局變量。
局部變量是指定義在函數內的變量有局部作用域,依賴于定義變量的函數現階段是否處于活動狀態,調用函數時,局部變量產生,暫時存在。-旦 函數執行完,局部變量將會被釋放。局部變量的作用域僅限于定義它的函數,全局變量的作用域在整個模塊內部都是可見的。在同一個函數中,不允許有同名局部變量。在不同的函數中,可以有同名局部變量。在同一個程序中,全局變量和局部變量同名時,局部變量具有更高的優先級。
下面代碼演示局部變量和全局變量的使用情況:

def addAge(age):
    age +=1
    print 'addAge(): _age=%d age=%d' %(_age,age)
    return age
_age = input('輸入年齡: \n')
rt = addAge(_age)
print 'main(): _age =%d ' %_age
print 'main(): rt=%d' %rt

\\輸出結果如下

>>> 
輸入年齡: 
20
addAge(): _age=20 age=21
main(): _age =20 
main(): rt=21
>>> 

局部變量只有在局部中才能使用,其他范圍是訪問不到的,如age是局部變量.在全局范圍就引用不到,比如在程序最后加上代碼

  • lambda函數
    lambda函數的作用是創建匿名函數,是一種聲明函數的特殊方式。
    lambda函數的語法如下所示:

lambda params: expr

params相當于函數接收的參數列表,expr 是函數返回值的表達式。

普通函數和一個lambda函數,案例如下:

def sum1(x,y):                             \\普通函數
    return x+y
sum2 = lambda x,y : x+y             \\lambda函數
print sum1(3,4)
print sum2(3,4)

\\輸出結果如下

>>> 
7
7
  • 內建函數

Python除了本身的語法結構,還提供了常用的內建函數。內建函數是程序員經常使用到的方法.可增加程序編寫的效率,如float()就是內建的函數。內建函數是自動加載的, Python 的解釋器可以識別。它不需要導入模塊,不必做任何的操作.不需要引用就可以調用。

(1)abs()函數能夠返回一個數字的絕對值,即正數。語法格式如下:

abs (x)

案例:

>>> abs(10)
10
>>> abs(-10)
10
>>> bb = -3
>>> abs(bb)
3

(2) bool()函 數返回值是True或False.它是Boolean (布爾值)的簡寫,語法格式如下:

bool([x]

案例:里面不能為空

>>> bool()
False
>>> bool(0)
False
>>> bool(-3)
True
>>> bool('xws')
True

(3) float() 函數用于轉換數據為float 類型,語法格式如下:

float([ x ])

案例:

>>> float('25')
25.0
>>> float(3)
3.0
>>> float(999.123)
999.123
>>> 

字符串和數字都可以轉為float類型,如果不能轉換,就會拋出異常。

(4) int ()函數可以將數據轉換為整數,語法結構如下:

int ([ x [,base]])

案例:

>>> int(199.99)                      \\浮點數
199
>>> int('100')                           \\字符串
100
>>> int('99.9')                           \\字符串

Traceback (most recent call last):
  File "<pyshell#25>", line 1, in <module>
    int('99.9')
ValueError: invalid literal for int() with base 10: '99.9'
>>> 

需要注意當參數是字符串時,字符串中只能是整數格式,如果是浮點格式將有異常產生。

(5)range ()函數可以生成- -個列表,語法結構如下:

range ([start,] stop[,step])

案例:

>>> range(0,5)
[0, 1, 2, 3, 4]
>>> range(0,30,3)
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]       \\遞增
>>> range(30,0,-3)
[30, 27, 24, 21, 18, 15, 12, 9, 6, 3]      \\遞減
>>> 

(6) sum () 函數可以對列表中元素求和,語法結構如下

sum(x[ ,start] )

案例:

>>> num=range(0,500,50)
>>> num
[0, 50, 100, 150, 200, 250, 300, 350, 400, 450]
>>> print(sum(num))
2250
>>> 

(7) max()函數可以返回列表、元組或字符串中最大的元素,語法結構如下:

max (x)

案例:


>>> num=[6,2,12,7,64]
>>> max(num)
64
>>> string ='d,u,a,n,g,D,U,A,N,G'
>>> max(string)
'u'
>>> 

len()函數返回一個對象的長度,語法格式如下:

len(s)

案例

>>> len('duang')                                    \\字符串
5
>>> aa=['python','jave','c#','vb']              \\列表
>>> len(aa)
4
>>> bb={'zhangsan':'100','lisi':'90'}          \\字典
>>> len(bb) 
2
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

莎车县| 会泽县| 桂东县| 建平县| 晋州市| 郁南县| 江陵县| 西青区| 揭阳市| 武川县| 黄石市| 察哈| 烟台市| 苗栗市| 龙泉市| 平江县| 安多县| 科尔| 易门县| 博客| 澎湖县| 太白县| 故城县| 台北县| 宜川县| 威远县| 洛川县| 雅安市| 大连市| 称多县| 泗水县| 株洲县| 桐庐县| 弥勒县| 万载县| 河间市| 葵青区| 新乡市| 横山县| 龙江县| 佛山市|