Python 3 基础教程 - 函数(python函数csdn)
off999 2024-10-18 08:00 53 浏览 0 评论
函数是一组有组织的、可重用的代码,用于执行单个相关操作。函数为应用程序提供更好的模块化和高度的代码重用。Python 提供了许多内置函数,如 print() 等。也可以创建自己的函数。这些函数称为用户定义函数。
定义函数
可以定义函数以提供所需的功能。以下是在 Python 中定义函数的简单规则。
- 函数块以关键字def开头,后跟函数名称和圆括号 ( ( ) )。
- 任何输入参数或自变量都应放在这些括号内。您还可以在这些括号内定义参数。
- 函数的第一条语句可以是可选语句——函数的文档字符串或文档字符串。
- 每个函数中的代码块都以冒号 (:) 开头并缩进。
- 语句 return [expression] 退出函数,可选择将表达式返回给调用者。没有参数的 return 语句与 return None 相同。
语法
def functionname( parameters ): #函数名和参数
... #具体代码
return [expression] #函数返回值例如,定义一个打印函数,将输入的内容打印在显示器上。没有返回值。
def printer( str ):
print (str)
return调用函数
定义一个函数只给了函数一个名称,指定了函数里包含的参数,和代码块结构。
这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从Python提示符执行。例如,调用上面定义的函数printer()。
def printer( str ):
print (str)
return
printer("打印一行内容!") # 调用函数printer()
#运行结果
打印一行内容!参数传递
在 python 中,类型属于对象,变量是没有类型的。
可更改(mutable)与不可更改(immutable)对象
在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。
- 不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a。
- 可变类型:变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。
python 函数的参数传递:
- 不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
- 可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响
python 中一切都是对象,严格意义不能说值传递还是引用传递,而应该说传不可变对象和传可变对象。
传递不可变对象时,函数内外参数是互不影响的。
def add(x,y):
x = x + 1
y = y * 2
print("x:", x, ' ','y:',y)
return x + y
a = 3
b = 5
c = add(a,b)
print('c:',c)
print("a:", a, ' ','b:',b)运行结果
x: 4 y: 10
c: 14
a: 3 b: 5
#说明是互不影响的传递可变对象时,函数内外参数是相互影响的。
def updatelist(list):
list[1] = 5
print ("inside the function: ", list)
return
#调用函数
list = [10,20,30]
updatelist( list )
print ("outside the function: ", list)运行结果
inside the function: [10, 5, 30]
outside the function: [10, 5, 30]
#内外部结果同时发生变化。参数
以下是调用函数时可使用的参数类型:
- 必备参数
- 关键字参数
- 默认参数
- 不定长参数
必备参数
必备参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。例如调用上面定义的add()函数,必须传入两个参数,不然会出现语法错误:
c = add(a)
print('c:',c)
#运行结果
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In [68], line 1
----> 1 c = add(a)
2 print('c:',c)
TypeError: add() missing 1 required positional argument: 'y'关键字参数
关键字参数与函数调用有关。在函数调用中使用关键字参数时,调用者通过参数名称识别参数。这允许跳过参数或乱序放置它们,因为 Python 解释器能够使用提供的关键字将值与参数匹配。例如:
def add(x,y):
x = x + 1
y = y * 2
return x + y
a = 3
b = 5
c = add(y=b, x=a)
print('c:',c)
#运行结果
14默认参数
默认参数是在函数调用中未为该参数提供值时采用默认值的参数。例如:
def add(x, y = 3):
x = x + 1
y = y * 2
return x + y
c = add(5,5)
d = add(x=5)
print('c:',c)
print('d:',d)
#运行结果
c: 16
d: 12不定长参数
有时可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述2种参数不同,声明时不会命名。基本语法如下:
def functionname([formal_args,] *var_args_tuple ):
...
return [expression]# 可写函数说明
def printinfo( arg1, *vartuple ):
"打印任何传入的参数"
print "输出: "
print arg1
for var in vartuple:
print var
return
# 调用printinfo 函数
printinfo( 10 )
printinfo( 70, 60, 50 )输出:
10
输出:
70
60
50return 语句
return语句[表达式]退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None。
def add(x, y):
return x + y
c = add(5,5)
print('c:',c)变量作用域
一个程序的所有的变量并不是在哪个位置都可以访问的。访问权限决定于这个变量是在哪里赋值的。
变量的作用域决定了在哪一部分程序可以访问哪个特定的变量名称。两种最基本的变量作用域如下:
- 全局变量
- 局部变量
定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。
局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。
total = 5 # 这是一个全局变量
def add( x, y ):
total = x + y # total在这里是局部变量.
print("局部变量 total: ", total )
return total
#调用函数
add( 10, 10 )
print("全局变量 total: ", total )
#运行结果
局部变量 total: 20
全局变量 total: 5相关推荐
- 电脑系统怎样升级(电脑系统怎么升级)
-
电脑系统升级方法步骤,1、打开电脑,点击电脑左下角的开始菜单,在弹出的菜单选项中选择“控制面板”。2、点击“开始”,点击“控制面板”3、在控制面板中,点击“系统和安全”。4、点击启用或禁用自动更新。5...
- windows无法激活(windows无法激活有什么影响)
-
1.如果修复或重新组装了电脑,则可能是安装了不同版本的Windows。或者,如果在修复过程中为电脑使用了其他产品密钥,当使用该密钥的电脑数大于Microsoft软件许可条款允许的电脑数时,该密钥...
-
- u盘文件恢复软件免费(恢复u盘数据免费的软件)
-
u盘损坏文件恢复方法:1、打开电脑桌面的“计算机”或“我的电脑”。2、然后再找到需要修复的u盘。3、打开“运行”窗口(可以直接按“Windows+R”快捷打开),输入“CMD”并点击“确定”按钮以进入命令提符界面。4、从打开的“命令提示符”...
-
2025-12-28 22:03 off999
- 电脑uac是什么意思
-
UAC就是用户帐户控制,在对计算机进行更改之前,用户帐户控制(UAC)会通知您。比如安装软件驱动什么的,默认UAC设置会在程序尝试对计算机进行更改时通知您,但您可以通过调整设置来控制UAC...
- 笔记本找不到自己家的wifi怎么办
-
1.笔记本电脑缺少无线网卡驱动,需要下载驱动如果笔记本电脑开机之后,无法显示WiFi网络的图标,这个时候多半是因为电脑缺少无线网卡驱动造成的,有时候自己在清理电脑的时候,不小心清理了驱动程序,便会...
- 电信宽带办理电话是多少(电信宽带办理联系电话)
-
电信宽带不一定需要电信手机号码,可以根据自身需要选择,有单独的宽带业务,一般要求预存一定时间的使用费。不过一般包含了宽带、手机号码的融合套餐总体上更优惠,对客户来说更划算。如果有相应需求的话,建议同时...
- 开机进入ghost启动项(电脑启动进入ghost)
-
电脑启动的时候进入GHOST界面方法: 1、首先确认电脑装了GHOST软件。 2、重启电脑,注意仔细观察电脑屏幕,会有一个3s或者10s的选择界面。让选择是进入GHOST界面,或者正常启动进入系...
- 华硕bios修复蓝屏图解(华硕bios修复蓝屏视频教程)
-
先看下BIOS是否可以识别到硬盘设备,若看不到,硬盘故障的可能性很大。若可以看到硬盘,建议先尝试进行BIOS兼容性设置:1,在BIOS界面,通过方向键进【Secure】菜单,通过方向键选择【Sec...
- 老电脑怎么装win7系统(老电脑装win7系统可以吗)
-
6年前的电脑,如果是用的当时最新的CPU的话,应该是第7代或者第6代酷睿等级的。运行windows7和windows10都应该没有压力。从软件的兼容性来说,还是建议安装windows10,因为现在有好...
- 电脑怎么设置到点自动关机(电脑怎样设置到点关机)
-
1、首先我们点击电脑屏幕左下角的开始按钮,在所有程序里依次选择附件---系统工具,接着打开任务计划程序。2、我们打开任务计划程序后,在最右边的操作框里选择创建基本任务,然后在创建基本任务对话框的名称一...
- 2025年笔记本电脑排行榜(20201年笔记本电脑推荐)
-
2023华为笔记本电脑matebook16系列很好用的。因为这个系列她是有非常好的性价,比的是能够让你有非常轻薄的厚度,并且能够有11.6寸的屏幕,而且还有120赫兹的刷新率作为大学生,您可能需要经常...
- powerpoint激活密钥(ppt密钥 激活码2010)
-
1/4进入文件打开一个PPT文件进入到软件界面,在界面左上方找到文件选项,点击该选项进入到文件页面。2/4点击账户文件页面中,页面左侧找到账户选项,点击该选项,页面右侧会出现相应的操作选择。3/4点击...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
