1.函数
def name(args...):
#coding:utf-8
def capitalize(data):
index = 0
temp = ''
for item in data:
if index ==0:
temp = item.upper()
else:
temp += item
index += 1
print('for结束了')
return temp
print('finish')
result =capitalize(data = 'hello xiaomu')
print(result)
def message(message,message_type):
new_message = '[%s] %s' %(message_type,message)
print(new_message)
message(message='今天天气真好',message_type='info' )
print('message result', result)
print知识单纯的将对象打印,不支持赋值语句
return是对函数执行结果的返回,也支持赋值语句
2.函数参数
(1)默认参数
#coding:utf-8
def add(a,b,c=3) :
return a+b+c
result = add(1,2)
print(result)
result = add(1,2,6)
print(result)
(2)不确定参数-可变参数
#coding:utf-8
def add(a,b,c=3) :
return a+b+c
result = add(1,2)
print(result)
result = add (1,2,6)
print(result)
def test_args(*args, **kwargs):
print(args,type(args))
print(kwargs,type(kwargs))
test_args(1,2,3,4,5,6,name='dewei',age=33,top=174)
def test_args_super(*args,**kwargs):
if len(args) >=1:
print(args[0])
if 'name' in kwargs:
print(kwargs['name'])
else:
print('no name')
test_args_super(1,name='dewei')
a= {'python','django'}
b= {'name':'dewei'}
test_args_super(a,b)
def add(a, b=1):
print(a+b)
add(1,2)
add(1)
add(a=1,b=2)
#add(b=2) #会报错,a是必传参数
def test(a,b=1,*args):
print(a,b,args)
s=(1,2)
test(1,2,*s)
#test(a=1,b=2,*s)
def test2(*args,a,b=1):
print(a,b,args)
test2(a=1,b=2,*s)
def test3(a,b=1,**kwargs):
print(a,b,kwargs)
test3(1,2,name = 'dewei')
test3(a=1,b=2,name ='dewei')
test3(name = 'dewei',age=33,a=1,b=2)
d = {'name':'小慕'}
test3(a=1,b=2,**d)
test3(**d,a=1,b=2)
(3)函数参数类型定义
def add(a:int,b:int=3):
print(a+b)
add(1,2)
add('hello','小慕')
def test(a:int,b:int=3,*args:int,**kwargs:str):
print(a,b,args,kwargs)
test(1,2,3,'4',name='小慕')