對python3 中方法各種參數(shù)和返回值詳解
更新時間:2018年12月15日 11:27:24 作者:蘿卜地里的兔子
今天小編就為大家分享一篇對python3 中方法各種參數(shù)和返回值詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
如下所示:
# -*- coding:utf-8 -*-
# Author: Evan Mi
# 函數(shù)
def func1():
print('in the func1')
return 0
# 過程
def func2():
print('in the func2')
"""
多個值用逗號分割后返回,會分裝到一個tuple中返回,
接收的時候,如果使用一個變量接收,那么這個接收變量就是一個tuple類型的
如果接收的時候也用逗號分割多個值來接收,那么可以分別對應(yīng)返回tuple中的每一個值
"""
def func3():
return 1, 'hello', ['alex', 'wupei'], {'name': 'alex'}
x = func1()
y = func2()
z = func3() # 一個值接收,是一個tuple
q, w, e, r = func3() # 用對應(yīng)個數(shù)的值接收,每個變量對應(yīng)tuple對應(yīng)位置的值
print(x)
print(y)
print(z)
print("center".center(100, '*'))
print(q)
print(w)
print(e)
print(r)
print("center".center(100, '*'))
# 定義一個方法
def test(x_arg, y_arg):
print(x_arg)
print(y_arg)
test(1, 2) # 位置參數(shù)調(diào)用
test(y_arg=3, x_arg=5) # 關(guān)鍵字參數(shù)調(diào)用,直接給形式參數(shù)賦值
def test1(x_arg, y_arg, z_arg):
print(x_arg)
print(y_arg)
print(z_arg)
# 關(guān)鍵字參數(shù)不能寫到位置參數(shù)之前
test1(1, z_arg=2, y_arg=3)
# 默認(rèn)值參數(shù)
def test2(x_arg, y_arg=2):
print(x_arg)
print(y_arg)
print("center".center(100, '*'))
test2(1)
print("center".center(100, '*'))
test2(1, 3)
print("center".center(100, '*'))
test2(y_arg=5, x_arg=8)
"""
在*args 前面有參數(shù)(x, *args),那么(1,2,3,4,5)正確,(x=1,2,3,4,5)正確,(2,3,4,5,x=1)錯誤,給x多次賦值了
在*args 后面有參數(shù)(*args,x,y)那么x,y只能采用關(guān)鍵字賦值方式(1,2,3,4,5,x=6,y=8)
"""
def test3(*args):
print(args)
test3(1, 2, 3, 4, 5)
test3(*[1, 2, 3, 4, 5])
print("center".center(100, '*'))
def test4(x_arg, *args):
print(x_arg)
print(args)
test4(1, 2, 3, 4, 5)
def test5(**kwargs):
print(kwargs)
print(kwargs['name'])
test5(name='alex', age=8)
test5(**{'name': 'Evan', 'age': 8})
def test6(*args, xx):
print(args)
print(xx)
# **kwargs 必須在最后
# def test7(**kwargs,xx=3): 這樣定義是錯誤的
print("test6")
# test6(1, 2, 3, 4, 5999, xx=4)
"""
*args 接收位置參數(shù),轉(zhuǎn)換為tuple
**kwargs 接收關(guān)鍵字參數(shù),轉(zhuǎn)換為dict
位置參數(shù)不能寫在關(guān)鍵字參數(shù)的后面
"""
def tt(xx=1, *args, **kwargs):
print(xx)
print(args)
print(kwargs)
def ttt(xx, **kwargs):
print(xx)
print(kwargs)
def tttt(*args, xx, **kwargs):
print(args)
print(xx)
print(kwargs)
# kwargs接收的關(guān)鍵字參數(shù)的名字不能和函數(shù)列表中已有的其他參數(shù)相同
# tt(2, 3, 4, 5, name=100, age=199, xx=98)
# 出現(xiàn)了xx,優(yōu)先賦值給參數(shù)列表中的xx,而不是在dict中加入關(guān)鍵字為xx的key-value對
# ttt(x=99, y=99, xx=43)
tttt(1,2,3,4,5,x=100,y=33,xx=8)
以上這篇對python3 中方法各種參數(shù)和返回值詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python通過調(diào)用mysql存儲過程實現(xiàn)更新數(shù)據(jù)功能示例
這篇文章主要介紹了Python通過調(diào)用mysql存儲過程實現(xiàn)更新數(shù)據(jù)功能,結(jié)合實例形式分析了Python調(diào)用mysql存儲過程實現(xiàn)更新數(shù)據(jù)的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2018-04-04
python3圖片轉(zhuǎn)換二進(jìn)制存入mysql
MYSQL是支持把圖片存入數(shù)據(jù)庫的,也相應(yīng)的有一個專門的字段BLOB (Binary Large Object),即較大的二進(jìn)制對象字段,看下面代碼2013-12-12
Python 實現(xiàn) 貪吃蛇大作戰(zhàn) 代碼分享
本文給大家分享的是一個使用cocos2d-python游戲引擎庫制作出來的貪吃蛇大作戰(zhàn)的游戲代碼,基于Python 2.7 和 cocos2d 庫,有需要的小伙伴可以參考下2016-09-09
python 循環(huán)讀取txt文檔 并轉(zhuǎn)換成csv的方法
今天小編就為大家分享一篇python 循環(huán)讀取txt文檔 并轉(zhuǎn)換成csv的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10

