Python的68个内置函数

截止到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会打印每种属性的具体内容
---------------------------END---------------------------

题外话

在这里插入图片描述

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

若有侵权,请联系删除

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值