【Python 零基础入门】常用内置函数 初探

2023-12-13 23:22:29

Python 简介

Python 是一种解释性, 高级和通用的变成语言. Python 由 Guido van Rossum 创建并 1991 年首次发布. Python 的设计强调代码的可读性, 其雨大允许我们使用相较于 C++ 或 Java 更少的代码表达概念. Python 使得变成变得更简单, 更快捷. 下面就跟着小白我来一起看一下 Python 常用的内置函数.

Python 内置函数

为什么要学习内置函数

Python 内置函数 (Built-In Function) 是 Python 解释器直接提供的函数, 相较于别的 Python 函数, 无需导入任何模块即可使用. 熟悉掌握 Python 的内置函数不仅可以帮助我们快速的完成常见的变成任务, 还可以使得我们的代码更加简洁, 易读.

数据类型和转换

Python 数据类型

int(): 转为整数

int()函数可以用于将一个字符串 (string) 或数字转换为整形 (int).

格式:

num_int = int(需要转换的变量)

例子:

# float->int
x = int(2.8)  # 输出 x=2
y = int("3")  # 输出 y=3

常见用法:

# 将一个字符串组成的列表转换为整型
list_str = ["1", "2", "3", "4", "5"]
list_int = [int(i) for i in list_str]
print(list_str)
print(list_int)

输出结果:

['1', '2', '3', '4', '5']
[1, 2, 3, 4, 5]

float(): 转为浮点数

float()函数用于将一个字符串或数字转换为浮点数.

格式:

num_float = float(需要转换的白能量)

例子:

# int->float
x = float(2)    # 输出 x=2.0

# string->float
y = float("3")  # 输出 y=3.0
z = float("4.2")  # 输出 z=4.2

list(): 转为列表

list()函数用于将一个序列转为列表 (list).

格式:

convert_list = list(需要转换的序列)

例子:

# string->list
x = list("我是小白呀")  # 输出 x=['我', '是', '小', '白', '呀']

# tuple->list
y = list((1, 2, 3, 4, 5))  # 输出 y=[1, 2, 3, 4, 5]

tuple(): 转换为元组

tuple()函数用于将一个序列转换为元组.

格式:

convert_tuple = tuple(需要转换的序列)

例子:

# string->tuple
x = tuple("我是小白呀")  # 输出 x=('我', '是', '小', '白', '呀')

# list->tuple
y = tuple([1, 2, 3, 4, 5])  # 输出 y=(1, 2, 3, 4, 5)
z = tuple(['1', '2', 3, 4, 5])  # 输出 z=('1', '2', 3, 4, 5)

set():转换为集合

set()函数用于创建一个无序不重复元素集.

格式:

convert_set = set(需要转换的变量)

例子:

# string->set
x = set("hello")  # 输出 x={'o', 'e', 'h', 'l'}

# list->set
y = set([1, 2, 2, 3, 4])  # 输出 y={1, 2, 3, 4}

常见用法:

# 对列表进行去重
original_list = [1, 2, 2, 3, 4, 5]
unique_list = list(set(original_list))
print("原始列表:", original_list)
print("去重列表:", unique_list)

# 对字符串进行去重
original_str = "abbccd"
unique_list = list(set(original_str))
print("原始字符串:", original_str)
print("去重列表:", unique_list)

输出结果:

原始列表: [1, 2, 2, 3, 4, 5]
去重列表: [1, 2, 3, 4, 5]
原始字符串: abbccd
去重列表: ['d', 'b', 'a', 'c']

dict(): 创建字典:

dict()函数用于创建一个字典.

例子:

# 创建字典
x = dict(name="我是小白呀", age=18)  # x={'name': '我是小白呀', 'age': 18}

常见用法, 通过zip()函数创建字典:

# 将2个数组合并为字典
list_name = ["张三", "李四", "我是小白呀"]  # 名字数组
list_age = [45, 63, 18]  # 年龄数组
dict_age = dict(zip(list_name, list_age))  # 字典

# 调试输出
print("名字数组:", list_name)
print("年龄数组:", list_age)
print("合并的字典:", dict_age)

输出结果:

名字数组: ['张三', '李四', '我是小白呀']
年龄数组: [45, 63, 18]
合并的字典: {'张三': 45, '李四': 63, '我是小白呀': 18}

数学运算

接下来, 小白我带大家来了解一下 Python 中的数学运算符相关的内置函数.

Python 数学运算

abs(): 绝对值

abs()返回数字的绝对值.

格式:

num_abs = abs(需要取绝对值的变量)

例子:

x = abs(-2)  # 输出 x=2
y = abs(-3.1415926)  # 输出 y=3.1415926

pow(): 幂运算

pow()函数返回 x 的 y 次幂.

格式:

output = pow(x, y)

例子:

x = pow(4, 3)  # 输出 x=4^3=64
y = pow(2, 10)  # 输出 y=2^10=1024

常用方法:

# 获取平方数组
original_list = [1, 2, 3, 4, 5]
squared_list = [pow(i, 2) for i in original_list]

# 调试输出
print("原始数组:", original_list)

输出结果:

原始数组: [1, 2, 3, 4, 5]
平方数组: [1, 4, 9, 16, 25]

round(): 四舍五入

round()函数返回浮点数的四舍五入值.

格式:

num_round = round(number, ndigits=None)

参数:

  • num: 浮点数
  • digits: 保留小数点后几位, 默认为 None, 及四舍五入到整数

例子:

x = round(3.1415926)  # 输出 x=3
y = round(3.1415926, 2)  # 输出 y=3.14

常用方法:

# Todo: 将 DataFrame 中的数据取整
np.random.seed(0)  # 设置随机数种子
list_id = [i for i in range(1, 11)]  # 创建 id 数组 (1-11)
list_score = [np.random.rand() * 10 for _ in range(10)]  # 创建 score 数组 [0-10) 随机小数

# 创建一个模拟 DataFrame, 数据为0-10的分数
df = pd.DataFrame({"id": list_id, "score":list_score})
print(df)

# 取整
df["score"] = round(df["score"])
print(df)

输出结果:

   id     score
0   1  5.488135
1   2  7.151894
2   3  6.027634
3   4  5.448832
4   5  4.236548
5   6  6.458941
6   7  4.375872
7   8  8.917730
8   9  9.636628
9  10  3.834415

   id  score
0   1    5.0
1   2    7.0
2   3    6.0
3   4    5.0
4   5    4.0
5   6    6.0
6   7    4.0
7   8    9.0
8   9   10.0
9  10    4.0

min(): 最小值

min()函数返回给定参数的最小值, 参数可以为序列.

格式

out = min(iterable, *, key=None)
  • iterable: 可迭代对象, 包括列表, 元组, 字符串等
  • key: 指定函数, 默认为 None, 及比较元素本身

例子:

# 列表 min() 使用
list1 = [1, 2, 3, 4, 5]
list2 = ["a", "b", "c"]
min1 = min(list1)
min2 = min(list2)

# 元组 min() 使用
tuple1 = (2, 5, 9)
min3 = min(tuple1)

# 字典 min() 使用
dict1 = {'a': 70, 'b': 20, 'c': 30, 'd': 40}
min4 = min(dict1)
min5 = min(dict1, key=dict1.get)

# 调试输出
print(list1, "中列表元素最小值:", min1)
print(list2, "中列表元素最小值:", min2)
print(tuple1, "中元组元素最小值:", min3)
print(dict1, "中字典 key 最小值:", min4)
print(dict1, "中字典 value 最小值对应的 key:", min5)

输出结果:

[1, 2, 3, 4, 5] 中列表元素最小值: 1
['a', 'b', 'c'] 中列表元素最小值: a
(2, 5, 9) 中元组元素最小值: 2
{'a': 70, 'b': 20, 'c': 30, 'd': 40} 中字典 key 最小值: a
{'a': 70, 'b': 20, 'c': 30, 'd': 40} 中字典 value 最小值对应的 key: b

max():最大值

max()函数返回给定参数的最大值, 参数可以为序列.

格式

out = max(iterable, *, key=None)
  • iterable: 可迭代对象, 包括列表, 元组, 字符串等
  • key: 指定函数, 默认为 None, 及比较元素本身

例子:

# 列表 max() 使用
list1 = ["abc", "bc", "c", "d"]
max1 = max(list1)
max2 = max(list1, key=len)

list2 = [3, -6, 7, -8, 2]
max3 = max(list2)
max4 = max(list2, key=abs)

# 字典 max() 使用
students = [
    {"name": "Alice", "score": 85},
    {"name": "Bob", "score": 90},
    {"name": "Charlie", "score": 78}
]
max5 = max(students, key=lambda x: x['score'])


# 调试输出
print(list1, "中列表元素最大值:", max1)
print(list1, "中列表元素最长值:", max2)
print(list2, "中列表元素最大值:", max3)
print(list2, "中列表元素最大绝对值:", max4)
print(students, "中字典特定键最大值:", max5)

输出结果:

['abc', 'bc', 'c', 'd'] 中列表元素最大值: d
['abc', 'bc', 'c', 'd'] 中列表元素最长值: abc
[3, -6, 7, -8, 2] 中列表元素最大值: 7
[3, -6, 7, -8, 2] 中列表元素最大绝对值: -8
[{'name': 'Alice', 'score': 85}, {'name': 'Bob', 'score': 90}, {'name': 'Charlie', 'score': 78}] 中字典特定键最大值: {'name': 'Bob', 'score': 90}

sum(): 求和

sum(): 函数用于对集合进行求和计算.

例子:

numbers = [1, 2, 3, 4, 5]
numbers_sum = sum(numbers)  # 输出numbers_sum=15

常用方法:

# Todo: 将 DataFrame 中的学生每天用餐消费进行求和

# 创建数据
student_id = [111, 111, 111, 111, 112, 112, 112, 113, 113, 113, 113]
day = [1, 1, 2, 2, 1, 2, 3, 1, 2, 3, 3]
pay = [12, 23, 18, 26, 8, 11, 14, 15, 20, 21, 16]
df = pd.DataFrame({"student id": student_id, "day": day, "pay": pay})
print(df)

# 按 id 求和
result = df.groupby(["student id"])["pay"].sum().reset_index()
print("每个学生总消费:", result, sep="\n")

# 按 id 和日期求和
result = df.groupby(["student id", "day"])["pay"].sum().reset_index()
print("每个学生每日消费:", result, sep="\n")

输出结果:

每个学生总消费:
   student id  pay
0         111   79
1         112   33
2         113   72

每个学生每日消费:
   student id  day  pay
0         111    1   35
1         111    2   44
2         112    1    8
3         112    2   11
4         112    3   14
5         113    1   15
6         113    2   20
7         113    3   37

divmod(): 商和余数

divmod()函数接收两非复数的参数, 返回一对数的商和余数.

格式:

output = divmod(a, b)

参数:

  • a: 除数
  • b:被除数
  • return: 商, 余, 同 (a // b, a % b)

例子:

# 8 对 3 的商和余数
result = divmod(8, 3)  # 输出 result=(2, 2)

文章来源:https://blog.csdn.net/weixin_46274168/article/details/134099114
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。