截止到python版本3.6,python一共提供了68个内置函数,具体如下:
1 数字相关
1.1数据类型
-
bool : 布尔型(True,False)
-
int : 整型(整数)
-
float : 浮点型(小数)
-
complex : 复数
1.2进制转换
-
bin() 将给的参数转换成二进制
-
otc() 将给的参数转换成八进制
-
hex() 将给的参数转换成十六进制
print(bin(10)) # 二进制:0b1010``print(hex(10)) # 十六进制:0xa``print(oct(10)) # 八进制:0o12
1.3数学运算
-
abs() 返回绝对值
-
divmode() 返回商和余数
-
round() 四舍五入
-
pow(a, b) 求a的b次幂, 如果有三个参数,则求完次幂后对第三个数取余
-
sum() 求和
-
min() 求最小值
-
max() 求最大值
print(abs(-3)) # 绝对值:3``print(divmod(11,3)) # 求商和余数:(3,2)``print(round(4.50)) # 五舍六入:4``print(round(4.51)) # 5``print(pow(10,2,3)) # 如果给了第三个参数. 表示最后取余:1``print(sum([1,2,3,4,5,6,7,8,9,10])) # 求和:55``print(min(5,3,9,12,7,2)) # 求最小值:2``print(max(7,3,15,9,4,13)) # 求最大值:15
2 数据结构相关
2.1.1序列-列表和元组
-
list() 将一个可迭代对象转换成列表
-
tuple() 将一个可迭代对象转换成元组
print(list((1,2,3,4))) # [1, 2, 3, 4]``print(tuple([1,2,3,4])) # (1, 2, 3, 4)
2.1.2序列-相关内置函数
-
reversed() 将一个序列翻转, 返回翻转序列的迭代器
-
slice() 列表的切片
lst = "你好啊"``it = reversed(lst) # 不会改变原列表. 返回一个迭代器, 设计上的一个规则``print(list(it)) # ['啊', '好', '你']`` ``lst = [1, 2, 3, 4, 5, 6, 7]``# 格式:[开头:结束:步长]``print(lst[1:3:1]) # [2,3]``s = slice(1, 3, 1) # 切片``print(lst[s]) # [2,3]
2.1.3序列-字符串
-
str() 将数据转化成字符串
-
format() 格式化函数
print(str(123)+'456') #123456`` ``# 不设置指定位置,按默认顺序``print("{} {}".format("hello", "world")) # 'hello world'``# 设置指定位置``print("{1} {0} {1}".format("hello", "world")) # 'world hello world'
-
bytes() 把字符串转化成bytes类型
-
bytearray() 返回一个新字节数组. 这个数字的元素是可变的, 并且每个元素的值的范围是[0,256)
bs = bytes("今天吃饭了吗", encoding="utf-8")``print(bs) # b'\xe4\xbb\x8a\xe5\xa4\xa9\xe5\x90\x83\xe9\xa5\xad\xe4\xba\x86\xe5\x90\x97'`` ``ret = bytearray("alex" ,encoding ='utf-8')``print(ret[0]) # 97``print(ret) # bytearray(b'alex')``ret[0] = 65 # 把65的位置A赋值给ret[0]``print(str(ret)) # bytearray(b'Alex')
-
ord() 输入字符找带字符编码的位置
-
chr() 输入位置数字找出对应的字符
-
ascii() 返回一个表示对象的字符串, 但是对于字符串中的非 ASCII 字符则返回通过 repr() 函数使用 \x, \u 或 \U 编码的字符
print(ord('a')) # 字母a在编码表中的码位:97``print(ord('中')) # '中'字在编码表中的位置:20013`` ``print(chr(65)) # 已知码位,求字符是什么:A``print(chr(19999)) # 丟`` ``for i in range(65536): #打印出0到65535的字符` `print(chr(i), end=" ")`` ``print(ascii("hello")) # 'hello'``print(ascii("你好")) # '\u4f60\u597d'
- repr() 返回一个对象的string形式
s = "今天\n吃了%s顿\t饭" % 3``print(s) # 今天# 吃了3顿 饭``print(repr(s)) # 原样输出,过滤掉转义字符 \n \t \r,不管百分号%``#'今天\n吃了3顿\t饭'
2.2数据集合
-
字典:dict 创建一个字典
-
集合:set 创建一个集合
-
集合:frozenset() 创建一个冻结的集合,冻结的集合不能进行添加和删除操作。
2.3相关内置函数
-
len() 返回一个对象中的元素的个数
-
sorted() 对可迭代对象进行排序操作
# 语法:sorted(Iterable, key=函数(排序规则,一般有lambda函数), reverse=False)``lst = [5,7,6,12,1,13,9,18,5]``lst.sort() # sort是list里面的一个方法``print(lst) # [1, 5, 5, 6, 7, 9, 12, 13, 18]`` ``ll = sorted(lst) # 内置函数. 返回给你一个新列表 新列表是被排序的``print(ll) # [1, 5, 5, 6, 7, 9, 12, 13, 18]`` ``l2 = sorted(lst,reverse=True) # 倒序``print(l2) # [18, 13, 12, 9, 7, 6, 5, 5, 1
# 根据字符串长度给列表排序``lst = ['one', 'two', 'three', 'four', 'five', 'six']``l1 = sorted(lst, key = lambda x: len(x))``print(l1) # ['one', 'two', 'six', 'four', 'five', 'three']
- enumerate() 获取集合的枚举对象
lst = ['one','two','three','four','five']``for index, el in enumerate(lst,1): # 把索引和元素一起获取,索引默认从0开始. 可以更改` `print(index)` `print(el)``# 1``# one``# 2``# two``# 3``# three``# 4``# four``# 5``# five
-
all() 可迭代对象中全部是True, 结果才是True
-
any() 可迭代对象中有一个是True, 结果就是True
print(all([1,'hello',True,9])) # True``print(all([1,'',True,9])) # False``print(any([0,0,0,False,1,'good'])) #True
- zip() 函数用于将可迭代的对象作为参数, 将对象中对应的元素打包成一个元组, 然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致, 则返回列表长度与最短的对象相同
lst1 = [1, 2, 3, 4, 5, 6]``lst2 = ['醉乡民谣', '驴得水', '放牛班的春天', '美丽人生', '辩护人', '被嫌弃的松子的一生']``lst3 = ['美国', '中国', '法国', '意大利', '韩国', '日本']``print(zip(lst1, lst1, lst3)) # <zip object at 0x00000256CA6C7A88>``for el in zip(lst1, lst2, lst3):` `print(el)``# (1, '醉乡民谣', '美国')``# (2, '驴得水', '中国')``# (3, '放牛班的春天', '法国')``# (4, '美丽人生', '意大利')``# (5, '辩护人', '韩国')``# (6, '被嫌弃的松子的一生', '日本')
- fiter() 过滤
# 语法:fiter(function, iterable)``# function:用来筛选的函数,在filter中会自动的把iterable中的元素传递给function,然后根据function返回的True或者False来判断是否保留留此项数据``# Iterable:可迭代对象``# 判断奇数``def func(i):` `return i % 2 == 1` `lst = [1,2,3,4,5,6,7,8,9]``l1 = filter(func, lst) #l1是迭代器``print(list(l1)) #[1, 3, 5, 7, 9]`` ``# 通常配合lambda函数使用
- map() 会根据提供的函数对指定序列列做映射
# 语法 : map(function, iterable)``# 可以对可迭代对象中的每一个元素进行遍历,分别去执行 function``lst = [1,2,3]``it = map(lambda x:x*x, lst) # [1,4,9]
3 作用域相关
-
locals() 返回当前作用域中的名字
-
globals() 返回全局作用域中的名字
def func():` `a = 10` `print(locals()) # 当前作用域中的内容` `print(globals()) # 全局作用域中的内容` `print("今天干货满满")``func()`` ``# {'a': 10}``# {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__':` `# <_frozen_importlib_external.SourceFileLoader object at 0x0000026F8D566080>,` `# '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins'` `# (built-in)>, '__file__': 'D:/pycharm/练习/week03/new14.py', '__cached__': None,``# 'func': <function func at 0x0000026F8D6B97B8>}``# 今天干货满满
4 迭代器与生成器
-
range() 生成数据
-
next() 迭代器向下执行一次, 内部实际使⽤用了__ next__()⽅方法返回迭代器的下一个项目
-
iter() 获取迭代器, 内部实际使用的是__ iter__()⽅方法来获取迭代器
for i in range(15,-1,-5):` `print(i)``# 15``# 10``# 5``# 0``lst = [1,2,3,4,5]``it = iter(lst) # __iter__()获得迭代器``print(it.__next__()) # 1``print(next(it)) # 2 __next__()` `print(next(it)) # 3``print(next(it)) # 4
5 字符串类型代码的执行
-
eval() 执行字符串类型的代码,并返回最终结果
-
exec() 执行字符串类型的代码
-
compile() 将字符串类型的代码编码,代码对象能够通过exec语句来执行或者eval()进行求值
s1 = input("请输入a+b:") #输入:8+9``print(eval(s1)) # 17 可以动态的执行代码. 代码必须有返回值``s2 = "for i in range(5): print(i)"``a = exec(s2) # exec 执行代码不返回任何内容`` ``# 0``# 1``# 2``# 3``# 4``print(a) #None`` ``# 动态执行代码``exec("""``def func():` `print(" 我是周杰伦")``""" )``func() #我是周杰伦`` ``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) #hello
6 输入输出
-
print() : 打印输出
-
input() : 获取用户输出的内容
print("hello", "world", sep="*", end="@") # sep:打印出的内容用什么连接,end:以什么为结尾``#hello*world@`` ``x = input() # 接受一个标准输入数据,返回为字符串类型
7 内存相关
- hash() : 获取到对象的哈希值(int, str, bool, tuple)
s = 'Alex'``print(hash(s)) # -5458429090372464095
8 文件操作
- open() : 用于打开一个文件,可进行增删查改等操作
f = open('file',mode='r',encoding='utf-8')``f.read()``f.close()
9 模块相关
- import : 用于动态加载类和函数,__ import__() 方法
# 导入pandas包``import pandas
10 帮助
- help() : 函数用于查看函数或模块用途的详细说明
print(help(str)) #查看字符串的用途
11 调用
- callable() : 用于检查一个对象是否是可调用的,如果返回True,object有可能调用失败;如果返回False,那调用绝对不会成功
a = 10``print(callable(a)) #False 变量a不能被调用``#``def f():` `print("hello")` `print(callable(f))` `f() # helle True 函数是可以被调用的
12 查看内置属性
- dir() : 查看对象的内置属性, 访问的是对象中的__dir__()方法
print(dir(list)) #查看列表的的内置属性`` ``# ['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort', '__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__']``# 可以看到一个对象的所有属性,help会打印每种属性的具体内容
题外话
感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。
👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
工具都帮大家整理好了,安装就可直接上手!
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试宝典
简历模板![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e609d9de17e680ccba27f351612a0860.png#pic_center)
👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)
若有侵权,请联系删除