记录从准研一假期自学PYTHON的全过程day7

127 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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"

递归

函数中自己调用自己,在结束的时候要找到终止条件。

面向对象

面向过程与面向对象是两种不同的编程方法

面向对象重要的是封装,注重对象与职责

不同的对象调用不同的方法,应对复杂开发

========================================================