当前位置: 首页 > news >正文

Python-内置函数

Python-内置函数

  • 前言
  • 一、数据类型转换
    • 1.1 隐式类型转换(自动转换)
    • 1.2 显式类型转换(强制转换)
      • 1.2.1 数值类型转换
      • 1.2.2 序列类型转换
      • 1.2.3 字符串与字节转换
      • 1.2.4 特殊字符转换
      • 1.2.5 其他类型转换
  • 二、数学运算
    • 2.1 运算符
      • 2.1.1 算术运算符
      • 2.1.2 赋值运算符
      • 2.1.3 比较运算符
      • 2.1.4 位运算符
      • 2.1.5 逻辑运算符
    • 2.2 内置数学函数
  • 三、序列操作
    • 3.1 通用序列操作
      • 3.1.1 索引访问
      • 3.1.2 切片操作
      • 3.1.3 序列运算
      • 3.1.4 长度、最值与计算
    • 3.2 可变序列操作
      • 3.2.1 元素修改
      • 3.2.2 列表特别方法
    • 3.3 不可变序列操作
      • 3.3.1 字符串特有方法
      • 3.3.2 元组特有操作
    • 3.4 序列转换与生成
  • 四、文件与输入输出
    • 4.1 文件操作
      • 4.1.1 文件打开与关闭
      • 4.1.2 文件读取写入方法
      • 4.1.3 文件指针操作
      • 4.1.4 异常处理
    • 4.2.标准输入输出
      • 4.2.1 标准输出(打印)
      • 4.2.2 标准输入(读取用户输入)
  • 五、类型检查与帮助
  • 总结


前言

Python 的内置函数是直接可用的工具,无需导入任何模块。它们覆盖了基础数据类型转换、数学运算、文件操作、迭代器处理等核心功能


一、数据类型转换

1.1 隐式类型转换(自动转换)

Python 会自动转换某些类型,无需手动干预

# 整数 + 浮点数 → 浮点数
result = 5 + 3.2  # 8.2(整数 5 被自动转为浮点数)# 布尔值 + 整数 → 整数
result = True + 10  # 11(True 被转为 1)

1.2 显式类型转换(强制转换)

1.2.1 数值类型转换

函数功能示例
int(x)将 x 转换为整数int(3.14) → 3
int(“123”) → 123
int(“0b101”, 2) → 5(二进制转十进制)
float(x)将 x 转换为浮点数float(5) → 5.0
float(“3.14”) → 3.14
complex(real[, imag])创建复数complex(3, 2) → (3+2j)
bin(i)整数 → 二进制字符串bin(5) → ‘0b101’
oct(i)整数 → 八进制字符串oct(8) → ‘0o10’
hex(i)整数 → 十六进制字符串hex(255) → ‘0xff’
int(s, base)字符串 → 指定进制的整数int(“101”, 2) → 5(二进制
int(“FF”, 16) → 255(十六进制)

1.2.2 序列类型转换

函数功能示例
list(x)将 x 转换为列表list(“abc”) → [‘a’, ‘b’, ‘c’]
list((1, 2)) → [1, 2]
tuple(x)将 x 转换为元组tuple([1, 2]) → (1, 2)
tuple(“abc”) → (‘a’, ‘b’, ‘c’)
set(x)将 x 转换为集合set([1, 1, 2]) → {1, 2}(去重)
set(“hello”) → {‘h’, ‘e’, ‘l’, ‘o’}
frozenset(x)将 x 转换为不可变集合frozenset([1, 2]) → frozenset({1, 2})

1.2.3 字符串与字节转换

函数功能示例
str(x)将 x 转换为字符串str(123) → “123”
str([1, 2]) → “[1, 2]”
bytes(x[, encoding[, errors]])将 x 转换为字节对象bytes(“hello”, “utf-8”) → b’hello’
bytes([65, 66]) → b’AB’
bytearray(x[, encoding[, errors]])将 x 转换为可变字节数组bytearray(b"abc") → bytearray(b’abc’)

1.2.4 特殊字符转换

函数功能示例
ord(c)字符 → Unicode 码点(整数)ord(‘A’) → 65
ord(‘中’) → 20013
chr(i)Unicode 码点 → 字符chr(65) → ‘A’
chr(20013) → ‘中’
ascii(object)返回对象的 ASCII 表示(非 ASCII 字符会被转义)ascii(“你好”) → “‘\u4f60\u597d’”

1.2.5 其他类型转换

函数功能示例
bool(x)将 x 转换为布尔值bool(0) → False
bool(“”) → False
bool([]) → False
bool(None) → False
bool(1) → True
dict(x)将 x 转换为字典dict([(‘a’, 1)]) → {‘a’: 1}
dict(a=1, b=2) → {‘a’: 1, ‘b’: 2}

二、数学运算

2.1 运算符

2.1.1 算术运算符

算术运算符功能示例
+加法5 + 3 → 8
-减法5 - 3 → 2
*乘法5 * 3 → 15
/除法(返回浮点数)5 / 2 → 2.5
//整除(向下取整)5 // 2 → 2
-5 // 2 → -3
%取余5 % 2 → 1
**幂运算2 ** 3 → 8

2.1.2 赋值运算符

用于将值赋给变量,或在赋值的同时进行运算

  • =
  • +=      a += b => a = a + b
  • -=
  • *=
  • /=
  • %=

2.1.3 比较运算符

用于比较两个值的关系,返回布尔值(True 或 False)
通常出现在if表达式,while表达式

  • ==
  • !=
  • >
  • <
  • <=
  • >=

2.1.4 位运算符

运算符名称功能示例(以 a=60(二进制 0011 1100)和 b=13(二进制 0000 1101)为例)
&按位与对应位都为 1 时,结果位为 1,否则为 0a & b = 0000 1100(十进制 12)
|按位或对应位只要有一个为 1,结果位为 1,否则为 0a | b = 0011 1101(十进制 61)
^按位异或对应位不同时为 1,相同时为 0a ^ b = 0011 0001(十进制 49)
~按位取反对二进制位取反(0 变 1,1 变 0),结果为补码表示的整数(需注意符号位)~a = -61(二进制补码为 1100 0011,十进制 -61)
<<左移左移 n 位,低位补 0,高位丢弃。相当于乘以 (2n)。a << 2 = 240(二进制 1111 0000,相当于 60 × 22
>>右移右移 n 位,高位补符号位(保持正负号不变),低位丢弃。相当于除以 (2n) 取整a >> 2 = 15(二进制 0000 1115,相当于 60 ÷ 4 = 15)

2.1.5 逻辑运算符

  • and(逻辑与)
  • or(逻辑或)
  • not(逻辑非)

and, or从左往右运算
and 仅当两个条件为真,结果为真

# 如果第一个表达式为假,返回该表达式的值   =>False
# 如果第一个表达式为真,继续向后运算
# 返回最后计算的表达式的值
print(4 and 3)		   # 3
print(0.0 and 3)       # 0.0
print(4 and 0.0 and 5) # 0.0

or 任意一个表达式为真,结果为真

# 如果第一个表达式为真,返回表达式的值    =>True
# 如果第一个表达式为假,继续往后运算
print(4 or 3)				  # 4
print(0.0 or 3)  		   	  # 3
print(None or 0.0 or 5 or 6)  # 5

not 取反,返回值只有两种状态 True/False

print(not 4)	 # False
print(not 0.0)   # True

2.2 内置数学函数

函数功能示例
abs(x)返回 x 的绝对值abs(-5) → 5
round(x[, n])四舍五入到 n 位小数(默认 0)round(3.1415, 2) → 3.14
round(2.5) → 2(Python 3 中,偶数优先)
max(iterable)返回可迭代对象中的最大值max([1, 3, 2]) → 3
min(iterable)返回可迭代对象中的最小值min([1, 3, 2]) → 1
sum(iterable[, start])计算可迭代对象的总和(可选起始值)sum([1, 2, 3]) → 6
sum([1, 2], 10) → 13
pow(x, y[, z])返回 x 的 y 次幂(模 z 可选)pow(2, 3) → 8
pow(2, 3, 3) → 2(等价于 2**3 % 3)
divmod(a, b)返回商和余数的元组divmod(10, 3) → (3, 1)

三、序列操作

  • 可变序列:列表 、字节数组
  • 不可变序列:字符串 、元组 、字节

3.1 通用序列操作

3.1.1 索引访问

# s[i]	获取索引 i 处的元素(索引从 0 开始)	
print("hello"[0])   # h
#s[-i]	获取倒数第 i 个元素	
print("hello"[-1])  # o

3.1.2 切片操作

# s[start:end]	获取从 start 到 end-1 的子序列	
print("hello"[1:3])  # el
# s[start:end:step]	带步长的切片(步长可为负,默认为1)	
print("hello"[::2])  # hlo
# s[::-1]	反转序列	
print("hello"[::-1]) # olleh

3.1.3 序列运算

# s + t	连接两个序列	
print([1, 2] + [3]) 	 # [1, 2, 3]
# s * n	重复序列 n 次	
print([1] * 3)     	     # [1, 1, 1]
# x in s	判断元素 x 是否在序列 s 中	
print('a' in "abc")      # True
# x not in s	判断元素 x 是否不在序列 s 中	
print('x' not in "abc")  # True

3.1.4 长度、最值与计算

print(len("hello"))  	  # 5
print(min([3, 1, 2]))     # 1
print(max([3, 1, 2]))     # 3
print("hello".count('l')) # 2
print("hello".index('l')) # 2

3.2 可变序列操作

可变序列支持修改、删除元素

3.2.1 元素修改

lst = [1, 2, 3];
# s[i] = x	修改索引 i 处的元素	
lst[0] = 10 
print(lst)		# [10, 2, 3]# s[i:j] = t	替换切片 [i:j] 为序列 t	
lst[1:2] = [4, 5] 
print(lst)		# [10, 4, 5, 3]# del s[i]	删除索引 i 处的元素	
del lst[0] 
print(lst)		# [4, 5, 3]# del s[i:j]	删除切片 [i:j]	
del lst[1:2]  
print(lst)		# [4, 3] 

3.2.2 列表特别方法

方法功能示例
s.append(x)在末尾添加元素 xlst.append(4) → [4, 3, 4]
s.extend(t)扩展列表(添加序列 t 的所有元素)lst.extend([5, 6]) → [4, 3, 4, 5, 6]
s.insert(i, x)在索引 i 处插入元素 xlst.insert(0, 0) → [0, 4, 3, 4, 5, 6]
s.remove(x)删除第一个值为 x 的元素lst.remove(4) → [0, 3, 4, 5, 6]
s.pop([i])删除并返回索引 i 处的元素(默认最后一个)lst.pop() → 6
s.reverse()反转列表(原地修改)lst.reverse() → [5, 4, 3, 0]
s.sort(key=None, reverse=False)排序(原地修改)lst.sort() → [0, 3, 4, 5]
s.clear()清空列表lst.clear() → []

3.3 不可变序列操作

不可变序列不支持修改元素,但支持查询和切片

3.3.1 字符串特有方法

# s.split(sep=None)	按分隔符分割字符串	
print("a,b,c".split(",")) 		# ['a', 'b', 'c']#s.join(iterable)	用字符串连接序列中的元素	
print(",".join(["a", "b"]))     # a,b# s.strip([chars])	移除字符串两端的指定字符(默认空格)	
print(" hello ".strip()) 		# hello# s.replace(old, new[, count])	替换字符串中的子串
print("hello".replace("l", "L", 1)) # heLlo# s.startswith(prefix)	判断字符串是否以 prefix 开头
print("hello".startswith("he")) # True# s.endswith(suffix)	判断字符串是否以 suffix 结尾
print("hello".endswith("lo")) 	# True

更多方法见:Python-字符串常用方法


3.3.2 元组特有操作

# 元组通常用于不可变数据集合,如函数返回多值:
a, b = (1, 2)   # 元组解包
x, y = y, x     # 交换变量(本质是元组操作)

3.4 序列转换与生成

# list(s),tuple(s),str(x)			
print(list("abc")) 	  # ['a', 'b', 'c']
print(tuple([1, 2]))  # (1, 2)
print(str([1, 2])) 	  # "[1, 2]"# range(start, stop[, step])	生成整数序列	
list(range(0, 5, 2))  # [0, 2, 4]

四、文件与输入输出

文件操作和输入输出(I/O)是处理外部数据的基础功能

4.1 文件操作

4.1.1 文件打开与关闭

  1. with open(‘file’, ‘r’, encoding=‘utf-8’) as f:
    # 打开文件并自动关闭(推荐写法)

  2. open(‘file’, mode=‘r’, encoding=‘utf-8’)
    f.close()   # 需手动关闭

  • file:文件路径(绝对或相对)
    • 绝对路径:从根目录开始的完整路径(如 C:\Users\file.txt 或 /home/user/file.txt)。
    • 相对路径:相对于当前工作目录的路径(如 ./data/file.txt)
  • mode:打开模式(默认 ‘r’,即只读)
    • 常用模式
      ‘r’ 只读(默认)
      ‘w’ 写入(覆盖原文件)
      ‘a’ 追加(在文件末尾添加)
      ‘x’ 创建新文件,若已存在则报错
      ‘b’ 二进制模式
      ‘+’ 读写模式
  • encoding:编码格式(默认系统编码,推荐显式指定如 ‘utf-8’)

4.1.2 文件读取写入方法

# 打开文件
with open('spring.txt', 'r', encoding='utf-8') as f:# 读取文件内容
# read 读取整个文件内容(返回字符串或字节)
data = f.read()
print(data)# readline 读取一行数据,返回一个字符串
line = f.readline()
print(line)# readlines 一次性读取所有内容到列表中,一行就是一个元素,返回一个列表
lines = f.readlines()
print(lines)# for 读取
for line in f:print(line)# write(string)  写入字符串(返回写入的字符数)
f.write("xxxx")# writelines(list) 写入字符串列表(不自动添加换行符)
lines = ['Line 1\n', 'Line 2\n', 'Line 3\n']
f.writelines(lines)

4.1.3 文件指针操作

tell()       返回当前文件指针位置
seek(offset[, whence])     移动文件指针

  • offset:偏移量(字节数)
  • whence:参考点 0 -> 开头, 1->当前位置,2 -> 结尾,默认0
with open('example.txt', 'r') as f:print(f.tell())  # 0f.read(3)        # 读取前3个字符print(f.tell())  # 3f.seek(0)        # 回到开头

4.1.4 异常处理

常见异常:
FileNotFoundError:文件不存在
PermissionError:权限不足
IsADirectoryError:目标是目录而非文件

try:with open('nonexistent.txt', 'r') as f:content = f.read()
except FileNotFoundError:print("文件不存在!")
except PermissionError:print("没有权限访问!")
except Exception as e:print(f"发生错误:{e}")

4.2.标准输入输出

4.2.1 标准输出(打印)

函数:print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout)

  • objects:要打印的对象(可多个)
  • sep:分隔符(默认空格)
  • end:结束符(默认换行 ‘\n’)
  • file:输出目标(默认标准输出 sys.stdout)
print('Hello', 'World', sep=',', end='!\n')  # 输出:Hello,World!# 格式化输出
name = 'Jack'
age = 18
# 输出:My name is Jack, age is 18.
print(f'My name is {name}, age is {age}.')  # f-string
print('My name is {}, age is {}.'.format(name, age))  # format()
print('My name is %s, age is %d.' % (name, age))  # % 格式化
# 输出:My name is  Jack, age is         18.
print('My name is %5s, age is %10d.' % (name, age))

4.2.2 标准输入(读取用户输入)

函数:input([prompt])

  • prompt:提示信息(可选)
  • 返回值:用户输入的字符串(按回车结束)
name = input('请输入您的姓名:')  # 输入:Jack
print(f'欢迎,{name}!')  # 输出:欢迎,Jack!# 转换输入为其他类型
age = int(input('请输入您的年龄:'))  # 输入:18
print(f'您明年 {age + 1} 岁')	# 输出:您明年19岁

五、类型检查与帮助

函数功能示例
type(object)返回对象的类型type([1, 2]) → list
isinstance(object, classinfo)判断对象是否为指定类型isinstance(1, int) → True
help([object])显示对象的帮助文档help(list)
dir([object])返回对象的所有属性和方法dir(list) → [‘add’, ‘class’, …]
id(object)返回对象的唯一标识符(内存地址)id([1, 2]) → 140288803717744

总结

掌握内置函数能显著提升 Python 编程效率,它们是 Python 生态的基础工具。

相关文章:

  • MCP协议在LLM系统中的架构与实现原理研究
  • Cursor 集成 Figma MCP 实现阅读理解原型图生成方案
  • SQL Server相关的sql语句
  • PPT转图片拼贴工具 v2.0
  • 《EDA学习地图:从入门到进阶的通关秘籍》
  • [10-2]MPU6050简介 江协科技学习笔记(22个知识点)
  • Git的由来与应用详解:从Linux内核到现代开发的革命性工具
  • C++学习-入门到精通【14】标准库算法
  • AI应用工程师面试
  • Spring Boot 常用注解面试题深度解析
  • 从二叉树到 STL:揭开 set 容器的本质与用法
  • SDC命令详解:使用set_fanout_load命令进行约束
  • 为什么需要自动下载浏览器驱动?
  • VBA信息获取与处理专题五第一节:利用CDO发送简单邮件
  • 大模型微调技术全景图:从全量更新到参数高效适配
  • NumPy数组操作完全指南:从入门到精通
  • 云服务器Xshell登录拒绝访问排查
  • pg数据库表里面id值,使用sql语句赋值,唯一性
  • Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
  • 八皇后问题深度解析
  • 汕头seo优化/免费seo排名优化
  • 郴州网站建设/网站排名优化培训
  • 优化企业网站/厦门seo排名公司
  • 触屏手机网站建设/北京推广优化经理
  • 可以自己做logo的网站/东莞网站公司
  • 贵阳银行手机银行下载官方网站/服务之家网站推广公司