python函式學習內容 python之函式學習

2021-10-11 00:12:08 字數 2570 閱讀 7322

#!/usr/bin/env python

# 位置引數說明

# 位置引數 通過引數傳遞的位置來決定

def echo1(x, y):

print('x = '.format(x))

print('y = '.format(y))

return x + y

# res1 = echo1(2, 6)

# print(res1)

# 關鍵字引數

# 關鍵字引數 通過引數名稱來決定

# 同樣引用上面定義的函式,這次直接先賦值y值,然後賦值x

# 關鍵字引數是指直接使用引數名稱進行賦值

# res2 = echo1(y=8, x=4)

# print(res2)

# 混合使用: 關鍵字 + 位置引數

# 關鍵字引數必須在位置引數之後

# res3 = echo1(10, y=20)

# print(res3)

# 可變引數

# 可變位置引數

def sumn(list1):

res = 0

for x in list1:

res += x

print(x)

print(res)

# sumn([1, 2, 3, 4])

# sumn([4, 3, 2, 1])

def func_change(*args):

res = 0

print(args)

for x in args:

res += x

print(res)

# func_change(1, 2, 3, 4, 5)

# 預設引數

# 當預設引數和關鍵字引數一起使用的時候,世界都是美好的

# 預設引數必須在關鍵字引數之後

def func_default(x, y=10):

print('x/y is /'.format(x, y))

# func_default(20)

# 可變關鍵字引數

def print_args(**kwargs):

for k, v in kwargs.items():

print('key: ===> value : '.format(k, v))

# print_args(x=100, y=200, z=300)

# 可變引數函式在定義的時候,就決定了引數是位置引數還是關鍵字引數

def print_all(*args, **kwargs):

for x in args:

print('pos:'.format(x))

for k, v in kwargs.items():

print('key: ==> valus: '.format(k, v))

# print_all(1, 2, 3, a=4, b=5)

def print_he(x, y, *args, **kwargs):

print('x = '.format(x))

print('y = '.format(y))

for i in args:

print('args: x = '.format(i))

for k, v in kwargs.items():

print(' => '.format(k, v))

# print_he([1,2,3],4, 5,6,7, kk =5)

# 引數傳入規則:

# 非預設非可變引數, 可變位置引數,可變關鍵字引數

# 預設引數不要和可變引數放到一起

# 引數解包

def add(x, y):

print('x is '.format(x))

print('y is '.format(y))

print('count x + y = '.format(x + y))

# lst = [1, 2]

# add(lst[0], lst[1])

# add(*lst)

# 字典引數傳入,函式解包

def func_dict(**kwargs):

for k, v in kwargs.items():

print('key: --> '.format(k, v))

# dict1 =

# func_dict(**dict1)

# 預設引數的坑

def fn(lst=):

print(lst)

# fn()

# 執行完成後lst指向會變成1

# fn()

# 這次執行時候lst=[1]會覆蓋預設值

# 此次返回[1, 1]

# fn()

# 這次執行時候lst=[1, 1]會覆蓋預設值

# 此次返回[1, 1, 1]

# 解決方案

# 先給lst賦值為none,判斷lst如果是none

# 如果lst在呼叫函式的時候填寫了預設值,

def fn1(lst=none):

if lst is none:

lst =

print(lst)

python函式學習內容 python的函式學習

函式和過程 過程就是沒有返回值的函式 兩者都能 呼叫 在python中,函式返回值為return後面的值,而過程返回值為none 程式設計方式 物件導向 面向過程 函式式程式設計 面向過程程式設計 就是通過乙個個def所定義的小過程而拼接到一塊 函式式程式設計 f 2x 數學上的函式 有乙個x,就會...

python 函式學習

今兒再網上看了下別人總結的python 函式,功能挺強大的,c有的功能都有,下面就記些它的功能點 1 定義,格式跟c不一樣,概念是一樣的。def 函式名 引數列表 函式語句 return 返回值 2 函式可以命別名,很方便啊,c語言我記憶中只有指標可以。def sum list result 0 f...

Python函式學習

def hello name return hello,name print hello holly defhello name print hello,name hello holly 輸出結果為hello,holly!稍微複雜一點的例子有 求長方體的體積 def volume length,wi...