函数的基本认识与参数的简介

函数的基本认识与参数的简介

函数的本质

1.函数的本质其实就和我们日昌生活中工作所使用的工具一样,可以帮我们快速一次性解决所遇到的需要重复运动的工作,
将人类从重复劳动中解放出来。
2.我们在定义函数的时候就可以将函数定义为可以帮我们快速完成成并省略重复劳动的工具,但是这个工具在使用前必须自
己先将他的功能定义完成。就像我们的工具箱里面每一个工具都是应对于不同的工作。
def func():  # 先使用def关键字定义一个函数, 在函数下编写属于这个函数的功能
    user_name = input('请输入您的用户名>>>:')  
    user_age = input('请输入您的年龄>>>:')

print(func())  # 然后就可以在下方无限使用这个功能而不用再去编写这个繁琐而重复性极高的功能

"""
请输入您的用户名>>>:
请输入您的年龄>>>:
"""
print(func())  # 重复使用这个功能
"""
请输入您的用户名>>>:
请输入您的年龄>>>:
"""

image

函数的语法结构

1.函数的定义符  (def)  # 使用这个符号表明这个是你创建了一个函数
2.函数名  # 函数名和我们的变量名基本相同在起函数名时也需要遵守见名知意的方法
3.括号()  # 在函数定义的过程中必须要加括号如果不加括号那么这个函数就不成立
4.参数  # 参数内可以填写参数用来定义如果下方有人要调用这个函数时那么就需要满足这个参数的条件才可以调用这个
函数不过这个参数也可以不填参数
5.函数注释  # 函数注释就像是说明书是为了你以后要是忘记了这个函数是什么时看到第一眼就能了解,主要是用来介绍
函数的基本功能和用法
6.函数功能  # 函数中最为重要的用来编写你以后需要使用你所定义的这个函数的功能
7.return功能  # return控制函数的返回值如果有值跟在return后方那么在使用这个函数后返回的值就是return之后
的值,如果return后面没有值那么就不会有返回值的产生
def 函数名(参数):
	函数注释
    函数核心代码
    return

image

函数的定义与调用

1.函数就像我们的逻辑一样,必须是要先定义好才可以从下方调用这个函数方法,而不可以在上方就想要先使用最后再在下
方再去补
2.函数首先要给他进行标注定义使用关键字(def)+函数名+括号()这样才是一个完整的定义函数的第一部的方法
3.在你真正给函数写核心内容时可以先使用pass来定义你还没想好的功能,如果上方函数第一步定义好的话你所编写的内
容只要符合语法那么你写出的无论是什么都不会报错,因为代码不会先直接执行函数,如果下方有往出调用的话才会执行你
这个函数但是如果没写好那么到这个时候才会报错
"""在上方有函数时你在下方遇到有函数的话那么先执行函数,因为函数的执行有限级最高"""

image

函数的分类

1.内置函数
	内置函数就是解释器提前就帮你定义好的函数,不需要你自己定义在打开文件的时候那么这些内置函数就会自动
	全部执行一遍,你可以直接去调用这些内置函数就像我们经常使用的		
	int其实就是我们经常使用的一个内置函数
"""
内置函数是可以直接使用的但是如果是内置方法的话就需要特定的数据类型+句点号才可以调用内置方法所以说内置函数和
内置方法还是有本质区别的,但是有一些内置方法确实只有数据类型所独有的
"""
2.自定义函数
	2.1空函数  # 像这样的函数,虽然写了成了但是在函数核心中填充了passmeiyou空的东西可以运行下去但是
	里面什么都没有,主要是应用于前期我们在搭建框架的时候先将这些需要的函数先行定义好,以后想要使用这个
	功能再回来填写这个功能。
		def func():
        pass
   2.2无参函数  # 像是这样的没有定义参数的函数我们可以成为无参函数,无参函数在调用时无需写实参直接就可以调
   用本函数
		def func():
    		print('func')
	2.3有参函数  # 我们在括号里面填有参数的那么就被成为有参函数在调用时必须跟进实参才会被调用,实参必
	须于午餐参数相匹配多一个少一个都调用不了这个参数只有正正好好的才能调用本函数
		def func(a, b):
      	  print('func')    

函数的返回值

1.返回值其实就是调用函数所返回的数值,这个东西可有可无,如果想要返回函数值就需要加return
2.情况一:如果遇到想要返回值但是又没有return时那么就会直接返回(None)
def cunt():
	print("come back")

res = cunt()
print(res)
"""
come back
None
"""

2.情况二:如果遇到想要返回值并且有return关键字但是关键字后面没有跟任何东西那么返回的值也将是(None)
def cunt():
	print("come back")
	return

res = cunt()
print(res)
"""
come back
None
"""

3.情况三:在关键字return后面跟什么那么返回的就会是什么(如果是字符串或者数字那么会直接返回那个字符串和整型,
如果是个变量名的话那么就会将那个变量名的值返回)
方法一:
def cunt():
    print("come back")
    return 'joseph'

res = cunt()
print(res)
"""
come back
joseph
"""

方法二:
def cunt():
    print("come back")
    name = 'joseph'
    return name

res = cunt()
print(res)
"""
come back
joseph
"""

4.情况三:在return后面跟的如果是多个数值值需要用逗号隔开或类型那么返回的值就会自动会被转化为元组,除了自己
提前给它定义好返回值
方法一:当后面跟的是一堆整型时那么返回的值就会自动被转为元组
def func():
	return 1, 2, 3, 4, 5, 6
res = func()
print(res)
"""
(1, 2, 3, 4, 5, 6)
"""

方法二:如果后面跟的是一个列表的话那么就不会被自动转为元组,而是原本的列表
def func():
    return [1, 2, 3, 4, 5, 6]
res= func()
print(res)
"""
[1, 2, 3, 4, 5, 6]
"""

方法三:如果后面跟的是多个数据类型的话那么就会将这些数据类型整合到一个元组中
def func():
    return [1, 2, 3], {'name': 'jaseph', 'age': '21'}, 'Donald John Trump'
res = func()
print(res)
"""
([1, 2, 3], {'name': 'jaseph', 'age': '21'}, 'Donald John Trump')
"""

方法四:如果遇到两个return那么执行完第一个就不追再执行接下来的命令,所以也不会有接下来的返回值
def func():
    return [1, 2, 3], {'name': 'jaseph', 'age': '21'}, 'Donald John Trump'
    return 'joseph' 'xiaoxian'

res = func()
print(res)
"""
([1, 2, 3], {'name': 'jaseph', 'age': '21'}, 'Donald John Trump')
"""

函数参数的概念

1.函数中参数一般被分为两类一种是在编写函数时设置的形参,而另一种则是在调用阶段用来于形参对接的实参
2.形式参数
	在编写函数时填入括号的的参数叫做形式参数,就相当于我们字典中的k值,但是没有实际意义上的v值与他完全
	绑定在一起
3.实际参数
	在我们调用参数时用来与形参对接的被叫做实际参数,就相当于我们字典中的v值,找到形参中的k对接实现功能,
但是它也不是完全和形参绑定在一起的,在这个函数运用结束时那么就会立即断开连接

位置参数

1.位置形参
	位置形参指的是在编写函数时填入括号中的参数是从左往右一次填写进去的变量名称为形参
2.位置实参
	位置实参则是指在调用函数时根据上方函数参数要求从左往右一次填入的数据值则被称为实参
3.实参也可以自己定义好与上方形参的对应关系,但是这个对应关系不能和上方形参冲突,在匹配时位置实参必须与位置
形参的参数相同才可以使用否则就会报错

函数参数之关键字实参

1.关键字实参,在调用上方函数时实参也可以采用你什么等于什么的方式与上方的形参参数对应,但是必须保证要么全部
都有对应的形参,要么就需要按照顺序,简单的短的实参放在队首而复杂的实参则放在队尾但是不能和上方形参发生冲突。
2.关键字参数的使用
def funt(a, b, c, d, e, f):
    print(a, b, c, d, e, f)
funt(1, 2, 3, 4, 5, 6 )
"""
1 2 3 4 5 6
"""
funt(a=1, b=2, c=3, d=4, e=5, f=6)
"""
1 2 3 4 5 6
"""
funt(1, 2, 3, d=4, e=5, f=6)
"""
1 2 3 4 5 6
"""

函数参数之默认值形参

1.默认值参数就是在编写函数时在括号内直接将形参定义好所需要的数据值,如果下方调用时有可以对应的实参那么就可以
直接替换,如果没有的话就会直接使用形参中自带的默认值参数进行使用。
2.默认值形参的使用
def func(a, b, c=3, d=4):
    print(a, b, c, d)
func(1, 2)
"""
1 2 3 4
"""
func(1, 2, 6, 9)
"""
1 2 6 9
"""

函数参数之可变长形参

1.可变长形参之与位置实参的对应关系,位置实参遇到*args时打破关键字实参的个数限制,有多少就可以传多少对应参数,
全盘接纳。
def func(*args):
    print(args)
func(1, 2, 3, 4, 5, 6)
"""
(1, 2, 3, 4, 5, 6)
"""
2.可变长形参之与关键字实参的对应关系,关键字实参遇到**kwargs时也可以打破关键字实参的个数限制,有多少就可以
传多少对应参数,全盘接纳,并会将关键字实参转变为字典模式。
def func(**kwargs):
    print(kwargs)
func(name='joseph', age=18, hobby='bad')
"""
{'name': 'joseph', 'age': 18, 'hobby': 'bad'}
"""
3.*args和**kwarsg是默认的固定变量名本身并没有意义但是在py中使用可变长形参时大家都遵守使用这两个关键字的君
子协定。
posted @ 2022-07-01 20:33  Joseph-bright  阅读(309)  评论(0编辑  收藏  举报