博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
八.函数基本(简介,返回值,参数)
阅读量:5254 次
发布时间:2019-06-14

本文共 2029 字,大约阅读时间需要 6 分钟。

函数:

定义:def 关键词开头,空格之后接函数名称和()
函数名:函数只能包含字符串,下划线且不能是数字开头。
注释:每一个函数都应该对功能和参数进行相应的说明,应该谢写在函数下面第一行,增强可读性
作用:减少重复性代码
一.函数基本:
格式:def text():
print("你好")
text() # 你好

二.函数的返回值return:

函数内要想有返回值给调用者,必须用关键字return

#1.不写return:函数默认返回None

# def func():
print("nihao")
# res = func()
print(res) # None
#2.只写return:除了可以返回值之外还可以结束整个函数的运行,return之后整个函数结束运行
如:def func():
l =["jason","engon","tank"]
while True:
for i in l:
if i =="egon"
return
print("erhuo")
print(i)
result =func() # egon
print(res)
#3.return返回一个值:这个值可以是任意数据类型,是什么值返回什么

"""

1.所有的函数都有返回值,无论你写不写return
python中所有的函数都有返回值 不写的情况下默认返回None

2.光写return 或者return None并不是为了考虑返回值 而是为了结束函数的运行

"""

三.函数的参数:
形参:在函数的定义阶段,括号内写的变量名,叫做该函数的形式参数 ,简称形参 如 def add(a,b)a,b就是形参
实参:在函数的调用阶段,括号内实际传入的值叫做实际参数,简称实参 如 add(1,2)1,2,就是实参
形参和实参的关系:
形参就相当于变量名,而实参就相当于变量的值
函数调用传参的过程就是形参变量名赋值的过程
注意:形参个实参的绑定关系只在调用阶段有效,函数运行结束关系自动解除,只在函数内部有效,函数外部无任何影响

def sum(a):

"""用于计算从一到指定数字之和"""
i = 1
sum1 = 0
while i <= a:
sum1 += i
i += 1
print(sum1)

sum(100)

# 函数的多个调用
def add(a, b):
print(a + b)

add(3, 5)

四.位置参数和关键字参数
1.位置参数
# 函数位置形参在调用的时候,必须为其传值,位置参数,实参在进行传参过程中,位置要和函数内对其,不少不多
def my_max(x,y):
print(x,y)
if x > y:
return x
else:
return y
# res = my_max(1) # 在调用函数的时候 少一个实参不行
# res = my_max(1,2,3) # 在调用函数的时候 多一个实参也不行
2.关键字参数:
# 函数关键字参数在调用过程中,一定是在位置参数后面

# my_max(y=20,x=10)

# my_max(10,y=20) # 位置和关键字混合使用
# my_max(20,y=40)
my_max(20,y=40,x=30)

"""

注意:在函数的调用阶段 位置参数和关键字参数可以混合使用
但是必须保证
1.位置参数必须在关键字参数的前面(越短的越靠前,越长的越复杂的越靠后)
2.同一个形参不能被多次赋值
"""
五,默认参数:
# 用于定义函数,为参数提供默认值,调用是可以不用传该默认参数的值,
# 默认值参数的应用场景
# 当形参接收的到值比较单一的情况下 通常可以考虑用默认值形参
def user_info(name, age, gender="男"):
print(f"您的姓名是{name},年龄:{age},性别:{gender}")

user_info("吴凯", age=18)

user_info("吴凯", 18,"女")
六.可变长参数
可变参数,用于不确定调用的时候会传递多少个参数(不传参数也可以),此时可以用
# 包裹位置参数,或者包裹关键字参数传递,会显得方便,可以是集合,列表,元组
def user_info(*args):
print(args)

# 接受所有位置参数,返回一个元组(不定长参数)
user_info("Tom")
user_info("Tom", 18)
user_info()

# 包裹关键字传递,传进的所有参数都会被返回成一个字典,是一个组包的过程

def user_info(**kwargs):

print(kwargs)
user_info(name="Tom", age=18, gender="男")

转载于:https://www.cnblogs.com/wukai66/p/11157878.html

你可能感兴趣的文章
CSS水平垂直居中总结
查看>>
委托又给我惹麻烦了————记委托链的取消注册、获取返回值
查看>>
ps怎么把白色背景变透明
查看>>
gource 安装教程
查看>>
字符串转 Boolean 的正确方式
查看>>
给你的网站404页面加上“宝贝寻亲”公益页面
查看>>
整理推荐的CSS属性书写顺序
查看>>
协程, IO阻塞模型 和 IO非阻塞模型
查看>>
ServerSocket和Socket通信
查看>>
css & input type & search icon
查看>>
jQuery插件开发详细教程
查看>>
Crontab 在linux中的非常有用的Schedule Jobs
查看>>
ProxySQL Scheduler
查看>>
源代码的下载和编译读后感
查看>>
Kafka学习笔记
查看>>
Octotree Chrome安装与使用方法
查看>>
用CALayer实现下载进度条控件
查看>>
Windows 环境下基于 Redis 的 Celery 任务调度模块的实现
查看>>
趣谈Java变量的可见性问题
查看>>
C# 强制关闭当前程序进程(完全Kill掉不留痕迹)
查看>>