python學習 day7 動態引數

2021-10-07 07:23:05 字數 1745 閱讀 6260

以下內容僅供自己學習使用

#!/usr/bin/env python

# -*- coding:utf-8 -*-

def func(*args):#在形參的位置的*是聚合元組 打包,可以接受任意長度的引數

#等同於def func(a,b,c,d,e,f,……) 更方便

print(args)

func(1,4,5,6,7,8,645,2,34,6,89,3)

'''*args: 接收多餘的位置引數

**kwargs 接受多餘的關鍵字引數

args和kwargs是程式設計師之間約定俗成的,可以更改名字,但是不建議更改

'''def func(a,b,c,d,**kwargs):

print(a,b,c,d,kwargs)

func(a=1,b=2,c=3,d=4,e=5,f=6)#得到 1 2 3 4

def func (*args,**kwargs):#萬能傳參,形參部分是聚合

print(args,kwargs)#函式體中是打散

func(12,4,56,7,87,5454,a=12,b=34,g=345)

#得到(12, 4, 56, 7, 87, 5454)

func (12,4,5,7,67,6,79898,56,57)

#得到(12, 4, 5, 7, 67, 6, 79898, 56, 57) {}

#引數混合

print("----引數混合-----")

def func(a,b,c=1):

print(a,b,c)

func(12,13)#12,13,1

# def func(*args,a,b,c=1):

# print(a,b,c)

#func(12,13)#報錯,遇到*args,全部接收,後面a,b沒有

def func(a,b,c=1,*args):

print(a,b,c,args)

func(12,13)#12 13 1 ()

func(12,13,14)#12 13 14 ()

def func(a,b,*args,c=1,):

print(a,b,args,c)

func(12,13,14)#12 13 (14,) 1

#func(12,13,14,b=15)#報錯,同乙個變數名一次只能賦值一次,同時把13,15給了b

#func(12,13,14,d=15)#報錯沒有d關鍵字

#a,b位置引數,args動態位置引數,c預設引數,kwargs動態關鍵字引數

def func(a,b,*args,c=1,**kwargs):#面試中會有,但是真正開發中不這麼用

print(a,b,c,args,kwargs)

func(12,13,14,d=15,e=20)#12 13 1 (14,)

print("-------擴充套件--------")

def func (*args,**kwargs):#萬能傳參,形參部分是聚合

print(args,*args,kwargs)#函式體中args是打散

func (12,4,5,7,67,6,79898,56,57)

#得到 (12, 4, 5, 7, 67, 6, 79898, 56, 57) 12 4 5 7 67 6 79898 56 57 {}

lst=[1,21,32,5,647,78,7,45,547,68,]

dic=

func(*lst,**dic)#實參部分可以打散

python學習總結day7

01變數的引用 02可變和不可變型別 03區域性變數和全域性變數 01返回值 如果函式返回的型別是元組,小括號可以省略 當看到返回型別沒有小括號時,一定要知道返回的型別是元組 如果函式返回的型別是元組,同時希望單獨的處理元組中的元素,可以使用多個變數,一次接收函式的返回結果,變數與變數之間用逗號分隔...

Python學習筆記 day7 類

物件導向最重要的概念就是類 class 和例項 instance 比如球類,而例項是根據類建立出來的乙個個具體的 物件 每個物件都擁有相同的方法,但各自的資料可能不同。在python中,定義類是通過class關鍵字 class people object 自定義乙個people類,括號內的objec...

Python小白學習筆記 day7

第七章 python檔案和資料格式化 學習筆記 對檔案操作完成後即使不關閉程式也不會報錯,所以可以不關閉檔案 將乙個檔案與程式中的物件關聯起來的過程,稱為檔案開啟 csv檔案的特點 1.非二進位制檔案,而是純文字格式,通過單一編碼標識字元 2.以行為單位,開頭不留空行,行之間沒有空行 3.每行表示乙...