Python基础教程:02内置函数的用法解析
函数是一段可重复使用的代码,它们被定义在一个文件中,并且可以在程序中多次调用。函数通常用于执行某些操作或完成某个任务,并且可以返回一个值或执行一系列操作。
#1.(自定义函数):以下是一个简单的函数示例,它将两个数相加并返回结果:
在这个示例中,add
函数接受两个参数 x
和 y
,并将它们相加并返回结果。可以在程序中多次调用 add
函数来执行相同的操作,例如:
#2.常用的内置函数及其用法
abs():返回一个数的绝对值。参数可以是整数、浮点数或实现__abs__()。如果参数是复数,则返回其大小。
aiter():返回一个异步迭代器
all():用于检查一个可迭代对象中是否包含所有元素。它的作用是返回一个布尔值,表示可迭代对象中是否包含所有元素。
any():检查一个可迭代对象中是否包含特定元素。它的作用是返回一个布尔值,表示可迭代对象中是否包含任意一个元素。
anext():将一个可迭代对象中的元素逐个读取出来,并将其存储在一个新的列表中。
# 定义一个列表 my_list = [1, 2, 3, 4, 5] # 使用 anext() 函数逐个读取列表中的元素 new_list = anext(my_list) # 打印新的列表 print(new_list) # 输出:[1, 2, 3, 4, 5]
bin():将整数转换为前缀为“0b”的二进制字符串
print(bin(14)) # 0b1110
# 如果需要或不需要前缀“0b ”,您可以使用以下两种方法之一。
print(format(14, '#b'), format(14, 'b'))
#输出 0b1110, 1110
print(f'{14:#b}', f'{14:b}')
#输出 0b1110, 1110bool():返回真和假
breakpoint():程序员可以通过在这个关键点上设置断点,来观察程序的执行过程,并进行调试
bytearray():返回新的字节数组
bytes():字节
callable(): 用于检查一个对象是否是可调用的. 如果返回True, object有可能调用失败, 但如果返回False. 那调用不会成功
a = 10
print(callable(a)) #False 变量a不能被调用
#
def f():
print("hello")
print(callable(f)) # True 函数是可以被调用的
f()
chr():将整数换为字符,只能用于ASCII码值在0到127之间的整数。如果需要处理非ASCII字符,可以使用ord()函数,它的参数是一个字符,表示要转换的字符的ASCII码值。
classmethod():用于创建类的实例并调用其中的方法。它是一种静态方法,不依赖于类的实例,而是在类定义之前声明。可以使用@classmethod装饰器来标记一个方法为类方法。
compile():将可执行文件或库文件编译成字节码文件
code1 = "for i in range(3): print(i)"
com = compile(code1, "", mode="exec") # compile并不会执行你的代码.只是编译
exec(com) # 执行编译的结果
# 0
# 1
# 2
code2 = "5+6+7"
com2 = compile(code2, "", mode="eval")
print(eval(com2)) # 18
code3 = "name = input('请输入你的名字:')" #输入:hello
com3 = compile(code3, "", mode="single")
exec(com3)
print(name) #hellocomplex():复数
delattr():参数是一个对象和一个字符串。该字符串必须是对象属性之一的名称。如果对象允许,函数会删除指定的属性。
dict():字典
# 创建一个字典
my_dict = {'apple': 1, 'banana': 2, 'orange': 3}
dir():查看对象的内置属性, 访问的是对象中的__dir__()方法
print(dir(tuple)) #查看元组的方法
divmod():计算两个数的商和余数,返回一个元组。
enumerate():将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标。
print(list(enumerate(seasons, start=1)))
# 输出结果[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
eval():执行一个字符串中的Python代码,并返回结果
print(eval(s1))
float(): 浮点型(小数)
format():格式化字符串参数
s = "hello world!"
print(format(s, "^20")) #剧中
print(format(s, "<20")) #左对齐
print(format(s, ">20")) #右对齐
# hello world!
# hello world!
# hello world!
print(format(3, 'b' )) # 二进制:11
print(format(97, 'c' )) # 转换成unicode字符:a
print(format(11, 'd' )) # ⼗进制:11
print(format(11, 'o' )) # 八进制:13
print(format(11, 'x' )) # 十六进制(⼩写字母):b
print(format(11, 'X' )) # 十六进制(大写字母):B
print(format(11, 'n' )) # 和d⼀样:11
print(format(11)) # 和d⼀样:11
print(format(123456789, 'e' )) # 科学计数法. 默认保留6位小数:1.234568e+08
print(format(123456789, '0.2e' )) # 科学计数法. 保留2位小数(小写):1.23e+08
print(format(123456789, '0.2E' )) # 科学计数法. 保留2位小数(大写):1.23E+08
print(format(1.23456789, 'f' )) # 小数点计数法. 保留6位小数:1.234568
print(format(1.23456789, '0.2f' )) # 小数点计数法. 保留2位小数:1.23
print(format(1.23456789, '0.10f')) # 小数点计数法. 保留10位小数:1.2345678900
print(format(1.23456789e+3, 'F')) # 小数点计数法. 很大的时候输出INF:1234.567890
frozenset():frozenset([1, 2, 3])将返回一个不可变的集合,这个集合中的元素是固定的,不能被修改,其中包含三个元素1、2和3。
getattr():获取类的属性
class Person: def __init__(self, name): self.name = name
p = Person("Alice") print(getattr(p, "name")) # 输出:Alice
globals():返回一个字典,包含当前模块中的所有全局变量、函数和字符串。
hasattr()
True
False
getattr(object, name)
AttributeError
hash():用于计算一个对象的哈希值
help()::提供有关某个对象或函数的信息
hex():将一个整数或字符串转换为十六进制字符串
id():返回的唯一标识符是一个整数,表示对象在哈希表中的位置。如果对象在哈希表中不存在,id()函数将返回一个特殊的值,例如-1。
input():读取用户输入的字符
int():整数型
isinstance():判断一个对象的变量类型是否与给定的参数类型相同
s = 123 is_number = isinstance(s, int) print(is_number) # True,因为s是整数类型
issubclass():判断一个对象是否是给定类的子类。
iter():用于生成一个可迭代对象
strings = iter("hello") print(strings) len():获取一个字符串或序列的长度
string = "hello world" length = len(string) print(length) # 输出:11
list():列表
my_list = [1, 2, 3, 4, 5] my_list_str = list(my_list) print(my_list_str) # 输出:[1, 2, 3, 4, 5]
locals():更新并返回一个表示当前局部符号表的字典。
max():求最大值
memoryview():创建一个内存中的可变字节序列对象
min():求最小值
next():迭代器向下执行一次, 内部实际使用了__ next__()方法
object():
object
oct():将整数转换为前缀为“0o”的八进制字符串
open():用于打开文件或目录
file = open('example.txt', 'r') print(file.read()) # 输出:Hello, world!
ord():将一个字符转换为其对应的ASCII码
char_code = ord('A') print(char_code) # 输出:65
pow():用于计算x的y次方
print():用于在控制台调试输出
property():定义一个对象的属性
class Person: def __init__(self, name, age): self.name = name self.age = age @property def count(self): return self.age person = Person('Alice', 30) print(person.count) # 输出:30
range():生成一个整数序列
for i in range(0, 100, 2): print(i)
repr():将一个对象转换为字符串表示形式
s = 'hello, world!' print(repr(s)) # 输出:'hello, world!'
reversed():反转一个序列
my_list = [1, 2, 3, 4, 5]
print(list(reversed(my_list))) # 输出:[5, 4, 3, 2, 1]
round():将一个数字四舍五入到指定的小数位数
x = 3.14159 print(round(x, 2)) # 输出:3.14
set():创建一个集合
my_list = [1, 2, 3, 4, 5] print(set(my_list)) # 输出:{1, 2, 3, 4, 5}
setattr():设置对象的属性
slice():切片,从序列中提取一个子序列
- my_list = [1, 2, 3, 4, 5]
print(my_list[2:]) # 输出:[2, 3, 4]
s=slice(1, 4, 1)
print(my_list[s]) # 输出:[2, 3, 4] sorted():返回一个新的排序列表
#将一个列表中的元素按字母顺序排序
my_list = ['apple', 'banana', 'orange', 'grape'] sorted_list = sorted(my_list) print(sorted_list) # 输出:['apple', 'grape', 'banana', 'orange']
staticmethod():创建一个静态方法
class MyClass: @staticmethod def hello(name): print(f"Hello, {name}!") obj = MyClass() obj.hello("Alice") # 输出:Hello, Alice!
str():将数据转化成字符串
sum():用于求序列的和
numbers = [1, 2, 3, 4, 5] total = sum(numbers) print(total) # 输出:15
tuple():创建一个元组
numbers = [1, 2, 3, 4, 5]
tuple_numbers = tuple(numbers) print(tuple_numbers) # 输出:(1, 2, 3, 4, 5)
type():获取对象的类型
my_dict = {"a": 1, "b": 2, "c": 3} print(type(my_dict)) # 输出:<class 'dict'>
zip():用于将序列中的元素组成一个元组
numbers = [1, 2, 3, 4, 5]
for item in zip(numbers, range(1, 6)):
print(item)
完毕!!感谢您的收看
------------往期更多精彩内容------------