【Python 零基础入门】内容补充 1 常用内置函数

  • Python 简介
  • 为什么要学习内置函数
  • 数据类型和转换
    • int(): 转为整数
    • float(): 转为浮点数
    • list(): 转为列表
    • tuple(): 转换为元组
    • set():转换为集合
    • dict(): 创建字典:
  • 数学运算
    • abs(): 绝对值
    • pow(): 幂运算
    • round(): 四舍五入
    • min(): 最小值
    • max():最大值
    • sum(): 求和
    • divmod(): 商和余数

Python 简介

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

为什么要学习内置函数

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

数据类型和转换

int(): 转为整数

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

格式:

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

例子:

# float->intx = int(2.8)# 输出 x=2y = 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->floatx = float(2)# 输出 x=2.0# string->floaty = float("3")# 输出 y=3.0z = float("4.2")# 输出 z=4.2

list(): 转为列表

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

格式:

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

例子:

# string->listx = list("我是小白呀")# 输出 x=['我', '是', '小', '白', '呀']# tuple->listy = list((1, 2, 3, 4, 5))# 输出 y=[1, 2, 3, 4, 5]

tuple(): 转换为元组

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

格式:

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

例子:

# string->tuplex = tuple("我是小白呀")# 输出 x=('我', '是', '小', '白', '呀')# list->tupley = 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->setx = set("hello")# 输出 x={'o', 'e', 'h', 'l'}# list->sety = 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 中的数学运算符相关的内置函数.

abs(): 绝对值

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

格式:

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

例子:

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

pow(): 幂运算

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

格式:

output = pow(x, y)

例子:

x = pow(4, 3)# 输出 x=4^3=64y = 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=3y = 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 score0 15.4881351 27.1518942 36.0276343 45.4488324 54.2365485 66.4589416 74.3758727 88.9177308 99.6366289103.834415 idscore0 15.01 27.02 36.03 45.04 54.05 66.06 74.07 89.08 9 10.09104.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 idpay0 111 791 112 332 113 72每个学生每日消费: student iddaypay0 1111 351 1112 442 112183 1122 114 1123 145 1131 156 1132 207 1133 37

divmod(): 商和余数

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

格式:

output = divmod(a, b)

参数:

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

例子:

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