Bootstrap

python 函数操作示例

Python函数操作

1.1 语法及示例
# 1.语法
# def关键字  函数名(参数列表):
#     函数体
#     return 返回值
# 函数使用
def my_len(data):
    count = 0;
    for x in data:
        count += 1

    print(f"字符串{data} 的长度为:{count}")


my_len("hello")
my_len("hello,world!")

1.2 python函数返回值

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

# 如果没有指定返回值,默认返回None
def test():
    print("ok")
    return None

print(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 res

print("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等技术内容,点击立即学习:

;