1. 输入输出
- print():用于输出信息到控制台。
print("Hello, World!")
# 输出: Hello, World!
- input():用于从用户那里接收输入,并返回字符串类型的数据。
user_input = input("Enter your name: ")
print(f"Hello, {user_input}!")
# 输入: Alice
# 输出: Hello, Alice!
2. 类型判断
- type():返回变量的类型。
x = 5
print(type(x))
# 输出: <class 'int'>
-
instanse():检查对象是否是一个类的实例或子类的实例。
x = 5
print(isinstance(x, int))
# 输出: True
3. 类型转换
- int():将字符串、浮点数、布尔值等转换为整数。
# 字符串转整数
print(int("123"))
# 输出: 123
# 浮点数转整数
print(int(3.14))
# 输出: 3
# 布尔值转整数
print(int(True))
# 输出: 1
- float():将字符串、整数、布尔值等转换为浮点数。
# 字符串转浮点数
print(float("3.14"))
# 输出: 3.14
# 整数转浮点数
print(float(3))
# 输出: 3.0
# 布尔值转浮点数
print(float(True))
# 输出: 1.0
- bool():将任意类型转换为布尔值。False 的情况包括:
False
、0
、None
、空字符串(""
)、空列表([]
)、空字典({}
)、空元组(()
)、空集合(set()
)等。
# False 示例
print(bool(0))
# 输出: False
print(bool(""))
# 输出: False
# True 示例
print(bool(1))
# 输出: True
print(bool("Hello"))
# 输出: True
- str():将任意类型转换为字符串。
# 整数转字符串
print(str(123))
# 输出: '123'
# 浮点数转字符串
print(str(3.14))
# 输出: '3.14'
4. 数值相关
- bin()、oct()、hex():分别用于将整数转换为二进制、八进制、十六进制表示的字符串。
# 二进制
print(bin(10))
# 输出: '0b1010'
# 八进制
print(oct(10))
# 输出: '0o12'
# 十六进制
print(hex(10))
# 输出: '0xa'
- range():生成一个整数序列,常用于for循环中。
# 只有一个数字
for i in range(5):
print(i)
# 输出: 0 1 2 3 4
# 两个数字
for i in range(1, 5):
print(i)
# 输出: 1 2 3 4
# 三个数字
for i in range(1, 10, 2):
print(i)
# 输出: 1 3 5 7 9
# 逆序
for i in range(5, 0, -1):
print(i)
# 输出: 5 4 3 2 1
- abs():返回数的绝对值。
print(abs(-5))
# 输出: 5
-
chr(), ord(): 返回 Unicode 对应的字符,
ord()
返回字符的 Unicode 编码。
# chr
print(chr(65))
# 输出: 'A'
# ord
print(ord('A'))
# 输出: 65
- max()、min():分别返回可迭代对象中的最大值和最小值。
print(max([1, 3, 5, 7, 9]))
# 输出: 9
print(min([1, 3, 5, 7, 9]))
# 输出: 1
- pow():计算一个数的幂次方。
print(pow(5,3))
#输出125,5的3次方
- round():对浮点数进行四舍五入。
print(round(5.44))
#输出5
print(round(5.54))
#输出6
5. 其他内置函数
- id():返回对象的唯一标识符,通常是一个整数。
x = [1, 2, 3]
print(id(x)) # 输出一个整数,每次运行可能不同
y = x
print(id(y)) # 输出与id(x)相同的整数,因为y和x指向同一个对象
- all():如果可迭代对象中的所有元素都为真值(True),则返回True;否则返回False。空的可迭代对象也返回True。
print(all([True, True, True])) # 输出: True
print(all([])) # 输出: False,因为空列表没有元素,不满足“所有元素都为真”的条件
- any():如果可迭代对象中存在至少一个真值(True),则返回True;否则返回False。空的可迭代对象返回False。
print(any([False, False, False])) # 输出: False
print(any([False, True, False])) # 输出: True
print(any([])) # 输出: False,因为空列表没有元素
- callable():检查对象是否可以被调用(即是否定义了
__call__()
方法)。
def my_function():
pass
print(callable(my_function)) # 输出: True
print(callable(1)) # 输出: False,因为整数不是可调用的
- dir():返回对象的所有属性和方法的列表。
print(dir(list)) # 输出list类的所有属性和方法
- divmod():返回两个数的商和余数组成的元组。
print(divmod(9, 2)) # 输出: (4, 1),因为9除以2商是4,余数是1
- exit():用于退出Python解释器或程序。
exit() # 这将退出Python解释器
- globals()、locals():分别返回当前全局和局部符号表的字典。
x = 1
print(globals()['x']) # 输出: 1
def my_func():
y = 2
print(locals()['y']) # 输出: 2
my_func()
- hash():返回对象的哈希值。
print(hash("hello")) # 输出一个整数,每次运行可能不同
- len():返回对象的长度或元素个数。
print(len([1, 2, 3])) # 输出: 3
- sorted():对可迭代对象进行排序,返回一个新的列表。
l0 = [4,6,2,8,3,9,1]
l1 = sorted(l0)
print(l1)
#输出[1, 2, 3, 4, 6, 8, 9]
- sum():对可迭代对象中的元素进行求和。
l0 = [4,6,2,8,3,9,1]
total = sum(l0)
print(total)
#输出33
6. 反射函数
- getattr():
getattr(object, name[, default])
函数用于获取对象object
的属性值,属性名由字符串name
给出。如果属性不存在,则返回可选的default
值(如果未提供,则抛出AttributeError
)。
class MyClass:
def __init__(self, name, age):
self.name = name
self.age = age
obj = MyClass("Alice", 30)
# 使用getattr获取属性值
name = getattr(obj, 'name')
print(name) # 输出: Alice
# 如果属性不存在,返回默认值
city = getattr(obj, 'city', 'Unknown')
print(city) # 输出: Unknown
- setattr():
setattr(object, name, value)
函数用于设置对象object
的属性值,属性名由字符串name
给出,属性值由value
给出。
class MyClass:
def __init__(self, name):
self.name = name
obj = MyClass("Bob")
# 使用setattr设置属性值
setattr(obj, 'age', 25)
print(obj.age) # 输出: 25
# 更新已存在的属性值
setattr(obj, 'name', 'Charlie')
print(obj.name) # 输出: Charlie
- delattr():
delattr(object, name)
函数用于删除对象object
的属性,属性名由字符串name
给出。如果属性不存在,则抛出AttributeError
。
class MyClass:
def __init__(self, name, age):
self.name = name
self.age = age
obj = MyClass("David", 40)
# 使用delattr删除属性
delattr(obj, 'age')
# 尝试访问已删除的属性将抛出AttributeError
try:
print(obj.age)
except AttributeError:
print("Age attribute has been deleted.")
# 输出: Age attribute has been deleted.
- hasattr():
hasattr(object, name)
函数用于检查对象object
是否包含名为name
的属性。如果包含,则返回True
;否则返回False
。
class MyClass:
def __init__(self, name):
self.name = name
obj = MyClass("Eve")
# 使用hasattr检查属性是否存在
print(hasattr(obj, 'name')) # 输出: True
print(hasattr(obj, 'age')) # 输出: False