【一】什么是内置函数?
- 内置函数就是Python给你提供的, 拿来直接用的函数,比如print,input等。
- 和数字相关
- 数据类型
- 进制转换
- 数学运算
- 和数据结构相关
- 序列
- 数据集合
- 相关内置函数
- 和作用域相关
- 和迭代器生成器相关
- 字符串类型代码的执行
- 输入输出
- 内存相关
- 文件操作相关
- 模块相关
- 帮 助
- 调用相关
- 查看内置属性
【二】数据类型转换(8)
【1】数字类型转换
(1)整数类型转换(int)
- int : 整型(整数)
res = '1'
print(int(res))
(2)浮点数类型转换(float)
- float : 浮点型(小数)
res = '1.2'
print(float(res))
【2】字符串类型转换(str)
-
str() 将数据转化成字符串
print(str(123)+'456')
【3】布尔类型转换(bool)
- bool: 布尔类型(True / False)
ddd = 1
ddd_bool = bool(ddd)
print(res_bool)
# True
dddd = 0
dddd_bool = bool(dddd)
print(res_bool)
# False
【4】列表类型转换(list)
-
list() 将一个可迭代对象转换成列表
print(list((1,2,3,4,5,6))) # [1, 2, 3, 4, 5, 6]
【5】元祖类型转换(tuple)
-
tuple() 将一个可迭代对象转换成元组
print(tuple([1,2,3,4,5,6])) # (1, 2, 3, 4, 5, 6)
【6】字典类型转换(dict)
- 字典:dict 创建一个字典
- 注释:
dict()
函数可接受可迭代对象,用键值对初始化字典。
dic = dict([(1, 'd'), (2, 'h'), (3, 'y)])
print(dic)
# {1: 'd', 2: 'h', 3: 'y'}
【7】集合类型转换(set)
- 集合:set 创建一个集合
- 注释:
set()
函数用于创建一个集合,自动去除重复元素。
my_set = set([1, 2, 3, 3, 4, 5])
print(my_set)
# {1, 2, 3, 4, 5}
【三】数学进制转换(3)
【1】十进制转二进制(bin)
-
bin() 将给的参数转换成二进制
number = 77 number_bin = bin(number) print(number_bin) 0b1001101
【2】十进制转八进制(oct)
-
oct() 将给的参数转换成八进制
number = 77 number_oct = oct(number) print(number_oct) # 0o115
【3】十进制转十六进制(hex)
-
hex() 将给的参数转换成十六进制
number = 77 number_hex = hex(number) print(number_hex) # 0x4d
【四】数学运算(8)
(1)获取绝对值(abs)
-
abs() 返回绝对值
number = -99 print(abs(number)) #99
(2)获取商和余数(divmod)
-
divmod() 返回商和余数
number_start = 10 number_end = 3 result = divmod(number_start, number_end) print(result) # (3, 1)
(3)四舍五入(round)
-
round() 四舍五入
- 给定数字的四舍五入版本,有指定的小数位数。
- 默认情况下,小数点的数量是0。
- 因此,如果你调用 round() 时没有第二个参数,该函数将返回最近的整数。
print(round(4.51)) # 5 print(round(4.50)) # 4 print(round(4.49)) # 4
(4)a的b次幂(pow)
-
pow(a, b) 求a的b次幂, 如果有三个参数. 则求完次幂后对第三个数取余
print(pow(3, 5)) # 243 print(pow(3, 3)) # 27 print(pow(3, 3, 5)) # 2
(5)求和(sum)
-
sum() 求和
print(sum([1,2,3,4,5,6,7,8,9,10])) #55
(6)最小值(min)
-
min() 求最小值
print(min(5,3,9,12,7,2)) #2
(7)最大值(max)
-
max() 求最大值
print(max(7,3,15,9,4,13)) #15
(8)复数转换(complex)
- complex : 复数
start = complex(3, 4)
print(start) # (3+4j)
second = complex(5, 9)
print(second) # (5+9j)
res = start + second
print(res) # (8+13j)
【五】数据结构相关(18)
【1】序列相关(5)
(1)翻转(reversed)
-
reversed() 将一个序列翻转, 返回翻转序列的迭代器
list1 = [1, 2, 3, 4, 5, 6, 7,8,9,10] list2 = reversed(list1) print(list(list2)) #[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
(2)切片(slice)
-
slice() 列表的切片
list1 = [1, 2, 3, 4, 5, 6, 7,8,9,10] print(list1[2:9:2]) #[3, 5, 7, 9] s = slice(2, 9, 2) print(list1[s]) #[3, 5, 7, 9]
(3)计算长度(len)
- len() 返回一个对象中的元素的个数
list1 = [1, 2, 3, 4, 5, 6, 7,8,9,10]
(4)排序(sorted)
-
语法:sorted(Iterable, key=函数(排序规则), reverse=False)
- Iterable: 可迭代对象
- key: 排序规则(排序函数), 在sorted内部会将可迭代对象中的每一个元素传递给这个函数的参数. 根据函数运算的结果进行排序
- reverse: 是否是倒叙. True: 倒叙, False: 正序
-
sorted() 对可迭代对象进行排序操作 (lamda)
list1 = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] ll = sorted(list1) print(ll)#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 倒序 l2 = sorted(ll, reverse=True) print(l2)#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
(5)枚举(enumerate)
-
enumerate() 获取集合的枚举对象
list1 = [1, 2, 3, 4, 5, 6, 7,8,9,10] for index, el in enumerate(list1, 1): print(index) print(el) # 1 # 1 # 2 # 2 # 3 # 3 ...
【2】字符串(4)
(1)格式化输出(format)
-
format() 与具体数据相关, 用于计算各种小数, 精算等.
- 居中对齐方式
d = "good morning" # 12 个长度 print(format(d, "^20")) # 居 中 # good morning print(format(d, "<20")) # 左对齐 ljust # good morning print(format(d, ">20")) # 右对齐 rjust # good morning #进制转换 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
(2)字符串转bytes(bytes)
-
bytes() 把字符串转化成bytes类型
print(bytes('你好', encoding='utf8')) # b'\xe4\xbd\xa0\xe5\xa5\xbd'
(3)获取字节数组(bytearray)
-
bytearray()
-
返回一个新字节数组. 这个数字的元素是可变的, 并且每个元素的值得范围是[0,256)
data = bytearray('戴戴戴', encoding='utf8') print(list(res))#[230, 136, 180, 230, 136, 180, 230, 136, 180]
-
(4)返回对象的字符串格式(repr)
-
repr() 返回一个对象的string形式
word = "今天\n天气%s真\t好" % 3 print(repr(word)) # '今天\n天气3真\t好' 不管百分号
【3】字符编码(3)
(1)字符编码找数字(ord)
-
ord() 输入字符找带字符编码的位置
print(ord('A')) # 65
(2)数字找字符编码(chr)
-
chr() 输入位置数字找出对应的字符
print(chr(65)) #A
(3)数字找ASCII码(ascii)
-
ascii() 是ascii码中的返回该值 不是就返回u
for i in range(65536): print(chr(i), end=" ") print(ascii("戴")) #'戴'
【4】数据集合(1)
- 创建一个冻结的集合(frozenset)
- frozenset() 创建一个冻结的集合,冻结的集合不能进行添加和删除操作。
- 注释:
frozenset()
函数返回一个不可变的 frozenset 对象,适用于作为字典的键或集合的元素。
num1= {1, 2, 3}
num1.add(9)
print(num1) # {1, 2, 3, 9}
num1= {1, 2, 3, 4, 5}
frozen1 = frozenset(num1)
print(frozen1) # frozenset({1, 2, 3, 4, 5})
num1.add(9)
print(num1) # {1, 2, 3, 4, 5, 9}
【5】判断条件(2)
(1)所有为真(all)
-
all() 可迭代对象中全部是True, 结果才是True
if 1 and 'good' and []: print(True) else: print(False) print(all([1, 'good', []]))
(2)任意为真(any)
-
any() 可迭代对象中有一个是True, 结果就是True
print(any([1, '', []]))
【6】高阶函数(3)
(1)打包(zip)
- zip() 函数
- 用于将可迭代的对象作为参数
- 将对象中对应的元素打包成一个元组
- 然后返回由这些元组组成的列表.
- 如果各个迭代器的元素个数不一致, 则返回列表长度与最短的对象相同
# zipper : 拉链函数
lst1 = [1, 2, 3, 4, 5, 6]
lst2 = ['醉乡民谣', '驴得水', '放牛班的春天', '美丽人生', '辩护人', '被嫌弃的松子的一生']
lst3 = ['美国', '中国', '法国', '意大利', '韩国']
for el in zip(lst1, lst2, lst3):
print(el)
(2)过滤(filter)
- 语法:fiter(function. Iterable)
- function: 用来筛选的函数.
- 在filter中会自动的把iterable中的元素传递给function.
- 然后根据function返回的True或者False来判断是否保留留此项数据
- Iterable: 可迭代对象
- function: 用来筛选的函数.
- filter() 过滤 (lamda)
def func(i):
return i % 2 == 1
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
l1 = []
for i in lst:
if func(i):
l1.append(i)
print(l1) # [1, 3, 5, 7, 9]
l1 = filter(func, lst)
print(list(l1)) # [1, 3, 5, 7, 9]
(3)映射(map)
- 语法 : map(function, iterable)
- 可以对可迭代对象中的每一个元素进行映射. 分别去执行 function
- map() 会根据提供的函数对指定序列列做映射(lamda)
def func(i):
return i ** 2
num = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(map(func, num))) # [1, 4, 9, 16, 25, 36, 49, 64, 81]
print(list(map(lambda x: x ** 2, (1, 2, 3, 4, 5, 6)))) # [1, 4, 9, 16, 25, 36]
【六】作用域(2)
- locals() 返回当前作用域中的名字
- globals() 返回全局作用域中的名字
name = "dhy"
def func():
a = 111
print(f"作用域 :>>>> {locals()}")
print(f"全局作用域 :>>>> {globals()}")
func()
#作用域 :>>>> {'a': 111}
#全局作用域 :>>>> {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x0000019575B382B0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'F:\\shanghai\\day27_ATM\\interface\\bank_interface.py', '__cached__': None, 'name': 'dhy', 'func': <function func at 0x0000019575A551F0>}
【七】迭代器生成器(3)
【1】循环生成数据(range)
- range() 生成数据
for i in range(5):
print(i)
#0
1
2
3
4
【2】获取迭代器(iter)
- iter()
- 获取迭代器, 内部实际使用的是__ iter__()方法来获取迭代器
num_list = [1, 2, 3]
num_iter = iter(num_list)
print(num_iter) # <list_iterator object at 0x000002F5BB5F3E80>
【3】向下执行(next)
- next()
- 迭代器向下执行一次, 内部实际使用了__ next__()方法返回迭代器的下一个项目
num_iter = iter([1, 2, 3])
print(num_iter) # <list_iterator object at 0x000001E10F901F10>
print(next(num_iter)) # 1
print(next(num_iter)) # 2
print(next(num_iter)) # 3
【八】字符串类型代码的执行(3)
【1】指定指令并返回结果(eval)
-
eval() 执行字符串类型的代码. 并返回最终结果
user_input = input("输入数字: ") result = eval(user_input) print("结果:", result) #2+2 #4
【2】指定指令不返回结果(exec)
-
exec() 执行字符串类型的代码
user_input = input("请输入一个数学表达式: ") result = exec(user_input) print("结果:", result) #2+2 #None
【3】编码指令
-
compile() 将字符串类型的代码编码. 代码对象能够通过exec语句来执行或者eval()进行求值
user_code = input("请输入一段Python代码: ") compiled_code = compile(user_code, '<string>', 'exec') exec(compiled_code)
【九】输入输出(2)
-
print() : 打印输出
print("hello", "world") # hello world
-
input() : 获取用户输出的内容
【十】算法(1)
-
hash() :
- 获取到对象的哈希值(int, str, bool, tuple).
# 字符串的哈希值 string_hash = hash("Hello World!") print(string_hash)#1620342921928355231 # 整数的哈希值 int_hash = hash(42) print(int_hash) #42 # 列表的哈希值 list_hash = hash([1, 2, 3]) print(list_hash)#报错 不能用列表
【十一】文件操作(1)
-
open() : 用于打开一个文件, 创建一个文件句柄
f = open('file',mode='r',encoding='utf-8') f.read() f.close()
【十二】导入模块(1)
-
__ import__() : 用于动态加载类和函数
name = input("请输入你要导入的模块:") json = __import__(name) print(json.dumps({"name": "dhy"})) # {"name: "dhy"}
【十三】帮助(1)
-
help() : 函数用于查看函数或模块用途的详细说明
print(help(int))
【十四】调度相关(1)
-
callable() : 用于检查一个对象是否是可调用的
- 如果返回True, object有可能调用失败
- 但如果返回False. 那调用绝对不会成功
def my_function(): print("这是一个函数") class CallableClass: def __call__(self): print("这是一个可调用的类实例") obj_function = my_function obj_class = CallableClass() print("my_function 是可调用的吗?", callable(obj_function)) # True print("CallableClass 实例是可调用的吗?", callable(obj_class)) # True print("字符串 'hello' 是可调用的吗?", callable('hello')) # False
【十五】查看内置属性(1)
-
dir() :
-
查看对象的内置属性
-
访问的是对象中的
__dir__()
方法print(dir(int))
-