Python_函数的初识、函数的返回值、函数的参数
2024-09-29 07:25:52
1、函数的初识
def关键字 空格 函数名(与变量名命名规则相同):英文冒号
函数体
执行函数:函数名+()
函数是以功能为导向的。
def login():
pass
def register():
pass
1 def my_len():
2 l1 = [1, 2, 3, 1, 6, 9, 10]
3 count = 0
4 for i in l1:
5 count += 1
6 my_len()
2、函数的返回值
return:
1、函数中遇到 return 结束函数,下面代码不执行。
def login():
print(111)
print(222)
return
print(333)
login()
2、将函数里面的值返回给函数的执行者(调用者)。
第一种情况:
只有return,返回None。
def login():
a = 2
b = 3
print(111)
print(a, b)
return
print(login())
第二种情况:
return None
第三种情况:
return 单个值(返回的值与单个值的类型相同)
def login():
a = 2
b = 3
return a
print(login(), type(login()))
def login():
a = 2
b = 3
return [1, 2]
print(login(), type(login()))
def login():
a = 2
b = 3
return [1, 2]
ret = login()
a, b = ret
print(a, b)
第四种情况:
return 多个值(以元组的形式返回给函数的调用者)
def login():
a = 2
b = 3
return 1, 'alex', [1, 2], {'name': '老男孩'}
ret = login()
print(ret)
什么是None?
所有空集合、空列表、空字典...... ----------> None
def my_len():
l1 = [1, 2, 3, 1, 6, 9, 100]
count = 0
for i in l1:
count += 1
return count
print(my_len())
3、函数的参数
1、实参角度
1、位置参数
一一对应,形参实参数量相等
def my_len(a): # a 形式参数,形参
count = 0
for i in a:
count += 1
return count
l1 = [1, 2, 3, 1, 6, 9, 100]
print(my_len(l1))
def my_len(a): # a 形式参数,形参
count = 0
for i in a:
count += 1
return count
l1 = [1, 2, 3, 1, 6, 9, 100]
my_len(l1)
ret = my_len(l1)
print(ret)
print(my_len(l1)) # 实际参数,实参
def my_len(a): # a 形式参数,形参
count = 0
for i in a:
count += 1
return count
s1 = 'fhdsjfdsfsadfgsd'
my_len(s1)
ret = my_len(s1)
print(ret)
print(my_len(s1)) # 实际参数,实参
def tes(a, b, c):
print(111)
print(a, b, c)
tes(22, 'alex', [11, 22, 33])
三元运算:
x = 100
y = 99
if x > y:
print(x)
else:
print(y)
x = 100
y = 99
c = x if x > y else y
print(c)
def max(x, y): return x if x > y else y
print(max(3000, 200))
2、关键字参数
一一对应,实参形参数量相等,实参顺序可变。
def func(x, y):
print(x, y)
func(y=3333, x=4)
3、混合参数
关键字参数必须在位置参数的后边。
def func(x, y, z):
print(x, y, z)
func(111, 222, z=555) # 混合传参 位置参数必须在前边
def func(x, y, z):
print(x, y, z)
func(111, z=555, 222)
2、形参角度
1、位置参数
一一对应,形参实参数量相等
def func2(y, x):
print(x, y)
func2(1, 2)
2、默认字参数
默认参数必须在形参的位置参数后面。
默认参数不传值则为默认值,传值则覆盖默认值。
def func2(y, x, z= 1000):
print(x, y, z)
func2(1, 2, 3000)
def input_information(name, sex='男'):
with open('information', encoding='utf-8', mode='a') as f1:
f1.write('{}\t{}\n'.format(name,sex)) while True:
msg = input('请输入用户的姓名,性别\Q或者q退出').strip()
if msg.upper() == 'Q':
break
if ',' in msg:
name1, sex1 = msg.split(',')
input_information(name1, sex1)
else:
input_information(msg)
3、动态参数
最新文章
- Dog_Hybird的诞生
- BPM业务流程管理与SAP如何更好集成整合?
- 常用的7个.htaccess代码组织某个国家的IP访问
- 数独检测器:帝国理工C++作业
- [转]Oracle数据库中的约束
- Oracle DBA从小白到入职实战应用
- 结合计划任务每天从Symantec官网下载离线病毒库
- java获取数据库的列名,类型等信息
- CSS width:100%和width:auto的区别
- linux dump 命令详解
- CentOS 5.4 制作 Python 2.6 RPM 包的方法
- MySql数据库3【优化3】缓存设置的优化
- Ibatis调用存储过程实现增删改以及分页查询
- 判断python对象是否可调用的三种方式及其区别
- Android studio打开项目一直卡住
- Leetcode Scratching Recorder
- Xilinx Vivado的使用详细介绍(1):创建工程、编写代码、行为仿真
- UVA 679 二叉树
- Mock4 moco框架中如何加入cookies
- Xilinx_ISE 14.7 Win10 闪退
热门文章
- 开发nginx启动脚本及开机自启管理(case)
- [Hive_add_8] Hive 常用参数配置
- Ubuntu16.04下iTop4412环境搭建+Android4.0.3编译
- LeetCode算法题-Same Tree(Java实现)
- VMware安装系统时";无法创建新虚拟机: 不具备执行此操作的权限";的解决方案
- Vue编写的todolist小例子
- kafka-connect-hdfs连接hadoop hdfs时候,竟然是单点的,太可怕了。。。果断改成HA
- DP 魔族密码 LIS
- centos7下安装docker(17.5docker监控的总结对比)
- Python入门学习:1.变量和简单的数据类型