python基础知识--函数

简介: python基础知识--函数

 (创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)

目录

一、函数

1.函数的定义

2.函数的参数

3.函数的返回值

4.将函数储存在模块

二、lambda函数和列表的排序

1.lambda函数

2.列表的排序


一、函数

1.函数的定义

函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。

任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。

函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。

函数内容以冒号起始,并且缩进。

return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

def printf():
    print("hello world")
printf()
printf()

hello world

hello world

2.函数的参数

• 正常情况下定义的参数需要按顺序传对应的参数;

• 参数可以设置默认值,调用时不用传这些参数的值

• 关键字参数,可以用 name=value 的形式调用函数,并且顺序可以换;

• 传不可变对象 string 、 tuple , 数据不能被改变;传可变对象 list 、 dict 、 set , 数据可以被改变

def introduct(name):
    print(f"大家好,我是{name}")
introduct("xiaoming")

大家好,我是xiaoming

3.函数的返回值

可以用return返回函数的计算结果

可以用逗号分隔返回多个值,调用时拆包获取各值

#函数的返回
def add(x,y):
    x = int(x)
    y = int(y)
    return x+y
result = add(3,5)
print(result)
print((add("3","5")))

8

8

函数可以具有一个或者一组值,将逻辑“封装”在函数中,会简化整个程序

#函数返回一个字典
students={
     "xiaozhang":{"id":101,"grade":88},
     "xiaowang":{"id":102,"grade":77}
}
def get_student(name):
    if name in students:
        return students[name]
    else:
        return None
print(get_student("xiaozhang"))
print(get_student("xiaoxiao"))

{'id': 101, 'grade': 88}

None

4.将函数储存在模块

在实际开发中,代码都会放在不同的文件中

模块module是文件,以.py为后缀名,包含类、函数、语句

举例:

新建一个computer.py文件,在里面编写add、sub、mul、div四个函数,那么computer就是一个模块,里面的四个函数都会被其他文件使用

新建另一个main.py,用如下方法可以引用computer.py代码

1.import computer:然后用computer.add等调用函数

2.import computer as cp:给模块起别名,然后用cp.add调用函数

3.from computer import add,sub:然后用add、sub函数直接使用

4.from computer import *:可以直接使用add、sub等所有函数

# @File : computer.py
def add(x,y):
    return x+y
def sub(x,y):
    return x-y
def mul(x,y):
    return x*y
def div(x,y):
    return x/y
#调用模块
import computer
print(computer.add(3,5))
from computer import add,sub,mul,div
print(add(3,5))

8

8

二、lambda函数和列表的排序

1.lambda函数

lambda函数:

• 称为匿名函数,函数的定义直接使用,不用起名字

• 又称为一句话函数、逻辑简单到一行代码就能表达逻辑

• 用于一些简单的、不会重复多次调用的情景

定义形式:

1.lambda 参数:操作(参数)

2.定义举例:sum = lambda x,y: x+y

3.调用举例:sum(1,2)

使用场景:

• 既然逻辑能够在一行完成,那直接写逻辑即可,为什么要写成一个函数?

• 因为有些 python 的有些高级函数,比如 list.sort 、 sorted 、 map 、 reduce 等,它们的调用需要传一个函数作为参数传入

2.列表的排序

• 列表排序方法 1 :

       list.sort(key=None, reverse=False)

• 列表排序方法 2 :

       new_list = sorted(iterable, key=None, reverse=False)

• 其中的 key 参数,可以传入一个函数,指定排序的元素,对于这个函数,用 lambda 可以简化代码

举例:对学生数据按成绩排序

sgrades=[(1001,89),(1002,77),(1003,99)]

• 不可行的方法: sgrades.sort () ,只会按照第一项排序

• 方法 1 : sgrade s .sort( ke y =lambda x:x [1])

 方法2 : new_list = sorted( sgrades , key=lambda x:x [1], reverse=True

#按照成绩排序
sgrades=[(1001,89),(1002,77),(1003,99)]
sgrades.sort(key=lambda m:m[1])#sort将每个元素传给lambda
print(sgrades)

[(1002, 77), (1001, 89), (1003, 99)]

相关文章
|
15天前
|
开发者 Python 容器
python函数基础以及函数参数简解
python函数基础以及函数参数简解
|
8天前
|
Python
python 函数
【9月更文挑战第4天】python 函数
29 5
WK
|
15天前
|
Python
python中的函数有哪些种类?
在 Python 中,函数根据定义方式、用途及来源可分为多种类型:自带的内置函数(如 print(), len())无需导入直接使用;标准库函数需导入相应模块后使用;第三方库函数则需先安装库再导入使用;用户自定义函数可根据需求定义并多次调用;匿名函数(lambda)无函数名,常用于需要函数对象但不想单独定义的情形;高阶函数接受或返回函数;装饰器函数可在不改动原函数代码情况下为其添加新功能;生成器函数使用 yield 逐个返回值;递归函数在自身定义中调用自身;嵌套函数在一个函数内定义,可访问外部函数变量。各种函数类型在编程中有不同的用途和优势。
WK
37 12
|
13天前
|
Python
Python 中 help() 和 dir() 函数的用法
【8月更文挑战第29天】
17 5
|
14天前
|
Python
12类常用的Python函数
12类常用的Python函数
|
15天前
|
Python
python中getattr函数 hasattr函数
python中getattr函数 hasattr函数
|
15天前
|
算法 Python
python函数递归和生成器
python函数递归和生成器
|
14天前
|
Python
Python eval()函数的使用
Python eval()函数的使用
14 1
|
15天前
|
Python
python常用内置函数
python常用内置函数
|
16天前
|
算法 Python
python常见的函数使用
【8月更文挑战第27天】python常见的函数使用
14 2