Python内置函数67个语法、参数和用法详解

要获取Python解释器中所有当前可用的内置函数和变量的完整列表,您可以在Python解释器中使用dir(__builtins__)命令。这将返回一个包含所有内置函数、异常和其他内置对象的列表。

分为10类

数学运算(7):

  1. abs 绝对值
  2. divmod 商和余数
  3. max 最大
  4. min最小
  5. pow 指数幂
  6. round 取整
  7. sum 求和

类型转换(24):

  1. bool 布尔值
  2. int 整数
  3. float 浮点数
  4. complex 复数
  5. str 字符串
  6. bytearray 字节数组
  7. bytes 不可变字节对象
  8. momeryview 内存视图对象
  9. ord 返回Unicode码点
  10. chr 转为字符
  11. bin 二进制
  12. oct 八进制
  13. hex 十六进制
  14. tuple 元组
  15. list 列表
  16. dict 字典
  17. set 集合
  18. frozenset 不可变集合
  19. enumerate 枚举
  20. range 序列
  21. iter 迭代器
  22. slice 切片对象
  23. super 调用父类
  24. object 对象

序列操作(8):

  1. all 都为True值
  2. any 有一个为True值
  3. filter 返回迭代对象符合指定条件的值
  4. map 返回迭代对象用指定函数处理后的值
  5. next 从迭代器获取下一个元素
  6. reversed 反转顺序
  7. soted 排序
  8. zip 按顺序聚合多个迭代器

对象操作(7):

  1. help 帮助信息
  2. dir 属性和方法
  3. id 唯一标识符
  4. hash 哈希值
  5. type 类型
  6. len 长度
  7. ascii 字符串形式

反射操作(8):

  1. __import__ 动态导入模块
  2. isinstance 判断对象类型
  3. issubclass 判断是否是某个类的子类
  4. hasattr 判断属性存在
  5. getattr 获取属性值
  6. setattr 设置属性值
  7. delattr 删除属性值
  8. callable 判断对象是否可调用

变量操作(2):

1、globals 当前域全局变量及值

2、locals 当前域局部变量及值

交互操作(2):

1、print 输出信息

2、input 获取用户输入

文件操作(1):

1、open 打开并获取文件对象

编译执行(5):

  1. compile 编译字符串为代码对象
  2. eval 执行字符串表达式
  3. exec 执行字符串代码块
  4. repr 返回对象字符串表示(调试用)
  5. breakpoint 设置断点

装饰器(3):

1、property 将方法转换为属性

2、classmethod 将方法转换为类方法

3、staticmethod 将方法转换为静态方法

操作环境:Python版本3.10.7、windows1

数学运算(7个)

1、abs(x):返回一个数的绝对值

abs() 是一个内置函数,用于返回一个数的绝对值。绝对值是一个数不考虑其符号的大小,即一个数距离0的距离。对于正数和零,绝对值就是其本身;对于负数,绝对值是它的相反数。

参数

x -- 这是你想要求其绝对值的数字。

返回值

返回 x 的绝对值。

示例:

print(abs(-10))  # 输出: 10  

print(abs(10))   # 输出: 10  

print(abs(-3.14)) # 输出: 3.14

2、divmod(a,b):返回a除以b的商和余数

divmod()是一个内置函数,用于返回商和余数,这是当两个数相除时的结果。这个函数接受两个参数:被除数和除数,并返回一个包含两个元素的元组,第一个元素是商,第二个元素是余数。

参数:

a:被除数

b:除数

返回值

返回一个包含两个元素的元组 (商, 余数)。

示列:

print(divmod(10, 3))  # 输出: (3, 1),因为10除以3的商是3,余数是1  

print(divmod(7, 2))   # 输出: (3, 1),因为7除以2的商是3,余数是1  

print(divmod(-10, 3)) # 输出: (-4, 2),因为-10除以3的商是-3.333...,Ptyhon

注:

因为Python在处理负数的除法时,divmod()函数返回的是“地板除法”的结果,也就是向负无穷方向取整。(**如果算法是向上取整,结果就是(-3,-1)**)

-10/3的结果是-3.3333,向下取整即取比-3.3333更小的最大整数即-4,而2是满足商为-4时的余数(-4*3+2=10)

3、max(iterable,*[,key,default]) / max(arg1,arg2,*args[,key]):找到给定参数中的最大值

当只有一个参数时,它应该是一个可迭代对象(例如列表、元组、集合、字符串等),max() 返回该可迭代对象中的最大值。

当有两个或多个参数时,max() 返回这些参数中的最大值。

max() 函数还可以接受关键字参数:

key:用于指定一个函数,该函数将应用于可迭代对象的每个元素,并根据函数的返回值进行比较。

default:可选参数,指定在可迭代对象为空时返回的默认值。

例1:找到列表中的最大值

numbers = [3, 1, 4, 1, 5, 9, 2, 6]

print(max(numbers))  # 输出: 9

例2:找到多个参数中的最大值

print(max(3, 1, 4, 1, 5, 9, 2, 6))  # 输出: 9

例3:使用key参数来指定比较的方式

words = ["apple", "banana", "cherry", "date"]

print(max(words, key=len))  # 输出: "banana",根据字符串长度比较

例4:使用default参数来设置默认值

empty_list = []

print(max(empty_list, default="列表为空"))  # 输出: "列表为空"

例5:自定义比较

如果默认的比较不满足你的需求,你可以通过提供 key 参数来定义自己的比较函数。这个比较函数应该接受一个参数并返回一个可以用于比较的值。

例如,如果我们有一个数字列表,并且我们想要找出其中绝对值最大的数字,我们可以这样做:

numbers = [-10, -5, 0, 5, 10]  

  

def abs_value(num):  

    return abs(num)  

  

print(max(numbers, key=abs_value))  # 输出: -10

注意事项

  • 如果可迭代对象为空,max() 函数会引发 ValueError 异常。
  • 如果提供了多个参数并且其中一个是可迭代对象,那么会引发 TypeError 异常。例如,max(3, [1, 2]) 会引发异常。
  • key 参数应该是一个函数,它接受一个参数并返回一个用于比较的值。如果 key 不是函数,会引发 TypeError 异常。
  • max() 函数在进行比较时会遵循正常的比较规则,这意味着它可以用于不同类型的可迭代对象,只要其中的元素支持比较操作。

4、min(iterable, *[, key, default]) / min(arg1, arg2, *args[, key]):找到给定参数中的最小值

min() 函数与 max() 函数类似。min是minimum的缩写,即最小值或最小量。

5、pow(x, y, [z]):计算一个数的指数幂

x:底数

y:指数

返回x的y次幂的值。与x**y运算的结果相同。

z[可选]:当指定了这个参数时,计算的结果为:(x**y)%z。这对于大数幂运算取模很有用。

例1:2的3次方

result = pow(2, 3)

print(result)  # 输出: 8

例2:2的3次方再除5后的余数

result = pow(2, 3, 5)

print(result)  # 输出: 3,因为 (2 ** 3) % 5 = 8 % 5 = 3

例3:求平方根

print(pow(3, 0.5))    # 输出: 1.7320508075688772,即 3 的平方根

6、round(number[, ndigits]):将浮点数四舍五入为指定的小数位数或最接近的整数

number:要四舍五入的数字。

ndigits:可选参数,表示要保留的小数位数。默认为 0,表示将 number 四舍五入为最接近的整数。当 ndigits 为正数时,将 number 四舍五入到小数点右侧指定的位数;当 ndigits 为负数时,将 number 四舍五入到小数点左侧指定的位数(即指定精度)。

例1:

result = round(3.1415926)

print(result)  # 输出: 3,将 3.1415926 四舍五入为整数

result = round(3.1415926, 2)

print(result)  # 输出: 3.14,将 3.1415926 四舍五入为小数点后两位

result = round(12345.6789, -2)

print(result)  # 输出: 12300.0,将 12345.6789 四舍五入到千位

例2:小数为0.5边界值时只向偶数向上取整

round(0.5) 结果为 0,

round(1.5) 结果为 2。

round(2.5) 结果为 2。

round(3.5) 结果为 4。

注意:

对于在中间值上的舍入,round() 函数会向最接近的偶数舍入,这与数学中的 "银行家舍入规则" 相符。

7、sum(iterable, start=0):计算可迭代对象中所有元素的总和

sum()函数接受一个必需的参数,即要计算总和的可迭代对象。这个可迭代对象可以是列表(list)、元组(tuple)或其他任何可迭代的数据结构。

iterable:要计算总和的可迭代对象。

start:可选参数,用于指定总和的初始值。默认为 0。如果指定了 start,则会将 start 与可迭代对象中的元素逐个相加。

例 1:计算列表中元素的和

numbers = [1, 2, 3, 4, 5]  

total = sum(numbers)  

print(total)  # 输出:15

例 2:计算元组中元素的和

numbers = (1, 2, 3, 4, 5)  

total = sum(numbers)  

print(total)  # 输出:15

例3:附上初始值

numbers = [1, 2, 3, 4, 5]

result = sum(numbers, 10)

print(result) # 输出: 25,计算列表中所有元素的总和,并加上初始值 10

注意事项

  • sum()函数只能用于数值类型的数据。如果可迭代对象中包含非数值类型的数据(如字符串、列表等),将会引发TypeError异常。

  • 对于空的可迭代对象,sum()函数返回0。

  • sum()函数在内部使用循环来计算总和,因此对于大型数据集,使用sum()可能比手动循环遍历元素求和更高效。

类型转换(24个)

1、bool([value]):将给定的值转换为布尔值

bool() 函数接受一个参数,这个参数可以是任何数据类型,包括整数、浮点数、字符串、列表、元组、字典、集合等。

value

可选参数,要转换为布尔值的值。如果省略 value 参数,则返回 False。否则,根据 value 的值进行转换:

如果 value 是假值(如 None、空容器(空列表、空元组、空字典、空集合)、数字 0、布尔值 False 等),则返回 False。

如果 value 是真值(除了上述假值之外的其他值),则返回 True。

例:

print(bool())       # 输出: False,未提供参数,返回 False

print(bool(0))      # 输出: False,0 是假值

print(bool([]))     # 输出: False,空列表是假值

print(bool("hello"))# 输出: True,非空字符串是真值

print(bool(42))     # 输出: True,非零数字是真值

需要注意的是

虽然 bool() 函数可以用于将任何值转换为布尔值,但在 Python 中的条件表达式中,会隐式调用 bool() 函数来判断条件的真假。例如,在 if 语句中,如果条件为真,则执行 if 语句块中的代码;否则,执行 else 语句块中的代码。

通过 bool() 函数,你可以轻松地将任何数据类型转换为一个布尔值,这在编写条件逻辑时非常有用。

2、int([x], base=10):将一个数值或字符串转换为十进制整数

x:要转换为整数的值。可以是数值型(如整数、浮点数)或字符串型。

base:可选参数,用于指定转换的进制。默认为 10。如果 x 是字符串,那么 base 表示字符串所表示的进制。

参数为空时输出0。

例:

print(int('10'))           # 输出: 10,将字符串 '10' 转换为十进制整数

print(int('10', 2))        # 输出: 2,将二进制字符串 '10' 转换为十进制整数

print(int('10', 16))       # 输出: 16,将十六进制字符串 '10' 转换为十进制整数

print(int(3.14))           # 输出: 3,将浮点数 3.14 转换为整数,截断小数部分

print(int(-3.14))          # 输出: -3,将负浮点数 -3.14 转换为整数,截断小数部分

print(int('10', 8))        # 输出: 8,将八进制字符串 '10' 转换为十进制整数

print(int('0b10', 0))      # 输出: 2,将二进制字符串 '0b10' 转换为十进制整数,根据前缀自动识别进制

需要注意的是

  1. 如果 x 是浮点数,int() 函数会将其向零取整(即截断小数部分)。
  2. 如果 x 是字符串,那么字符串必须符合整数的表示方式,否则会抛出 ValueError 异常。
  3. x不能是复数,如complex_num = 3 + 4j,否则引发TypeError异常。

3、float([x]):将一个数值或字符串转换为浮点数

float() 是一个内置函数,用于将一个数值或数值表示的字符串转换为一个浮点数。

如果参数已经是一个浮点数或整数,那么float() 函数将返回相同的数值,只是类型变为浮点数。

如果参数是一个字符串,那么该字符串必须表示一个有效的浮点数,否则将引发 ValueError 异常。

参数:

x:要转换为浮点数的值。

x可以是数值型(如整数、浮点数)或字符串型。这个字符串可以包含小数点、指数符号(e 或 E)以及正负号。

例1:将数值转换为浮点数

# 将整数转换为浮点数  

num_int = 10  

num_float = float(num_int)  

print(num_float)  # 输出: 10.0  

print(type(num_float))  # 输出: <class 'float'>  

  

# 将浮点数转换为浮点数(实际上不会改变数值,但会改变类型)  

num_float_original = 3.14  

num_float_converted = float(num_float_original)  

print(num_float_converted)  # 输出: 3.14  

print(type(num_float_converted))  # 输出: <class 'float'>

例2:将字符串转换为浮点数

# 字符串转换为浮点数  

str_num = "3.14"  

float_num = float(str_num)  

print(float_num)  # 输出: 3.14  

  

# 带有正负号的字符串也可以转换  

positive_str = "+42.0"  

negative_str = "-100.5"  

  

positive_float = float(positive_str)  

negative_float = float(negative_str)  

  

print(positive_float)  # 输出: 42.0  

print(negative_float)  # 输出: -100.5  

  

# 带有指数的字符串也可以转换  

exponential_str = "1.23e-4"  

exponential_float = float(exponential_str)  

print(exponential_float)  # 输出: 0.000123

注意事项

  1. 当使用 float() 函数时,确保传入的字符串确实表示了一个有效的浮点数,否则将会引发 ValueError 异常。
  2. 对于已经是浮点数或整数的参数,float() 函数不会改变其值,但会返回一个新的浮点数对象。
  3. 转换时,如果字符串表示的数值超出了浮点数能够表示的范围,将会引发 OverflowError 异常。

4、complex([a=0],[b=0j]):创建一个复数

函数用于创建一个复数。它可以接受两个参数,分别是实部和虚部,也可以接受一个字符串参数,表示复数的表达式。

两个参数

a:第一个参数是复数的实部。

b:第二个参数是复数的虚部。

示例:

# 创建一个复数对象,实部为3,虚部为0

c1 = complex(3)

print(c1)  # 输出: (3+0j)

# 创建一个复数对象,实部为1,虚部为2

c2 = complex(1, 2)

print(c2)  # 输出: (1+2j)

# 也可以通过字符串创建复数对象

c3 = complex('5-6j')

print(c3)  # 输出: (5-6j)

# 创建一个复数,实部为1,虚部为0

c3 = complex(1+0j)  

print(c3)  # 输出:(1+0j)

复数操作

创建复数后,你可以像操作其他数值类型一样对其进行操作。例如,可以进行加法、减法、乘法、除法等。

例:

c1 = complex(1, 2)  

c2 = complex(3, 4)  

  

print(c1 + c2)       # 输出: (4+6j)  

print(c1 - c2)       # 输出: (-2-2j)  

print(c1 * c2)       # 输出: (-5+10j)  

print(c1 / c2)       # 输出: (0.44+0.08j)

print(c1 ** 2)       # 输出: (-3+4j)

此外,Python的复数还支持一些特殊方法,如共轭(conjugate())、模(abs() 或 magnitude())、角度(angle() 或 phase())等。

例:

c = complex(1, 2)  

print(c.conjugate())    # 输出: (1-2j)  

print(abs(c))           # 输出: 2.23606797749979  

print(c.real)           # 输出: 1.0  

print(c.imag)           # 输出: 2.0

5、str(object=''):将对象转换为字符串

str()函数接受一个可选的参数object,该参数可以是任何对象。如果不提供参数,则返回一个空字符串。

这个函数可以接受多种类型的参数,包括数字、列表、元组、字典其他对象等,并将它们转换为它们的字符串表示形式。

如果参数是其他对象,str() 函数会尝试调用该对象的 __str__() 方法来获取其字符串表示。

例1:将数字转换为字符串类型

num = 123  

str_num = str(num)  

print(str_num)  # 输出: '123'  

  

float_num = 3.14  

str_float_num = str(float_num)  

print(str_float_num)  # 输出: '3.14'  

  

complex_num = complex(1, 2)  

str_complex_num = str(complex_num)  

print(str_complex_num)  # 输出: '(1+2j)'

另外,如果对象具有__str__()方法,则str()函数将调用该方法以生成其字符串表示形式。这在自定义类中很有用,可以自定义对象的字符串表示形式。

例2:将列表转换为字符串

my_list = [1, 2, 3, 4, 5]  

str_list = str(my_list)  

print(type(str_list),str_list)  # 输出:<class 'str'> [1, 2, 3, 4, 5]

例3:将元组转换为字符串

my_tuple = (1, 2, 3, 4, 5)  

str_tuple = str(my_tuple)  

print(type(str_tuple),str_tuple)  # 输出: <class 'str'> (1, 2, 3, 4, 5)

例4:将字典转换为字符串

my_dict = {'a': 1, 'b': 2, 'c': 3}  

str_dict = str(my_dict)  

print(str_dict)  # 输出: "{'a': 1, 'b': 2, 'c': 3}"

例5:将自定义对象转换为字符串

如果你有一个自定义的对象,并且你想定义它如何转换为字符串,你可以在你的类中实现 __str__() 方法。

class Person:  

    def __init__(self, name, age):  

        self.name = name  

        self.age = age  

  

    def __str__(self):  

        return f"Person(name={self.name}, age={self.age})"  

  

person = Person("Alice", 30)  

str_person = str(person)  

print(str_person)  # 输出: Person(name=Alice, age=30)

注意事项

当使用 str() 函数转换对象时,它通常调用该对象的 __str__() 方法。这意味着如果你尝试转换一个没有实现 __str__() 方法的对象,Python会提供一个默认的字符串表示,但这可能不是你想要的。

对于复杂的数据结构,如嵌套列表或字典,str() 函数会递归地转换每个元素,生成一个易于阅读的字符串表示。

如果你想控制如何将对象转换为字符串,你应该在你的类中实现 __str__() 方法。这个方法应该返回一个字符串,描述了你的对象的状态。

6、bytearray([source[, encoding[, errors]]])创建一个可变的字节数组

bytearray() 是 Python 的内置函数,用于创建一个可变的字节数组。字节数组是一个序列,其中包含范围在 0 <= x < 256 的整数,这些整数表示字节。

参数

source:可选参数,可以是以下几种类型之一:

一个字节对象,例如从文件或网络读取的原始字节。

一个字节数组。

一个字符串,此时需要指定 encoding 参数来指定字符串的编码方式。

一个可迭代的整数序列,其中每个整数都在 0-255 范围内。

encoding:可选参数,当 source 是字符串时,此参数指定了字符串的编码方式。默认是 'utf-8'。

errors:可选参数,当 source 是字符串且编码/解码过程中遇到错误时,此参数定义了错误处理方式。默认是 'strict',表示抛出异常。

bytearray()函数返回一个新的可变字节数组对象,可以像列表一样进行修改,包括修改元素值、添加元素、删除元素等操作。这使得它在需要动态修改字节数据时非常有用。

用法

1:不带参数,创建一个空的数组

ba = bytearray()  

print(ba)  # 输出: bytearray(b'')

2:从字节对象创建

b = b'hello'  

ba = bytearray(b)  

print(ba)  # 输出: bytearray(b'hello')

3:从字符串创建

s = 'hello'  

ba = bytearray(s, 'utf-8')  

print(ba)  # 输出: bytearray(b'hello')

4:从整数序列创建

numbers = [72, 101, 108, 108, 111]  # ASCII values for 'hello'  

ba = bytearray(numbers)  

print(ba)  # 输出: bytearray(b'hello')

注意事项

字节数组通常用于低级别的数据处理,例如网络通信或文件处理,其中直接操作字节是必要的。

与字节数组相对的是不可变的 bytes 类型,你不能修改 bytes 对象的内容。如果你需要一个可以修改的字节序列,应该使用 bytearray。

bytearray 实现了序列协议(例如,它支持索引和切片操作),因此你可以像处理列表或字符串那样处理它。

7、bytes([source[, encoding[, errors]]])创建一个不可变的字节对象

字节对象是一个“字节数组”,它用 8 位二进制数字来表示数据。与 bytearray 不同,bytes 对象是不可变的,一旦创建就不能修改。

参数

source:可选参数,可以是以下几种类型之一:

一个整数,表示要创建的字节对象的长度。

一个字节对象,用于复制。

一个字节数组,用于复制。

一个可迭代的整数序列,其中每个整数都在 0-255 范围内,用于初始化字节对象。

一个字符串,此时需要指定 encoding 参数来指定字符串的编码方式。

encoding:可选参数,当 source 是字符串时,此参数指定了字符串的编码方式。默认是 'utf-8'。

errors:可选参数,当 source 是字符串且编码/解码过程中遇到错误时,此参数定义了错误处理方式。默认是 'strict'。

用法

1. 从整数创建

创建一个指定长度的字节对象,所有字节的初始值都是 0。

b = bytes(5)  

print(b)  # 输出: b'\x00\x00\x00\x00\x00'

2. 从字节对象或字节数组复制

original_bytes = b'hello'  

copied_bytes = bytes(original_bytes)  

print(copied_bytes)  # 输出: b'hello'

3. 从整数序列创建

numbers = [72, 101, 108, 108, 111]  # ASCII values for 'hello'  

bytes_obj = bytes(numbers)  

print(bytes_obj)  # 输出: b'hello'

4. 从字符串创建

s = 'hello'  

bytes_obj = bytes(s, 'utf-8')  

print(bytes_obj)  # 输出: b'hello'

5.尝试修改一个 bytes 对象会导致 TypeError  

# b3[0] = 87  # 这将引发错误:TypeError: 'bytes' object does not support item assignment

  

6.可以通过索引和切片访问 bytes 对象的内容  

print(b3[0])  # 输出: 119,这是 'w' 的 ASCII 值  

print(b3[1:4])  # 输出: b'orl'

注意事项

  1. bytes 对象是不可变的,一旦创建就不能修改。如果你需要一个可以修改的字节序列,应该使用 bytearray。
  2. bytes 对象通常用于需要二进制数据表示的场合,如文件读写、网络通信等。
  3. 当你需要将字符串转换为二进制数据时,必须指定一个编码方式(如 'utf-8'),因为字符串本身是文本数据,而二进制数据是另一种表示方式。
  4. bytes 对象支持常见的序列操作,如索引、切片等,但不支持修改操作,如赋值。

8、memoryview(obj):创建内存视图对象

在Python中,memoryview 是一个内置类,它提供了一个对底层字节数据的低级别、高效的视图。使用 memoryview 可以让你在不复制数据的情况下访问和修改原始字节序列。这对于处理大型数据块(如数组、图像或网络数据)特别有用,因为它可以减少内存使用和复制操作。

参数

obj:可以是任何实现了缓冲区协议的对象,如字节串(bytes)、字节数组(bytearray)、数组(array)等可缓冲类型对象。

返回值:

返回一个内存视图对象,可以访问 obj 对象的内存,但不复制数据。

用法

1、创建 memoryview 对象

# 从字节串创建  

mv_bytes = memoryview(b'hello')  

  

# 从字节数组创建  

ba = bytearray(b'world')  

mv_bytearray = memoryview(ba)  

  

# 从数组创建  

import array  

arr = array.array('i', [1, 2, 3, 4])  

mv_array = memoryview(arr)

2、访问和修改数据

memoryview 支持切片操作,可以像列表或数组一样访问和修改元素。

# 访问元素  

print(mv_bytes[0])  # 输出: 104 (ASCII码中'h'的值)  

  

# 修改元素  

mv_bytearray[0] = ord('H')  

print(ba)  # 输出: bytearray(b'Hello')  

  

# 切片操作  

print(mv_array[1:3])  # 输出: <memory at 0x000001A7D25DEC80>

3、将内存视图对象转换为字节序列并打印

# 创建一个字节对象

data = b'Hello, world!'

# 创建内存视图对象

mv = memoryview(data)

# 将内存视图对象转换为字节序列并打印

print(mv[1:6].tobytes())  # 输出:b'ello,'

4、属性

cast(type, new_flags=0): 创建一个新的 memoryview,其元素类型已更改。

readonly: 一个只读属性,指示 memoryview 是否是只读的。

shape(只读): 如果数据具有形状(如多维数组),则返回形状。

strides(只读): 如果数据具有步幅(如多维数组),则返回步幅。

suboffsets: 如果数据具有子偏移(如嵌套数组),则返回子偏移。

9、ord(c):返回一个字符的Unicode码点

Unicode 是一种字符编码标准,它允许你为每一个字符(不仅仅是字母,还包括符号、数字等)分配一个唯一的数字,这个数字就是码点。

参数:

c:一个字符(长度为1的字符串)

返回值:

返回一个整数,表示字符 c 的 Unicode 码点。

用法详解

ord() 函数非常简单,只需要传入一个字符(长度为 1 的字符串),它就会返回这个字符的 Unicode 码点。

# 示例  

  

# 获取字符 'A' 的 Unicode 码点  

code_point = ord('A')  

print(code_point)  # 输出:65  

  

# 获取字符 '中' 的 Unicode 码点  

code_point_zh = ord('中')  

print(code_point_zh)  # 输出:20013

注意

ord() 函数只能接受长度为 1 的字符串作为参数。如果你尝试传入一个长度不为 1 的字符串,Python 会抛出一个 TypeError。

另外,ord() 函数返回的码点是基于 Unicode 的,所以不同的字符集(如 ASCII、UTF-8 等)可能会有不同的码点值。例如,在 ASCII 中,大写字母 'A' 的码点是 65,而在 Unicode 中也是 65。但对于一些只在 Unicode 中存在的字符(如中文字符),它们的码点在 ASCII 中是没有对应的值的。

10、chr(i):将Unicode码点转换为对应的字符。

chr() 函数接受一个整数(即 Unicode 码点)作为参数,并返回与该整数对应的字符。

参数

i:一个介于 0 和 1,114,111(包含)之间的整数,代表 Unicode 码点。超出这个范围的整数会导致 ValueError 异常。

返回值

返回一个字符,该字符的 Unicode 码点等于传入的整数 i。

用法详解

chr() 函数非常直接,只需要传入一个有效的 Unicode 码点,它就会返回对应的字符。

# 示例  

  

# 获取 Unicode 码点 65 对应的字符  

character = chr(65)  

print(character)  # 输出:A  

  

# 获取 Unicode 码点 20013 对应的字符  

character_zh = chr(20013)  

print(character_zh)  # 输出:中

注意:

如果传入的整数不在有效的 Unicode 码点范围内,chr() 函数会抛出一个 ValueError 异常。

11、bin(x):将整数转换为其二进制字符串表示形式

这个函数返回一个字符串,表示该整数的二进制表示。

参数

x:一个整数,可以是正数、负数或零。

返回值

返回一个字符串,表示整数 x 的二进制表示。这个字符串以 "0b" 或 "0B" 开头,以指示它是一个二进制字面量。

用法详解

bin() 函数将整数转换为二进制字符串。对于正数,它返回该数的二进制表示形式;对于负数,它返回该数的补码形式的二进制表示。

# 示例  

  

# 将正整数转换为二进制字符串  

binary_representation = bin(10)  

print(binary_representation)  # 输出:0b1010  

  

# 将负整数转换为二进制字符串(补码形式)  

binary_representation_negative = bin(-10)  

print(binary_representation_negative)  # 输出:-0b1010  

  

# 将零转换为二进制字符串  

binary_representation_zero = bin(0)  

print(binary_representation_zero)  # 输出:0b0

注意:

bin() 函数只能接受整数作为参数。如果你尝试传入一个浮点数或非整数类型,Python 会抛出一个 TypeError 异常。

12、oct(x):将整数转换为其八进制字符串表示形式

这个函数返回一个字符串,表示该整数的八进制octal)表示。

参数

x:一个整数,可以是正数、负数或零。

返回值

返回一个字符串,表示整数 x 的八进制表示。这个字符串以 "0o" 或 "0O" 开头,以指示它是一个八进制字面量。

用法详解

oct() 函数将整数转换为八进制字符串。对于正数,它返回该数的八进制表示形式;对于负数,它返回该数的补码形式的八进制表示。

# 示例  

  

# 将正整数转换为八进制字符串  

octal_representation = oct(10)  

print(octal_representation)  # 输出:0o12  

  

# 将负整数转换为八进制字符串(补码形式)  

octal_representation_negative = oct(-10)  

print(octal_representation_negative)  # 输出:-0o12  

  

# 将零转换为八进制字符串  

octal_representation_zero = oct(0)  

print(octal_representation_zero)  # 输出:0o0

注意:

oct() 函数只能接受整数作为参数。如果你尝试传入一个浮点数或非整数类型,Python 会抛出一个 TypeError 异常。

13、hex(x):将整数转换为16进制

hex() 函数是 Python 的内置函数,用于将整数转换为其十六进制(hexadecimal)字符串表示形式。这个函数返回一个字符串,表示该整数的十六进制表示。

参数

x:一个整数,可以是正数、负数或零。

返回值

返回一个字符串,表示整数 x 的十六进制表示。这个字符串以 "0x" 或 "0X" 开头,以指示它是一个十六进制字面量。

用法详解

hex() 函数将整数转换为十六进制字符串。对于正数,它返回该数的十六进制表示形式;对于负数,它返回该数的补码形式的十六进制表示。

# 示例  

  

# 将正整数转换为十六进制字符串  

hexadecimal_representation = hex(255)  

print(hexadecimal_representation)  # 输出:0xff  

  

# 将负整数转换为十六进制字符串(补码形式)  

hexadecimal_representation_negative = hex(-255)  

print(hexadecimal_representation_negative)  # 输出:-0xff  

  

# 将零转换为十六进制字符串  

hexadecimal_representation_zero = hex(0)  

print(hexadecimal_representation_zero)  # 输出:0x0

hex() 函数只能接受整数作为参数。如果你尝试传入一个浮点数或非整数类型,Python 会抛出一个 TypeError 异常。

14、tuple(iterable):创建元组或将其他可迭代对象转换为元组。

元组也可以使用圆括号包围元素,元素之间用逗号分隔的方式创建。如a=(1,2,3,'a','b')。

用圆括号创建元组时,如元组只有一个元素,需要在该元素后面添加一个逗号,如b=(1,)。

参数:

iterable:可迭代对象,如列表、字符串、集合等。

返回值:

返回一个新的元组,包含可迭代对象中的元素。

访问元组元素

可以通过索引来访问元组中的元素,索引从 0 开始。

例:

# 创建元组

t1 = tuple([1, 2, 3])

print(t1)  # 输出: (1, 2, 3)

# 将字符串转换为元组

t2 = tuple("hello")

print(t2)  # 输出: ('h', 'e', 'l', 'l', 'o')

# 使用 tuple() 函数复制其他可迭代对象

t3 = tuple(range(5))

print(t3)  # 输出: (0, 1, 2, 3, 4)

# 使用索引输出元素

print(t3[1])    # 输出:1

元组操作

由于元组是不可变的,因此不能对元组进行增加、删除或修改元素的操作。但可以进行一些其他操作,如连接、重复、切片等。

# 连接两个元组  

t1 = (1, 2, 3)  

t2 = (4, 5, 6)  

t3 &#

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/697647.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

npm/nodejs安装、切换源

前言 发现自己电脑上没有npm也没有node很震惊&#xff0c;难道我没写过代码么&#xff1f;不扯了&#xff0c;进入正题哈哈…… 安装 一般没有npm的话会报错&#xff1a; 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称而且报这个错&#xff0c;我们执行…

【骑行新纪元】社交风暴来袭,你准备加入骑友圈了吗?

当你的自行车轮轻轻滑过清晨的露水&#xff0c;你是否曾想与志同道合的骑友分享这一刻的喜悦&#xff1f;骑行&#xff0c;这个曾经只是简单运动的代名词&#xff0c;如今正在悄然转变。随着科技的进步和社交平台的发展&#xff0c;骑行不再只是一种健身方式&#xff0c;它还带…

【机器学习】是什么?——讲解

机器学习 机器学习是人工智能&#xff08;AI&#xff09;的一个子领域&#xff0c;它提供了系统通过数据学习并改进其性能的能力&#xff0c;而不需要人为进行显式编程&#xff0c;机器学习模型利用大量的数据样本&#xff08;训练数据&#xff09;来学习如何识别模式和关系&a…

C-指针-010

1指针 1.1语法&#xff1a; 【基类型*指针变量名】 【int *p&a】1.2语义&#xff1a; 【基类型】&#xff1a;指针变量指向的目标的数据类型 【*】&#xff1a;表示此时定义的变量是一个指针类型的变量 【&a】&#xff1a;一块存放着int类型数据的空间的地址 【*p】…

slot全局属性 <slot>标签</slot> ::slotted()伪元素 笔记240223

slot全局属性 标签 ::slotted()伪元素 MDN HTML全局属性 MDN HTML全局属性 slot MDN HTML <slot>标签元素 MDN CSS ::slotted()为元素 MDN 使用 templates and slots <slot>标签 <slot>标签是的 display 是 contents 在Web开发中&#xff0c;<s…

【高德地图】Android搭建3D高德地图详细教

&#x1f4d6;Android搭建3D高德地图详细教程 &#x1f4d6;第1章 高德地图介绍✅了解高德地图✅2D地图与3D地图 &#x1f4d6;第2章 搭建3D地图并显示✅第 1 步&#xff1a;创建 Android 项目✅第 2 步&#xff1a;获取高德Key✅第 3 步&#xff1a;下载地图SDK✅第 4 步&…

照片上多余的人怎么处理?这几种方法让你的照片更完美!

照片怎么去掉多余人像&#xff1f;这是许多摄影爱好者经常遇到的问题。有时候&#xff0c;我们拍摄了一张非常美好的照片&#xff0c;但由于某些原因&#xff0c;照片中出现了不希望出现的人物。这时候&#xff0c;我们该如何处理呢&#xff1f;下面&#xff0c;我将分享几种常…

2.5网安学习第二阶段第五周回顾(个人学习记录使用)

本周重点 ①多进程和多线程 1、进程和线程 2、多线程爆破 ②Redis数据库 1、Redis的使用 2、Redis持久化 3、Redis未授权免密登录 ③嗅探和Python攻击脚本 1、嗅探&#xff08;端口扫描和IP扫描&#xff09; 2、SCAPY的应用 3、Python攻击脚本&#xff08;SYN半连接…

【More Effective C++】条款22:采用op+=取代op+优势

采用operator实现operator优点&#xff1a; 降低维护成本&#xff0c;只需要维护operator即可&#xff1b;如果operator为publicoperator不需要称为class的友元&#xff1b;通过模板的方式自动实现operator版本&#xff1b;提供两种操作方式&#xff0c;operator效率高&#x…

计算机网络-局域网

文章目录 局域网局域网拓扑结构以太网以太网传输介质以太网时隙提高传统以太网带宽的途径以太网帧格式 局域网协议IEEE 802参考模型IEEE802.2协议LLC帧格式及其控制字段LLC提供的三种服务 IEEE 802.3协议IEEE 802.4协议IEEE 802.5协议 高速局域网100M以太网千兆以太网万兆以太网…

冲突管理最佳实践

任何团队都无法避免冲突&#xff0c;如何有效管理冲突&#xff0c;将冲突转化为团队成长和凝聚的动力&#xff0c;是任何一个团队管理者的必修课。原文: Best Practices for Managing Conflict in Engineering Management Obie Fernandez Unsplash 冲突在任何组织中都不可避免&…

计算机网络中的与或非运算

三种基本逻辑运算关系 搭建中小公司网络&#xff0c;根据网址计算&#xff0c;用户的人数 需要ip和掩码&#xff0c;确定可分配的ip数 与运算电路为串联电路&#xff0c;的&#xff0c;A,B的组合情况 具体参考三种基本逻辑运算关系

图片参考网站

摄图网-正版高清图片免费下载_商用设计素材图库 (699pic.com) AIGC数字艺术素材图片-数字艺术-数字艺术图片-摄图网 (699pic.com) 花瓣网 - 陪你做生活的设计师&#xff08;创意灵感天堂&#xff0c;搜索、发现设计灵感、设计素材&#xff09; (huaban.com) 千图网-免费在线…

python视频流处理工具

在当今数字化的时代&#xff0c;视频处理应用变得越来越普遍。无论是视频流分析、实时视频处理还是视频流转码&#xff0c;都需要强大的工具来实现。Python Vidgear 库就是这样一个工具&#xff0c;它为开发人员提供了丰富的功能&#xff0c;用于处理实时视频流。本文将深入探讨…

Android中Transition过渡动画的简单使用

前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"通俗易懂&#xff0c;风趣幽默"&#xff0c;感觉非常有意思,忍不住分享一下给大家。 &#x1f449;点击跳转到教程 一、布局xml文件代码如下&#xff1a; <?xml version"1.0" encoding&quo…

Feign接口GET方式注意事项

1. GET请求方式&#xff0c;对于feign接口一定得用 RequestParam/SpringQueryMap等注解声明是路径参数&#xff0c;否则会自动识别为body params报错(controller接口则可不用&#xff0c;springmvc会自动匹配相同字段名) demo: API 层controller接口&#xff1a; 前端传参可直…

ABB触摸屏维修工控机显示屏维修CP405 A1/A0

ABB人机界面维修常见故障&#xff1a;黑屏白屏花屏&#xff0c;按触摸屏无反应或反应慢触摸不好&#xff0c;内容错乱&#xff0c;进不了系统界面&#xff0c;无背光背光暗&#xff0c;有背光无字符&#xff0c;不能通信&#xff0c;按键无无反应等均可维修。 此维修检测方法有…

geoserver 热力图样式

<?xml version"1.0" encoding"ISO-8859-1"?> <StyledLayerDescriptor version"1.0.0" xsi:schemaLocation"http://www.opengis.net/sld StyledLayerDescriptor.xsd" xmlns&…

英文输入法(C 语言)

题目 主管期望你来实现英文输入法单词联想功能&#xff0c;需求如下&#xff1a; 依据用户输入的单词前缀&#xff0c;从已输入的英文语句中联想出用户想输入的单词。按字典序输出联想到的单词序列&#xff0c;如果联想不到&#xff0c;请输出用户输入的单词前缀。 注意 英…

Java设计模式 | 七大原则之单一职责原则

一、单一职责原则 基本介绍 对类来说&#xff0c;一个类应该只负责一项原则&#xff0c;如类A负责两个不同职责&#xff1a;职责1&#xff0c;职责2。当职责1需求变更而改变A时&#xff0c;可能造成职责2执行错误&#xff0c;所以需要将类A的粒度分解为A1&#xff0c;A2。 注…