# 时间: 2019年9月19日 20:45
# 函数的定义
'''
基本语法
def functionName ():
pass
'''
def say():
print('看张宇童博客,站在巨人的肩膀上')
say() # 看张宇童博客,站在巨人的肩膀上
'''
函数的命名
字母数字下划线,首字符不能为数字
严格区分下划线,且不能使用关键字
函数命名有意义,且不能使用中文哦
'''
'''
驼峰命名法:
1、大驼峰命名法 ThisIsZhangYuTongBlog (用于类的命名)
2、小驼峰命名法 thisBlog (用于函数命名)
3、普通情况下一般用下划线命名 this_is_zhangyutong_blog
'''
i = 1
while i <= 10:
print('%d、' % (i),end="")
say()
i+=1
# 默认函数参数
def say(name = '没有输入名字'):
print(name)
say('132')
say()
# 普通收集参数 用于收集多余的普通实参
# def func(*args) 在参数名前加* 则为普通收集参数
def func(a,b,*c):
print(a,b,c)
# 普通收集参数将收集到的参数存放在元组中
func(1,3,2,53,2) # 1 3 (2, 53, 2)
def add(*args):
n = 0
for i in args:
n += i
print(n)
add(1,2,3) # 6
# 关键字收集参数
# 专门用于收集多余的关键字实参
# def func(**kwargs):
# pass
def say_hello(blogName, blogUrl, **kwargs):
print(blogName, blogUrl)
print(kwargs)
'''
张宇童博客 http://www.zyt8.cn
{'describe': '博文很精彩', 'contentDesc': '内容全原创'}
'''
say_hello('张宇童博客', blogUrl = 'http://www.zyt8.cn', describe = '博文很精彩', contentDesc = '内容全原创')
# 命名关键字参数
'''
def func( arg1, *, arg2, arg3 ):
pass
语法:在函数定义是写在*号后面的arg2是命名关键字参数
作用:在函数调用的时候必须使用关键字实参进行调用
'''
# example
def func(arg1, arg2, arg3):
print(arg1, arg2, arg3)
func(123,321,213) # 123 321 213
def func(arg1, arg2, *,arg3 = ''):
print(arg1, arg2, arg3)
func(123,321,arg3 = {'1': '123'}) # 123 321 123
# 关于 * 和 ** 的用法
'''
* 用来修饰容器类型,把容器内数据展开
** 用来修饰字典类型
example
func(*arg1, **arg2)
'''
def function (name, hello, url) :
print(name,hello,url)
listvar = [1,2,3]
dictvar = {'name': '张宇童', 'url': 'http://www.zyt8.cn','hello': 'world'}
# function(*listvar)
function(**dictvar)
# 型参声明的排序
# 普通参数,默认参数,普通收集参数,命名关键字参数,关键字收集参数
print(print.__doc__)