持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第7天,点击查看活动详情
本文已参加【新人创作礼】活动,一起开启掘金创作之路
今天是暑假在家自学的第七天
前几天学习完python的基础,字符串,元组,字典,集合等。今天开始学习函数基础,函数在深度学习中最多的被用到。
函数
函数以有没有参数和有没有返回值可以结合出四种不同的组合。
*python中交换两个数字:a,b=b,a
交换两个数字:
方法一:python中的a,b=b,a
方法二:冒泡法
方法三:
a=a+b
b=a-b
a=a-b
可变参数与不可变参数
在函数中,针对参数引用赋值语句,会在函数内部修改全局变量的引用,不会影响到外部变量的引用!
这个在前面的文章里有详细的举例说明,也是重点学习的。
缺省参数
在定义函数时,可以给某个参数指定一个默认的值,具有默认值的参数叫做缺省参数
调用函数时候,如果没有传入缺省参数的值,则在使用过程中自动默认使用参数默认值。
def test(name, gender=True):
gender_text = "男生"
if not gender:
gender_text = "女生"
print("%s 是 %s" % (name, gender_text))
test("张三")
test("李四", False)
输出结果为:
张三 是 男生
李四 是 女生
首先在调用函数的过程中,可以只赋予一个变量的值,另一个变量可以使用默认值,如果不使用默认值则需要在调用函数的过程中给与赋值。
注意:缺省参数只能放在最后一个!
多值参数
函数的参数在写的时候是不确定的,要使用多值参数:
参数名字前一个* 可以接受元组( * )
参数名字前两个* 可以接受字典( ** )
def test(num, *args, **kwargs):
print(num)
print(args)
print(kwargs)
test(1, 2, 3, 4, 5, name="zhangsan", age="18")
num表示一个数字,对应1
args表示一个元组,对应2,3,4,5
kwarge表示一个元组,对应key和value:name="zhangsan", age="18"
递归
函数中自己调用自己,在结束的时候要找到终止条件。
面向对象
面向过程与面向对象是两种不同的编程方法
面向对象重要的是封装,注重对象与职责
不同的对象调用不同的方法,应对复杂开发
========================================================