成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

python_bomb----函數(shù)

oogh / 1458人閱讀

摘要:函數(shù)的定義范例總結(jié)無參函數(shù)名快注釋函數(shù)體定義函數(shù),并不會執(zhí)行函數(shù)體里面的內(nèi)容調(diào)用函數(shù)的過程函數(shù)里面嵌套函數(shù)調(diào)用外層函數(shù)時,內(nèi)層函數(shù)不會執(zhí)行變量參數(shù)定義函數(shù)時的變量,稱做形參,可以任意命名真實的數(shù)據(jù)信息,調(diào)用函數(shù)時傳遞的參數(shù),稱為實參是形參是

函數(shù)的定義

范例

def print(self, *args, sep=" ", end="n", file=None):

總結(jié)

無參

def 函數(shù)名():

快注釋
函數(shù)體

定義函數(shù),并不會執(zhí)行函數(shù)體里面的內(nèi)容

def hello():
    print("hello")
    print("sheenstar")

調(diào)用函數(shù)的過程

hello()

函數(shù)里面嵌套函數(shù)

def sheen():
    print("happy is ...")
    def star():
        print("sheen")

調(diào)用外層函數(shù)時,內(nèi)層函數(shù)不會執(zhí)行

sheen()

happy is ...
變量參數(shù)

定義函數(shù)時的變量,稱做形參,可以任意命名
真實的數(shù)據(jù)信息,調(diào)用函數(shù)時傳遞的參數(shù),稱為實參

def game(guess):    #guess是形參
    print(guess>2)

game(3)    #3是實參
number = 1
game(number)    #number是實參
形參

形參可分為:位置參數(shù),默認參數(shù),可變參數(shù),關(guān)鍵字參數(shù)

位置參數(shù)

形參必須和實參個數(shù)一致,按照位置傳遞參數(shù)

def getinfo(name, age):
    print(name, age)


getinfo("sheen", 17)
getinfo(age=13, name="star")

sheen 17
star 13

默認參數(shù)

實參和形參的個數(shù)可以不一致

def mypow(x, y=2):
    """
    求x的y次方,y默認值為2
    :param x: value
    :param y:
    :return:
    """
    print(x ** y)

mypow(2)
mypow(2, 3)

4
8

可變參數(shù)

# 可變參數(shù)
def mysum(*args):
    """
    用戶可以傳入任意個數(shù)值,計算數(shù)值的和
    注意:*args是可變參數(shù);
        args是元組數(shù)據(jù)類型
        args可以改稱其他,因為是形參
    mysum(1,2,45,787,...)
    :return:
    """
    print(args)  # 元組
    sum = 0
    for item in args:
        sum += item
    print(sum)


mysum(1, 2, 3, 4, 5, 6, 7)


28

關(guān)鍵字參數(shù)

**kwargs是一個字典,可以傳遞任意多的key-value對

def getstinfo(name, age, **kwargs):
    print(name, age)
    print(kwargs)


getstinfo("sheen", 19, hobbies=["code", "flower"], gender="female")

sheen 19
{"hobbies": ["code", "flower"], "gender": "female"}
動態(tài)添加函數(shù)成員
def fun():
    print(fun.x)
fun()    #報錯,AttributeError: "function" object has no attribute "x"
動態(tài)添加
fun.x = 3
fun()

3
動態(tài)刪除
fun.x = 3
del fun.x
fun()    #報錯,AttributeError: "function" object has no attribute "x"
函數(shù)返回值

返回值:函數(shù)運算的結(jié)果,還需要進一步操作時,給一個返回值"return"
"return"用來返回函數(shù)執(zhí)行結(jié)果,如果沒有返回,默認為‘none’
遇到"return",函數(shù)執(zhí)行結(jié)束,后面代碼不會執(zhí)行,(yield)
python可以間接返回多個值;原理:返回一個元組,再對元組進行解包

def myfun(x,y):
    return x+y,x-y,x*y,x**y

m=myfun(3,2)
print(m)

(5, 1, 6, 9)
變量的作用域

變量:局部變量,全局變量
局部變量:在函數(shù)體內(nèi)定義的變量,只在函數(shù)內(nèi)有意義,函數(shù)執(zhí)行結(jié)束后,變量不存在
不可變數(shù)據(jù)類型:函數(shù)內(nèi)部改變,不會影響外部變量值
可變數(shù)據(jù)類型:函數(shù)內(nèi)部改變,會影響外部變量值

a= 1
print("outsides",id(a))
def fun():
    a=5    #局部變量
    print("besides:",id(a))
fun()
print(a)

outsides 9326560
besides: 9326688
1
# 全局變量:global
a= 1
print("outsides",id(a))
def fun():
    global a    #a為全局變量
    a=5
    print("besides:",id(a))
fun()
print(a)
print(id(a))

outsides 9326560
besides: 9326688
5
9326688

函數(shù)補充

給變量和返回值都設(shè)定默認數(shù)據(jù)類型,不是此類型,函數(shù)仍能執(zhí)行

def myadd(x:int,y:int) -> int:
    return x+y

print(myadd(1.0,8))

9.0

參數(shù)數(shù)據(jù)類型的判斷

isinstance()

>>> isinstance(1,int)
True
>>> isinstance([1,2],int)
False

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/42223.html

相關(guān)文章

  • python_bomb----高階函數(shù)

    摘要:高階函數(shù)實參是一個函數(shù)名函數(shù)的返回值是一個函數(shù)傳遞的參數(shù)包含函數(shù)名。內(nèi)置高階函數(shù)函數(shù)函數(shù)接收兩個參數(shù)一個是函數(shù)一個是序列將傳入的函數(shù)依次作用到序列的每個元素并把結(jié)果作為新的返回。 高階函數(shù) 實參是一個函數(shù)名 函數(shù)的返回值是一個函數(shù) print(abs(-10)) f = abs print(f(-10)) #傳遞的參數(shù)包含函數(shù)名。 def myfun(x,y,fun): ...

    Pocher 評論0 收藏0
  • python_bomb----函數(shù)高級特性(生成器)

    迭代 可以通過 for 循環(huán)來遍歷 list 或 tuple,這種遍歷我們稱為迭代(Iteration)只要是可迭代對象,都可以迭代,比如字典默認情況下,字典迭代的是key值如何讓判斷一個類型是否可迭代 from collections import Iterable #導入collections模塊的Iterable類型判斷方法 print(isinstance({abc:1},Itera...

    JouyPub 評論0 收藏0
  • python_bomb----排序函數(shù)

    摘要:和列表里提供了方法,其他數(shù)據(jù)類型不能用可以對任何可迭代對象排序方法支持原地排序,變量排序后,變量本身改變方法返回一個新的列表,并不改變原變量的內(nèi)容不改變原有列表次序默認和方法由小到大排序,時,從大到小排序字典排序商品名稱,數(shù) li.sort()和sorted() 列表里提供了sort方法,其他數(shù)據(jù)類型不能用 sorted可以對任何可迭代對象排序 sort方法支持原地排序,變量排序后...

    darcrand 評論0 收藏0
  • python_bomb----包

    摘要:什么是包為了組織好模塊,會將多個模塊分為包。處理包也是相當方便的。簡單來說,包就是文件夾,但該文件夾下必須存在文件。最簡單的情況下,只需要一個空的文件即可。當然它也可以執(zhí)行包的初始化代碼包底下也能包含包,這和文件夾一樣,還是比較好理解的。 什么是包? 為了組織好模塊,會將多個模塊分為包。Python 處理包也是相當方便的。簡單來說,包就是文件夾,但該文件夾下必須存在 __init__....

    LeanCloud 評論0 收藏0
  • python_bomb----小白學裝飾器

    什么是裝飾器? 裝飾器就是用來裝飾函數(shù)。 想要增強原有函數(shù)的功能 但不希望修改原有函數(shù)的定義 在代碼運行期間動態(tài)增加功能的方式 函數(shù)嵌套函數(shù) 調(diào)用方式:原函數(shù) = 外層函數(shù)(原函數(shù)名)原函數(shù) def desc(fun): def add_info(): print(happy today) fun() print(westos_linux...

    mikasa 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<