python 函数操作示例

Python函数操作

1.1 语法及示例

# 1.语法
# def关键字  函数名(参数列表):
#     函数体
#     return 返回值
# 函数使用
def my_len(data):count = 0;for x in data:count += 1print(f"字符串{data} 的长度为:{count}")my_len("hello")
my_len("hello,world!")

1.2 python函数返回值

python的函数支持多个返回值,c/c++函数的返回值在函数声明的时候就确定了,类型只有一种。

# 如果没有指定返回值,默认返回None
def test():print("ok")return Noneprint(f"test函数的返回值为:{test()}")
print(f"test函数的返回值类型为:{type(test())}")# 函数的多返回值
def return_multi_value():return 1, "hello", [1,2,3]x, y, num_list = return_multi_value()
print(x)
print(y)
print(num_list)

1.3 python函数的说明文档

使用 “”" 函数功能描述"“”

# 函数的说明文档
def add(num1, num2):"""add函数可以实现两数相加功能:param num1: 参数1:param num2: 参数2:return: 两数相加的结果"""res = num1 + num2;return resprint("res = %d" % add(1, 2))

1.4 python函数参数传递的几种方式

def set_user_info(name, age, addr="beijing"):print(f"{name} 同学, 年龄:{age} 家庭住址:{addr}")set_user_info("lwang", 20, "beijing")# 1.4.1 关键字传参
set_user_info(name = "panda", age = 20, addr = "xian")# 1.4.2 参数有默认值,其中addr默认为:beijing
set_user_info("lyz", 18)# 1.4.3 不定长参数传递
# (1)位置不定长 - *args 会根据传入参数的位置,合并为一个元组tuple,args是元组类型
def func1(*args):print(f"args的类型为:{type(args)}, 内容是:{args}")func1(1, 2, 3, "name")# (2)关键字不定长 - **kvargs  要求必须是 k-v 的形式传递参数,以字典的形式保存数据
def func2(**kvargs):print(f"kvargs的类型为:{type(kvargs)}, 内容是:{kvargs}")func2(name="jazz", age=20, addr="tianjin",habbie="game")

1.5 函数作为参数传递(函数指针)

# 函数作为参数传递
def add(x, y):return x+y;def sub(x, y):return x-y;def calculator(add_ptr, x, y):print(f"add_ptr 的类型为:{type(add_ptr)}")return add_ptr(x, y)print(calculator(add, 2, 3))

1.6 lambda表达式

匿名函数

# 7. 函数的定义:
# def 关键字,定义有名称的函数;
# lambda 关键字定义匿名函数, 语法: lambda 参数:函数体(一行代码),return默认省略
print(f"lambda表达式测试结果:{calculator(lambda x,y:x+y, 100, 100)}")

推荐一个零声学院免费教程,个人觉得老师讲得不错,
分享给大家:[Linux,Nginx,ZeroMQ,MySQL,Redis,
fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,
TCP/IP,协程,DPDK等技术内容,点击立即学习:


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部