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 1 5.4881351 2 7.1518942 3 6.0276343 4 5.4488324 5 4.2365485 6 6.4589416 7 4.3758727 8 8.9177308 9 9.6366289 10 3.834415id score0 1 5.01 2 7.02 3 6.03 4 5.04 5 4.05 6 6.06 7 4.07 8 9.08 9 10.09 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 pay0 111 791 112 332 113 72每个学生每日消费:student id day pay0 111 1 351 111 2 442 112 1 83 112 2 114 112 3 145 113 1 156 113 2 207 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)