自定义函数的内容--让你学会函数

函数就是功能代码的集合

函数名代表着函数体

想要去执行代码的时候

我们就要去写一个相关的函数名称

再去加上一个括号

就可以去执行原本的函数中的相关的内容

遵循变量名的命名规范

定义函数,并且执行函数

def func():
    print(1)
    print(2)
    print(3)


func()

有重复代码的时候

可以把我们所需要的一个功能就可以去

代码太长的时候

当我们去实现代码的时候

我们作为一个程序员的尽量不要让一个代码的模块的长度不超过一个屏幕

以前我们变成是按照业务逻辑从上到下逐步完成,称为:面向过程编程;现在学了函数之后,利用函数编程称为:函数式编程。

之后当我们去接触面向对象进行开发的时候

我们就是面向对象的开发

python代码去发送邮件

授权码

SMTP服务器:smtp.126.com

函数名的相关规范

函数的注解

定义函数的时候,参数一般(形式参数)

函数的返回值,一般是用于将函数执行的返回给调用者

默认返回None

遇到return则函数执行完毕

函数的进阶

参数的相关补充

函数名到底是什么

返回值和print的区别

函数的相关的作用域

参数内存的地址相关

id就是python中的内置的函数

这个函数就是我们的可以去查看我们相关的内存地址

函数在执行的时候

如果会存在着传参的行为,这个参数所传的就是地址

传递的就是内存地址

python参数的这一特性

1.帮助我们节省我们的内存地址

2.让函数帮助我们去修改一些数值

通过函数就可以去帮助我们去进行一个加工和处理

1.传递的参数要是一个可变的类型,列表,字典,集合

2.在函数的内部,只能对内部的元素进行一个相关的修改

同步都会去发生这个变化

对他的内部的元素进行了一个相关的修改

如果我们在执行的之前修改了这个地址的时候

之前的地址就是没有效果的

我们如果在之后学习过Java或者cpp这样的编译型语言的时候呢

我们会听说过这种的语言就是会存在着两种的形式

1.是对于原有的数值进行一个相关的copy,并不会去传递他的相关的地址

2.是对原有的值的地址进行一个相关的改变,例如c中的指针,Java中的数组

当然我们在python中的默认的是传递相应的地址

我们也可以进行一个值的拷贝

展示代码如下

import copy

# 这样的话就只会去影响这个new_data的相关的值,而不会去影响这个原本的data
data_list = [11, 22, 33]
new_data = copy.deepcopy(data_list)

new_data = [11, 33, 22]

print(new_data)
print(data_list)

在这个函数的时候

我们在参数定义之前的时候

参数的默认值是我们在之后可以去作为一个形参在之前就可以去提前其定义一下

如果我们在开始的时候是不给予定义的

我们函数在返回的时候

就会默认的返回一个相应的参数的

但是当我们去定义的时候

我们的原本默认的参数

就会变成我们已经去定义的相关的值了

在特定的情况下【默认的参数的值是一个可变的类型list,dict,set】&【函数的内部修改这个值】

参数的默认的值是有坑的

在内存中就会去维护这一块相关的区域进行一个存储

这个内存地址在我们之前的制定的时候,我们不在去传入的数值的时候

我们是可以知道这个地址变得

但是这个随着我们所传入的值,是随着我们所传入的值是进行去改变的

但是当我们去传入一个值去修改这个地址的时候

这个就会发生改变

本质上维护的一个区域是一样的

但是这个我们又去return一个值,进行了一个返回

*[ ] args. 列表

**[]. kwargs  字典

类似于我们的format

函数名的本质其实就是一个变量

这个变量只不过是就是一个函数

python是一个解释型语言

解释型语言就是一行一行的去执行的

而像Java就是一个编译型的语言

这个语言就是将先把所有的代码先进行编译

函数也可以去充当数组列表集合字典都是可以的

而且函数同时也可以去被哈希的,所以函数名通常也可以当作这个集合的元素,字典的健

放在多个元素 的容器当中

把函数当作一个元素放在这个字典中,减少if -- else的数量

函数名的赋值的相关的方式

通过func执行也是可以的

函数也是可以进行一个第二次进行一个赋值的

函数也是可以去变成一个相关的字符串或者是其他类型的形式的

而且还是又一个是要去注意的就是

我们python中有很多的内置的函数

这个函数是我们原本就具有的

我们在自定义函数的同时就一定要避免和这些函数进行一个重名的相关的操作

函数做的参数和返回值

特殊的数据类型

执行一个函数,将另外一个函数作为函数的相关的参数

这样的话,就说明函数也是可以去充当返回值的

返回值return

输入print

两者的区别

这两个函数是完全不同的

在函数使用这个print的时候,只是去用于某个位置的输入内容而已

在函数中使用return,是为了将函数的执行结果的返回给调用者,以便后续的其他的操作

函数的作用域

全局作用域和局部作用域

在局部作用域中去使用这个全局变量中的时候

我们只可以去对这个全局变量中的相关的值进行一个读取和进行一个相关的局部的修改

然而我们在局部变量中去修改的时候

并不会去影响相关的全局变量的

当我们在这个局部变量中加入了一个

gobal这个关键字

我们就可以去给这个全局变量的值进行了一个相关的修改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值