ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【无标题】

2021-11-18 14:30:34  阅读:106  来源: 互联网

标签:函数 -- 无标题 python 参数 返回值 全局变量


python函数入门
函数:

1、函数什么是函数(what)
C语言是一门面向过程的语言
函数就是行为、就是动作、就是功能、就是过程

2、python如何定义函数

关键字 def 【defined function】

函数名称的命名规范就是变量命名规范

def 函数名称([参数列表]):
# 函数体
# [return 返回值]

3、函数的分类
以有没有返回值
|-- 有返回值的函数
|-- 无返回值的函数
有没有参数
|-- 有参函数
|-- 无参函数

函数分类:
是否存在返回值
|-- 有返回值的函数
使用return关键字返回结果
函数遇到return关键字,则立刻返回
|-- 无返回值的函数
是否存在参数
|-- 有参函数
参数的个数,根据情况任意
参数的类型,是任意类型
|-- 无参函数
函数定义者
|-- 系统函数
由官方定义的函数
print、input、type
|-- 第三方定义
需要安装这些模块,才能使用
pip install 模块名称
pip(python install package)

|-- 自定义函数
	我们写的函数
	注意:(函数、变量……)命名时一定要注意,和系统的全局函数不要冲突!!

全局变量和局部变量:
全局变量:
直接定义在py(模块)文件中的变量
局部(本地)变量:
定义在函数内部的变量叫做局部变量
因此只能在函数内部使用,访问在外间访问到!!!

注意:全局变量在函数直接访问,可以正常访问,如果要在函数内部修改全局变量,python不让修改的
如果要一定强制改呢?提前声明 这个函数需要修改某个全局变量
在函数的第一行,global关键字声明需要修改全局变量

函数调用的本质
函数本质就是一个对象

压栈(push):将函数从堆内存中放到栈中执行
弹栈(pop):函数执行完成后出栈内存

引用传递和值传递:
引用传递:传递的本质是地址,是对象、是引用
值传递:本质就是值

函数本质就是一个对象,参数的类型,是任意类型

函数参数:

默认值参数:
就是说,如果函数的参数,在大多数情况下,值是固定的一个值,此时可以使用默认值参数
这个时候,如果不传该参数,值就取默认的,如果传递了,则按照传递的算。
注意:默认值参数,一定要写在普通参数之后

可变参数:
在python,如果一个函数中参数可能有很多(这些参数,也可以没有),建议将这种参数设置为可变参数
参数名称(习惯性args)
注意:可变参数默认是以元组封装所有参数

命名(关键字)参数:

函数递归:
1、什么是递归
以代码论英雄

有两个条件:
	1、函数自身调用自身
	2、一定要有终止条件!!(否则是一个死循环)

注意:python中,不允许递归超过1000次,当然如果一定要调整,可以使用如下代码:
import sys
获取递归限制次数
sys.getrecursionlimit()
#重新设置递归限制次数
sys.setrecursionlimit(10000)

标签:函数,--,无标题,python,参数,返回值,全局变量
来源: https://blog.csdn.net/StriverNumber1/article/details/121399828

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有