Python基础篇(四):基本数据类型的学习和示例
函数的定义和调用
- 前言
- 1. Python 函数示例
- 2. 自定义函数
- 2.1 函数语法
- 2.2 函数示例
- 2.3 函数调用
- 3.内置函数
- 3.1 数学函数
- 3.2 类型转换函数
- 3.3 序列操作函数
- 3.4 输入输出函数
- 3.5 文件操作函数
- 3.6 迭代函数
- 3.7 集合操作函数
- 3.8 字符串操作函数
前言
函数是Python编程中的重要概念,掌握函数的使用和设计能够提高编程效率和代码质量
,函数的作用如下:
-
代码重用和模块化
:函数使得可以将一段可重用的代码封装成一个函数,可以在程序的不同部分多次调用。这样可以避免重复编写相同
的代码,提高代码的可维护性和可读性
。函数还支持模块化编程,将程序分解为多个小模块,每个函数负责完成特定的任务,使得程序结构更清晰、易于理解和维护。 -
抽象和封装
:函数可以将复杂的操作抽象为一个函数调用,隐藏实现细节
。这样可以提供更高层次的抽象,使得代码更简洁、易于使用和维护。函数的封装性还可以将一系列操作组合在一起,作为一个单元进行处理。 -
参数传递和返回值
:函数可以接受参数作为输入,并根据参数的值执行相应的操作。通过函数的参数,可以向函数传递数据和信息,使得函数能够适应不同的输入情况。函数还可以通过return
语句返回计算结果或其他需要的值,使得函数能够将结果传递给调用方,在程序的其他部分使用。 -
代码可读性和可维护性
:将一段代码封装在函数中可以使代码更易读、易于理解。函数的使用可以提供有意义的函数名和适当的注释,从而增加代码的可读性。此外,函数使得程序结构更清晰,易于维护和调试。当出现错误时,只需要检查特定函数而不是整个程序。 -
分解复杂任务和可测试性
:函数可以将复杂的任务分解为多个小的函数,每个函数负责解决其中的一部分问题。这样可以降低编写复杂代码的难度,使问题更易于管理和解决。函数的模块化特性也使得单元测试更加容易。可以对每个函数进行独立的测试,确保其功能的正确性,而不需要测试整个程序。
1. Python 函数示例
# 这个函数名为 `greet`,它接受一个参数 `name`。函数体内部打印了一条包含参数 `name` 的问候语。
def greet(name):
"""
这个函数用于向用户打招呼
"""
print("Hello, " + name + "!")
# 调用函数
greet("CXK")
2. 自定义函数
2.1 函数语法
在 Python 中,使用 def
关键字来定义函数。函数定义包括函数名、参数和函数体。
def function_name(parameter1, parameter2, ...):
# 函数体
# 执行任务
# 返回结果(可选)
function_name
是函数起的名字,应该具有描述性
,并符合 Python命名规范
。(喜欢定义方法名为menthod1()或者func()建议自己呼自己)parameter1, parameter2, ...
是函数的参数列表。参数是可选的,你可以根据需要定义任意数量的参数。参数可以是必需参数、默认参数或可变参数。- 函数体是执行特定任务的代码块。可以包含任意数量的语句。
- 使用
return
语句返回一个结果。如果函数没有return
语句,将默认返回None
。
2.2 函数示例
def add_numbers(a, b):
"""
这个函数接受两个参数,并返回它们的和
"""
result = a + b
return result
# 调用函数
sum = add_numbers(3, 5)
print(sum) # 输出 8
函数接受两个参数 a
和 b
,并返回它们的和。在函数体内部将 a
和 b
相加,并将结果存储在变量 result
中。使用 return
语句返回 result
。
2.3 函数调用
调用函数意味着执行函数体内的代码。要调用函数,只需提供函数名和所需的参数
function_name(argument1, argument2, ...)
function_name
是函数的名称argument1, argument2, ...
是函数调用时提供的实际参数值
在上面的示例中,我们调用了 greet("cxk")
和 add_numbers(3, 5)
,分别传递了不同的参数
3.内置函数
以下为部分常用的内置函数,详细的函数列表可参考Python官方文档
Python中内置函数的根据其功能进行分类及示例:
3.1 数学函数
abs()
: 返回数值的绝对值。
print(abs(-10)) # 输出:10
pow()
: 返回数值的指定次幂。
print(pow(2, 3)) # 输出:8
round()
: 对数值进行四舍五入。
print(round(3.14159, 2)) # 输出:3.14
3.2 类型转换函数
int()
: 将值转换为整数类型。
print(int("10")) # 输出:10
float()
: 将值转换为浮点数类型。
print(float("3.14")) # 输出:3.14
str()
: 将值转换为字符串类型。
print(str(42)) # 输出:"42"
3.3 序列操作函数
len()
: 返回序列对象的长度或元素个数。
print(len("Hello")) # 输出:5
max()
: 返回序列对象中的最大值。
print(max([5, 2, 9, 1, 7])) # 输出:9
min()
: 返回序列对象中的最小值。
print(min([5, 2, 9, 1, 7])) # 输出:1
sum()
: 计算序列对象中所有元素的总和。
print(sum([1, 2, 3, 4, 5])) # 输出:15
3.4 输入输出函数
print()
: 打印输出指定的内容。
print("Hello, World!") # 输出:Hello, World!
input()
: 从用户输入中读取一行文本。
name = input("Enter your name: ")
print("Hello, " + name)
3.5 文件操作函数
open()
: 打开文件并返回文件对象。
file = open("example.txt", "r")
read()
: 读取文件内容。
content = file.read()
write()
: 将内容写入文件。
file.write("Hello, World!")
close()
: 关闭文件。
file.close()
3.6 迭代函数
range()
: 生成一个整数序列。
print(list(range(1, 6))) # 输出:[1, 2, 3, 4, 5]
enumerate()
: 枚举序列对象并返回索引和对应的元素。
for index, value in enumerate(['song', 'jump', 'rap']):
print(index, value)
3.7 集合操作函数
set()
: 创建一个无序的唯一元素集合。
my_set = set([1, 2, 3, 2, 4, 5])
print(my_set) # 输出:{1, 2, 3, 4, 5}
len()
: 返回集合中的元素个数。
print(len(my_set)) # 输出:5
union()
: 返回两个集合的并集。
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1.union(set2)) # 输出:{1, 2, 3, 4, 5}
3.8 字符串操作函数
len()
: 返回字符串的长度。
print(len("Hello")) # 输出:5
upper()
: 将字符串转换为大写。
print("Hello".upper()) # 输出:HELLO
lower()
: 将字符串转换为小写。
print("Hello".lower()) # 输出:hello
split()
: 将字符串分割为子字符串列表。
words = "Hello, World!".split(", ")
print(words) # 输出:['Hello', 'World!']