当前位置:
首页 > Python基础教程 >
-
python基础入门之十 —— 函数
1、概述
(1)定义:
def 函数 (参数) 代码1 代码2 .....
(2)调用:
函数名(参数)
P.S:(1)在python 中,函数必须先定义后使用。
(2)定义函数时代码不执行,调用时执行。
# 演示 def add_func(a, b): return a+b a = 1 b = 2 print(add_func(a, b)) # 3
2、说明文档
def add_func(a, b): """ 函数说明 :param a:参数1 :param b:参数2 :return:返回值 """ return a+b help(add_func)
(1)书写:函数名下一行,三引号内
(2)查看:help()函数
3、全局遍量和局部变量
(1)局部变量:只在函数体内部的变量,函数结束即销毁
(2)全局变量:函数体内外可用的变量
a = 100 # 全局变量 print(a) # 输出全局变量a,100 def function1(): print(a) # 输出全局变量a,100 def function2(): a = 200 # 局部变量,全局变量不变 print(a) # 输出局部变量a,200 def function3(): global a # 声明全局表量 a =200 # 修改全局变量 print(a) # 输出全局变量a,200 function1() function2() print(a) # 输出全局变量a,100 function3() print(a) # 输出全局变量a,200
4、多个返回值
def return_num(): return 1, 2 # 逗号隔开,默认返回元组返回 # 另:return 后面可以直接书写元组,字典,列表 print(return_num()) # (1, 2)
5、函数的参数
位置参数 |
调用函数时根据函数定义的参数位置来传递参数
def user(name,age,gender):
print(f'您得名字{name},年龄{age},性别{gender}')
user('tom',20,'男')
|
关键字参数 |
函数调用通过‘键=值’来加以制定,不分先后顺序
user('Tom',gender='男',age=16)
P.s:函数调用时,如果有位置参数时,位置参数必须在关键字参数的前面,但关键字参数之间不存在先后顺序 |
缺省参数 |
用于定义函数,为参数提供默认值,调用函数时可不传该默认参数得值
def user(name,age,gender='男'):
print(f'您得名字{name},年龄{age},性别{gender}')
user('小米',20) #gender不传参,默认为男
user('小米',66,gender='女') #gender传参,修改默认值,改为女
(P.s: 所有参数必须出现在默认参数前) |
不定长参数 |
定义函数时不确定传参个数使用
def user(*args):
print(args)
user('小米',20)
user('小米')
def user(**kwargs):
print(kwargs)
user(name='小米',age=20, id=110)
user(name='小米',age=66,gender='女')
|
6、拆包
(1)元组:
def return_num(): return 100,200 #元组拆包 num1,num2=return_num() print(num1) # 100 print(num2) # 200
(2)字典
dict1 = {'name':'Tom','age':18} #字典拆包 a,b=dict1 #取键 print(a) # name print(b) # age #取值 print(dict1[a]) # Tom print(dict1[b]) # 18
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式