- images
- results
- .gitignore
- 1.1概论.ipynb
- 1.2 环境配置.pdf
- 1.3数据类型.ipynb
- 1.4 人机交互.ipynb
- 1.5 对象与变量.ipynb
- 1.6 编码与命名规范.ipynb
- 2.1 数值类型.ipynb
- 2.2 数值类型转换.ipynb
- 2.3 数值元算.ipynb
- 2.4常用数学运算函数.ipynb
- 2.5 math 模块及其应用.ipynb
- 2.6.1 逻辑值测试.ipynb
- 2.6.2 成员运算.ipynb
- 2.6.3 比较运算.ipynb
- 2.6.4 布尔运算.ipynb
- 2.6.5 运算优先级.ipynb
- 2.ipynb
- 3.1 流程控制结构.ipynb
- 3.3.1 for 循环语句.ipynb
- 3.3.3 rang.ipynb
- 3.3.3 while 循环语句.ipynb
- 3.4 and 3.5 分支结构和条件.ipynb
- 3.6 and 3.7 .ipynb
- 3.9 异常处理.ipynb
- 4 函数和模块化编程.ipynb
- 4.1 函数的定义、调用与返回值.ipynb
- 4.2 函数的参数传递.ipynb
- 4.3 变量的作用域.ipynb
- 4.4 匿名函数.ipynb
- 4.5 递归.ipynb
- 4.6 内置函数.ipynb
- 4.7 模块化程序设计.ipynb
- 5.1 序列通用操作.ipynb
- 5.1.1 索引.ipynb
- 5.1.2 切片.ipynb
- 5.1.3 序列拼接与重复.ipynb
- 5.1.4 成员测试.ipynb
- 5.2.1 字符串的创建.ipynb
- 5.2.2 字符串常量.ipynb
- 5.2.4 字符串的遍历.ipynb
- 5.2.5 文件遍历.ipynb
- 5.2.6 字符串的处理方法.ipynb
- 5.2.7 字符串格式化.ipynb
- 5.2.8 转义字符.ipynb
- 5.3 random 模块及其应用.ipynb
- 6.1 元组.ipynb
- 6.2 列表.ipynb
- 6.2.1 列表的创建.ipynb
- 6.2.2 列表的更新.ipynb
- 6.2.3 列表的删除.ipynb
- 6.2.4 列表的排序.ipynb
- 6.2.5 列表赋值与复制.ipynb
- 6.2.6 列表推导式.ipynb
- 6.2.8 常用内置函数.ipynb
- 6.2.9 列表嵌套及其排序.ipynb
- 6.3 列表综合应用.ipynb
- 7.1.1 集合的创建.ipynb
- 7.1.2可变集合类型的操作.ipynb
- 7.1.3 成员关系.ipynb
- 7.1.4 集合关系.ipynb
- 7.1.5 集合运算.ipynb
- 7.2.1 字典创建.ipynb
- 7.2.2 获取字典值.ipynb
- 7.2.3 修改字典值.ipynb
- 7.2.4内置函数与方法.ipynb
- 7.2.5字典排序输出.ipynb
- 7.3 集合与字典的应用.ipynb
- 8 中 numpy 概述.ipynb
- 8 中panda 库.ipynb
- 8.1 文件的打开与关闭.ipynb
- 8.2 文件读写操作.ipynb
- 8.3 文件的应用.ipynb
- 8.4 numpy 文件操作.ipynb
- 8.4.2 and 3.ipynb
- 8.5.1 pandas文件读写.ipynb
- 8.5.2 and 3 and 4.ipynb
- 9.1 matplotlib 线性图.ipynb
- 9.1.5 数据文化绘图.ipynb
- 9.2 非线性图.ipynb
- 9.3 词云.ipynb
- _overview.md
- _readme.ipynb
- coding_here.ipynb
- dream.png
- score.txt
- score_total.csv
- 成绩分析综合.json
4.6 内置函数.ipynb @master — view markup · raw · history · blame
4.7 内置函数¶
Python 3.12内置了71个函数可以直接使用,这些函数如下表所示,其具体语法可以参考官方文档https://docs.python.org/3/library/functions.html
| __A__ | __D__ | __H__ | __M__ | __R__ | __T__ |
| abs() | delattr() | hasattr() | map() | range() | tuple() |
| aiter() | dict() | hash() | max() | repr() | type() |
| all() | dir() | help() | memoryview() | reversed() | |
| any() | divmod() | hex() | min() | round() | __V__ |
| anext() | vars() | ||||
| ascii() | __E__ | __I__ | __N__ | __S__ | |
| enumerate() | id() | next() | set() | __Z__ | |
| __B__ | eval() | input() | setattr() | zip() | |
| bin() | exec() | int() | __O__ | slice() | |
| bool() | isinstance() | object() | sorted() | _____ | |
| breakpoint() | __F__ | issubclass() | oct() | staticmethod() | import() |
| bytearray() | filter() | iter() | open() | str() | |
| bytes() | float() | ord() | sum() | ||
| format() | __L__ | super() | |||
| __C__ | frozenset() | len() | __P__ | ||
| callable() | list() | pow() | |||
| chr() | __G__ | locals() | print() | ||
| classmethod() | getattr() | property() | |||
| compile() | globals() | ||||
| complex() |
| 函数 | 说明 |
|---|---|
| bin | 把一个整数转换成以'0b'开头的二进制字符串,例如:bin(123)会返回'0b1111011'。 |
| hex | 将一个整数转换成以'0x'开头的十六进制字符串,例如:hex(123)会返回'0x7b'。 |
| oct | 把一个整数转换成以'0o'开头的八进制字符串,例如:oct(123)会返回'0o173'。 |
| input | 从输入中读取一行,返回读到的字符串。 |
| 打印输出。 | |
| len | 获取字符串、列表等的长度。 |
| max | 返回多个参数或一个可迭代对象中的最大值,例如:max(12, 95, 37)会返回95。 |
| min | 返回多个参数或一个可迭代对象中的最小值,例如:min(12, 95, 37)会返回12。 |
| chr | 将Unicode编码转换成对应的字符,例如:chr(8364)会返回'€'。 |
| ord | 将字符转换成对应的Unicode编码,例如:ord('€')会返回8364。 |
| abs | 返回一个数的绝对值,例如:abs(-1.3)会返回1.3 |
| pow | 求幂运算,例如:pow(2, 3)会返回8;pow(2, 0.5)会返回1.4142135623730951。 |
| sum | 对一个序列中的项从左到右进行求和运算,例如:sum(range(1, 101))会返回5050。 |
| round | 按照指定的精度对数值进行四舍五入,例如:round(1.23456, 4)会返回1.2346。 |
| range | 构造一个范围序列,例如:range(100)会产生0到99的整数序列。 |
| type | 返回对象的类型,例如:type(10)会返回int;而type('hello')会返回str。 |
| open | 打开一个文件并返回文件对象。 |
这些函数中的大部分会在本书的各章节出现,这里只介绍几个常用函数:
help( [object] )¶
help()可返回方括号中对象的帮助信息,参数是一个字符串,可以是模块名、函数名、类名、方法名、关键字或文档主题。当参数省略时,进入帮助环境,再输入要查找的对象名,返回该对象的帮助。例如,查看函数id的帮助信息:
help( id )
或者省略参数直接使用help()进入帮助环境,再输入要帮助的对象,如 id 。
help() #进入帮助环境后再输入要查看的对象
id( object )¶
id()函数返回括号中对象的__内存地址__(identity),一个对象的id值在CPython解释器(官方解释器)里就代表它在内存中的地址。
id值是一个整数,并且在对象的生命周期内唯一且保持不变,在不重合的生命周期里,两个不同的对象可能会出现相同的id值。
对于字符串、整数等类型,变量的id是__随着值的改变而改变__的。用__is__运算符判断两个对象是否相同时,依据就是这个id值是否相同。
print( id(100) ) # 100是整数对象,输出其地址
n = 100 # 赋值,即在100这个整数对象上加上n这个引用
print(id(n)) # 输出n的id,即是整数100的id
m = 100 # 赋值,即在100这个整数对象上加上m这个引用
print(id(m)) # 输出m的id,即是整数100的id
print(m is n) # m和n的id一样,True
type(object)¶
type()函数查看数据的类型,其返回值是要查询的对象的类型信息。
print( type(1), type('1'), type([1,2,3]) ) # <class 'int'> <class 'str'> <class 'list'>
print( type(range(5)) ) # <class 'range'>
函数是对功能相对独立且会重复使用的代码的封装。学会使用定义和使用函数,就能够写出更为优质的代码。
当然,Python 语言的标准库中已经为我们提供了大量的模块和常用的函数,用好这些模块和函数就能够用更少的代码做更多的事情;如果这些模块和函数不能满足我们的要求,可能就需要自定义函数,然后再通过模块来管理这些自定义函数。
print(bin(3)) # '0b11'
print(bin(-10)) # '-0b1010
print(hex(255)) # '0xff'
print(hex(-42)) # '-0x2a'
print(oct(8)) # '0o10'
print(oct(-56)) # '-0o70'
all(iterable)¶
如果 iterable 的所有元素均为真值(或可迭代对象为空)则返回 True 。 等价于:
def all(iterable):
for element in iterable:
if not element:
return False
return True
any(iterable)¶
如果 iterable 的任一元素为真值则返回 True。 如果可迭代对象为空,返回 False。 等价于:
def any(iterable):
for element in iterable:
if element:
return True
return False
enumerate(iterable, start=0)¶
返回一个枚举对象。iterable 必须是一个序列,或 iterator,或其他支持迭代的对象。 enumerate() 返回的迭代器的 next() 方法返回一个元组,里面包含一个计数值(从 start 开始,默认为 0)和通过迭代 iterable 获得的值。
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
print(list(enumerate(seasons))) #[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
print(list(enumerate(seasons, start=1))) # [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
filter(function, iterable)¶
使用 iterable 中 function 返回真值的元素构造一个迭代器。 iterable 可以是一个序列,一个支持迭代的容器或者一个迭代器。 如果 function 为 None,则会使用标识号函数,也就是说,iterable 中所有具有假值的元素都将被移除.
filter(function, iterable) 相当于一个生成器表达式,当 function 不是 None 的时候为:
(item for item in iterable if function(item))
function 是 None 的时候为:
(item for item in iterable if item)
## chr(i):
返回 Unicode 码位为整数 i 的字符的字符串格式。例如,chr(97) 返回字符串 'a',chr(8364) 返回字符串 '€'。这是 ord() 的逆函数。
## ord(c):
对表示单个 Unicode 字符的字符串,返回代表它 Unicode 码点的整数。例如 ord('a') 返回整数 97, ord('€') (欧元符号)返回 8364 。这是 chr() 的逆函数。
print(ord('a')) # 97
print(chr(97)) # a
返回可迭代对象中最大的元素,或者返回两个及以上实参中最大的。
如果只提供了一个位置参数,它必须是非空 iterable,返回可迭代对象中最大的元素;如果提供了两个及以上的位置参数,则返回最大的位置参数。
返回可迭代对象中最小的元素,或者返回两个及以上实参中最小的。
如果只提供了一个位置参数,它必须是 iterable,返回可迭代对象中最小的元素;如果提供了两个及以上的位置参数,则返回最小的位置参数。
isinstance(object, classinfo)¶
如果 object 参数是 classinfo 参数的实例,或者是其 (直接、间接或 虚拟) 子类的实例则返回 True。 如果 object 不是给定类型的对象,则该函数总是返回 False。 如果 classinfo 是由类型对象结成的元组 (或是由其他此类元组递归生成) 或者是多个类型的 union 类型,则如果 object 是其中任一类型的实例时将会返回 True。 如果 classinfo 不是一个类型或类型元组及此类元组,则会引发 TypeError 异常。 如果之前的检查成功执行则可以不会为无效的类型引发 TypeError。
sorted(iterable, /, *, key=None, reverse=False)¶
根据 iterable 中的项返回一个新的已排序列表。
具有两个可选参数,它们都必须指定为关键字参数。
key 指定带有单个参数的函数,用于从 iterable 的每个元素中提取用于比较的键 (例如 key=str.lower)。 默认值为 None (直接比较元素)。
reverse 为一个布尔值。 如果设为 True,则每个列表元素将按反向顺序比较进行排序。
ls = [89, 25, 38, 44, 56, 100, 9]
print(sorted(ls)) # [9, 25, 38, 44, 56, 89, 100]
reversed(seq)¶
返回一个逆序的迭代器,可转列表或遍历查看
ls = [89, 25, 38, 44, 56, 100, 9]
print(ls) # [89, 25, 38, 44, 56, 100, 9]
print(reversed(ls)) # <list_reverseiterator object at 0x7f59d1eaf2b0>,迭代器对象,不能直接看里面的数据
print(list(reversed(ls))) # [9, 100, 56, 44, 38, 25, 89] 可转列表查看
print(*reversed(ls)) # 9 100 56 44 38 25 89 可解包输出查看
map(function, iterable, *iterables)¶
返回一个将 function 应用于 iterable 的每一项,并产生其结果的迭代器。 如果传入了额外的 iterables 参数,则 function 必须接受相同个数的参数并被用于到从所有可迭代对象中并行获取的项。 当有多个可迭代对象时,当最短的可迭代对象耗尽则整个迭代将会停止。
ls = [89, 25, 38, 44, 56, 100, 9]
print(map(str,ls)) # <map object at 0x7f59d1eaf3d0>
print(list(map(str,ls))) # ['89', '25', '38', '44', '56', '100', '9']
print(*map(str,ls)) # 89 25 38 44 56 100 9 解包输出,元素是字符串类型
print(list(map(float,ls))) # [89.0, 25.0, 38.0, 44.0, 56.0, 100.0, 9.0]
open(file, mode='r', buffering=- 1, encoding=None, errors=None, newline=None, closefd=True, opener=None)¶
打开 file 并返回对应的 file object。 如果该文件不能被打开,则引发 OSError。