简介
函数有利于将重复代码替换,同时,函数修改方便,可扩展性强。
导入时间函数
import time
def print_time_current():
time_format = '%Y-%m-%d %X'
time_current = time.strftime(time_format)
print(time_current)
print_time_current()
默认位置调用与关键字调用,关键字参数不能放置在位置参数前面,即前面默认的位置如x可省略不写,后边的参数y=3,要写在2后面。
def test(x,y,z):
print(x)
print(y)
print(z)
test(2,3,z=6)
import time
def print_time_current(y,is_Train=False):
time_format = '%Y-%m-%d %X'
time_current = time.strftime(time_format)
print('%s is_Train = %s, y = %s' % (time_current, is_Train, y))
print_time_current(3)
参数组的定义
不固定参数组:
顾名思义,即不要求参数的数量,可以动态地获取
def test(*args):
print(args)#相当于for循环遍历变量取出来
test(2,3,4,5,6)
test(*[2,3,4,5,6])
默认位置+不固定参数组
第一个位置设置为x的输入,其他为不固定参数组
#*args接收n个位置参数,转为tuple元组
def test1(x,*args):
print(x)
print(args)
test1(10,20,30,40,50)
字典方式参数组
采用**kwargs将“=”的赋值转为字典的形式
#**kwargs把n个关键字参数,转化成字典的形式
def test_dict(**kwargs):
print(kwargs)
print(kwargs['name'])
print(kwargs['age'])
test_dict(name='Angela',age=10)
test_dict(**{'name':'Bob','age':12})
字典方式+默认
除了字典外,还可以将
def test_dict(name,**kwargs):
print(name)
print(kwargs)
test_dict('Angela',age=10,gender='F')
字典方式+默认参数+不固定参数组
def test_dict(name,age = 18,**kwargs):
print(name)
print(age)
print(kwargs)
test_dict('Angela',hobby='programming',gender='F')
.format形式函数
s = "I am {},age is {}".format('Alex', 18)
print(s)
s1 = "I am {},age is {}".format(*['Alex', 18])
print(s1)
s2 = "I am {name},age is {age}".format(name='Alex', age=18)
print(s2)
dic = {'name':'Alex','age':18}
s3 = "I am {name},age is {age}".format(**dic)
print(s3)