python入門(一) 函式

2021-10-05 11:16:48 字數 3378 閱讀 7227

varibal =

varibal['a']

100varibal.items()

dict_items([('a', 100), ('b', 100), ('c', 200)])

#遍歷字典

[key for key ,value in varibal.items() if value ==100]

['a', 'b']

def get_keys(dict_varibel,value):

return [k for k ,v in dict_varibel.items() if v == value]

get_keys(varibal,200)

['c']

get_keys(varibal,200)

get_keys(varibal,200)

[『c』]

** 函式是組織好的,可重複使用的,能夠完成特定功能的**段,它是**塊的抽象**

函式由函式名 ,形參和返回值組成。

引數分為位置引數和關鍵字引數,如果用位置引數,很容易混亂函式放置的位置,如果給引數賦值,就可以不必按照原來的引數順序放置

get_keys(dict_varibel=, value = 20)

['a']

get_keys( value = 20,dict_varibel=)

['a']

函式通過引數獲取我們傳遞的值,函式中改變了引數,那麼我們傳遞的值會改變嗎

def test(varibal):

varibal = 100

return varibal

var =1

test(var)

var =1

test(var)

100var

** 當var有值時,不改變var的值,當var為空時,會改變var的值**

1var=

test(var)

100賦值

def test(name,age,*arge, **kwarge):        #輸入的引數可以為任意的型別或者關鍵字

print(name,age,*arge,**kwarge) #輸出為輸入

test('wang',12)

wang 12

dict_varibals =

test('wong',12,dict_varibals)

wong 12

a=10

b=[12,12]

def test():

print('test')

c=test

c

可以把函式賦值給乙個變數

c.__name__

'test'

函式可以返回函式

def test(func):

return func

def func():

print('func run')

​f =test(func)

f.__name__

'func'

**

函式可以當做函式的返回值進行返回

f()

func run

#需求:返回乙個從0到1的浮點值

import random

random.random()

0.49500584968514516

def test():

return random.random()

test()

0.2502416440658627

round(random.random(),3)

0.235

#函式返回的浮點數保留三位有效數字

def test(): 

return round(random.random(),3)

test()

0.678

利用python另乙個語法糖,裝飾器的方法

#返回乙個從0到1的浮點值

def test():

return random.random()

def decorator(func):

return func()

f = decorator(test)

ff()

0.65202651090431

如果有很多地方都想改變,每個去修改就很不方便,裝飾器,可以只修改裝飾器內的內容,其他被裝飾器裝飾的,都會跟著改變

利用python另乙個語法糖,裝飾器的方法

#返回乙個從0到1的浮點值

@decorator #裝飾器加@後,相當於f = decorator(test)這行**,兩者完全等價,如果沒有這行**,test name為test

def test():

return random.random()

def decorator(func):

##do somthing

return func()

#f = decorator(test)

f() #f的呼叫,實際是呼叫的test.f = decorator(test)

0.552135547899615

test.__name__

#利用python另乙個語法糖,裝飾器的方法

#返回乙個從0到1的浮點值

def decorator(func):

#do somthing

return round(func(*arge,**kwarge),3) #做了改變,這樣修改3即可控制幾位有效數字

#do somthing

@decorator#裝飾器加@後,相當於f = decorator(test)這行**,兩者完全等價,如果沒有這行**,test name為test

def test():

return random.random()

@decorator

def test_two():

return random.random()*10

test()

0.902

test_two()

1.68

Python函式之一 函式的入門

1 什麼是函式 函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的 段。2 函式的作用 例 計算字串str abcdefghijk 列表li 1,3,8,5,6,8,6,6 元組tup 8,3,6,8,2,4,6,8,6 中元素的個數,不能使用len方法。不使用函式的情況 li 1 3,8 ...

Python函式入門

def f1 a,b,c 0,args,kw a,b 必選引數 c 預設引數 arg 可變引數 kw 關鍵字引數 print a a,b b,c c,args args,kw kw def f2 a,b,c 0,d,kw a,b 必選引數 c 預設引數 d 命名關鍵字引數 kw 關鍵字引數 prin...

python 函式入門

函式分類 是否存在返回值 有返回值的函式 使用return關鍵字返回結果 函式遇到return關鍵字,則立刻返回 無返回值的函式 是否存在引數 有參函式 引數的個數,根據情況任意 引數的型別,是任意型別 無參函式 函式定義者 系統函式 由官方定義的函式 print input type 第三方定義 ...