函数是一种用于封装可重复使用代码块的工具,能够将一系列操作组织成一个逻辑单元。
在Python中,函数通过def关键字进行定义,后面跟着函数的名称、参数列表和冒号。函数的主体代码块缩进,并在需要时使用return关键字返回值。
#定义函数
def hello(name):
return "hello, " + name + "!"
在上面的示例中,我们定义了一个名为hello的函数,它有一个参数name,函数的主体代码会将给定的名字与问候语连接起来,并返回结果。
要调用函数,只需使用函数名和参数列表,将参数传递给函数即可。函数返回的值可以用变量接收,也可以直接用于其他操作。
#调用函数
result = hello("shiyuncode.com")
# 输出 "hello, shiyuncode.com!"
print(result)
在这个示例中,我们调用了hello函数,将名字"shiyuncode.com"传递给它,并将返回值赋给result变量,最后将结果打印出来。
函数可以接受多个参数,这些参数在函数定义时通过参数列表指定。函数的参数可以有默认值,也可以根据需要传递不同的值。
下面我们定义一个加法函数为例:
#定义一个加法函数
def add(itemA, itemB=2):
return itemA + itemB
#默认参数itemB计算
result1 = add(1) # 默认itmeB=2,所以1+2,结果为3
#自定义itemA和itemB进行计算
result2 = add(2, 3) # 指定itemB为3,所以2+3,结果为5
#输出计算结果
print(result1)
print(result2)
在上面的例子中,add函数有两个参数:itemA和itemB。itemB参数有默认值为2,因此在调用函数时可以省略它,省略它则代码块中会使用默认值进行计算。
函数可以使用return语句返回值,返回值可以是任何数据类型。如果函数没有使用return语句,它会返回None。
# 定义一个有返回函数
def add(itemA, itemB=2):
return itemA + itemB
# 定义一个无返回函数
def hello():
print("hello shiyuncode.com!")
# 调用有返回函数
result1 = add(1)
# 调用无返回函数
result2 = hello()
# 输出函数结果
print("有返回:", result1)
print("无返回:", result2)
input()函数是Python内置函数之一,用于从用户获取输入。它允许程序在运行时暂停,等待用户输入数据,并将用户输入的数据作为字符串返回(也就是程序接收到的式字符串数据)。
使用input()函数,可以实现键盘输入值被代码获取到,通俗点讲就是程序可以进行交互了,程序可以接收到我们提供的信息了。
基本的使用示例:
name = input("请输入你的名字:")
print("你好," + name + "!")
range()函数是Python内置函数之一,用于生成一个整数序列。它常用于循环结构,如for循环,用于指定循环的次数或索引范围。
range()函数可以接受一个(end)、两个(start,end)或三个参数(start,end,step),具体取决于使用的方式。
其中start默认值0,step默认值1
# 生成从0到n-1的整数序列
for i in range(5):
print(i) # 输出:0 1 2 3 4
# 生成从start到stop-1的整数序列
for i in range(2, 6):
print(i) # 输出:2 3 4 5
# 生成从start到stop-1的整数序列,步长为step
for i in range(1, 10, 2):
print(i) # 输出:1 3 5 7 9
一下是一些常用的函数,我们可以再使用过程中,再进行讲解
函数 | 描述 | 示例 |
---|---|---|
print() | 打印输出文本或变量的值 | print("Hello") |
len() | 返回容器的长度 | len([1, 2, 3]) |
type() | 返回变量或对象的类型 | type(10) |
int() | 将值转换为整数 | int("5") |
float() | 将值转换为浮点数 | float("3.14") |
str() | 将值转换为字符串 | str(123) |
list() | 创建列表 | list(range(5)) |
tuple() | 创建元组 | tuple([1, 2]) |
dict() | 创建字典 | dict(key=10) |
set() | 创建集合 | set([1, 2, 3]) |
max() | 返回序列中的最大值 | max(1, 2, 3) |
min() | 返回序列中的最小值 | min([4, 5, 6]) |
sum() | 计算序列中元素的和 | sum([1, 2, 3]) |
sorted() | 返回排序后的序列 | sorted([3, 1, 2]) |
abs() | 返回绝对值 | abs(-5) |
round() | 四舍五入浮点数 | round(3.14159) |
str.format() | 字符串格式化 | "Hello, {}".format("Alice") |
join() | 将序列元素连接为字符串 | " ".join(["Hello", "world"]) |
split() | 将字符串分割为子字符串列表 | "apple,banana".split(",") |
strip() | 去除字符串两端的空白字符 | " text ".strip() |
replace() | 替换字符串中的子字符串 | "hello".replace("h", "H") |
PS:为什么单独讲input(),因为后面有一点点小小的实践!会用到!