~~函数基础(五):内置函数~~

进击のpython

*****

内置函数


内置函数,就是python自带的函数,print()就是函数

函数嘛,那就跟我们自己创建的函数一样

想要用,先声明

都有什么函数呢?


Built-in Functions
abs() delattr() hash() memoryview() set()
all() dict() help() min() setattr()
any() dir() hex() next() slice()
ascii() divmod() id() object() sorted()
bin() enumerate() input() oct() staticmethod()
bool() eval() int() open() str()
breakpoint() exec() isinstance() ord() sum()
bytearray() filter() issubclass() pow() super()
bytes() float() iter() print() tuple()
callable() format() len() property() type()
chr() frozenset() list() range() vars()
classmethod() getattr() locals() repr() zip()
compile() globals() map() reversed() __import__()
complex() hasattr() max() round()

woc???69个函数??这么多????

别着急啊,你仔细看就会发现,很多函数我们或多或少都用过一两次了

再加上还有些不主要的,其实正常的用的基本上没多少

咋的!就算是多,你不学啊!

P话不多说,开始搞黄色函数!


abs()    # 求绝对值
all()    # 传入可迭代的对象(列表),每个元素都是True,才返回True
any()    # 传入可迭代的对象(列表),有元素是True,就返回True
ascii()  # 返回对象的ASCII码
bin()    # 输出数字二进制
bool()   # 判断True&False 空的列表,集合,元组,字典,0,都是False
# bytearray
# 字符串是字符的集合(讲字符串的基本操作的时候说过)
# 所以你可以像操作列表(元素的集合)一样的操作字符串
# 但是字符串是不可变类型
# 也就意味着不可修改
# 那我要是真的想修改“中国”的“中”
# 怎么办呢?
# 那我们就要回归到字符的本质——字节
print(bytes("中国", encoding="gbk"))  # b'\xd6\xd0\xb9\xfa'
# 那我们想修改中这个字,就是其实想要修改\xd6\xd0
# 但是无法直接修改
# 所以,可以通过 byteearray 将转换的字节变成一个列表
# 毕竟列表是可以修改的
print(bytearray("中国", encoding="gbk")) 
# bytearray(b'\xd6\xd0\xb9\xfa')

# 接下来就可以修改了
a = bytearray("中国", encoding="gbk")
a[1] = 200
print(a)                                  
# bytearray(b'\xd6\xc8\xb9\xfa')
print(a.decode("gbk"))                    # 秩国

# 这样就达到了修改的目的
callable()     # 判断是否可以调用 现在用不上,到时候再说
chr()          # 返回一个数字对应的ASCII字符
classmethod()  # 面向对象,现在忽略
compile()      # 忽略
complex        # 复数,一般用不到
copyright()    # 没用
credits()      # 没用
delattr()      # 面向对象,现在忽略
dict()         # 生成一个空dict
dir()          # 返回对象的可调用属性
divmod()       # 返回除法的商和余数 divmod(5,2) 结果:(2,1)
# enumerate() # 返回列表的索引和元素

li = ["我", "是", "你", "爸", "爸"]

a = enumerate(li)  # <enumerate object at 0x05679B98>

for i in a:
    print(i)

# eval()
# 其实我们现在写的这些代码,在计算机里都是一个个的字符
# 然后python解释器将各种字符转换成各种类型,列表,字典
# 那我们要是想自己把字符转换成别的类型,怎么办呢?

name = ["我", "是", "你", "爸", "爸"]
f = open("text", "w")
f.write(str(name))  # 计算机只能写进去字符串,不能写进去列表
f.close()

f = open("text", "r")
s = f.read()        # <class 'str'>
print(s[2])         # 结果:我  但是我想拿到的是 你 所以就可以用eval()函数
print(eval(s)[2])   # 结果:你  这样就是将字符串转换成列表,然后进行调用! 
exec()        # 把字符串格式的代码进行执行 exec('print("我是exec函数打印的")')
exit()        # 退出程序
filter()      # 对列表(可迭代对象)进行对象过滤
              # for i in filter(lambda x:x>5,[2,4,6,8,10]):print(i) 输出:6 8 10
float()       # 转换成浮点
format()      # 没有
frozenset()   # 把一个集合变成不可修改的
getattr()     # 面向对象,现在忽略
globals()     # 打印全局变量作用域里的值
hasattr()     # 面向对象,现在忽略
hash()        # hash函数
help()
hex()         # 返回一个十进制的十六进制的表现形式
id()          # 查看对象内存地址
input()
int()
isinstance()  # 判断数据结构类型 isinstance(a,fronzenset)
issubclass()  # 面向对象,现在忽略
iter()        # 迭代器(讲了就明白了,凑弟弟)
len()
list()
locals()
map()         # 我讲过!
max()
memoryview()  # 一般人不用,你别艮 大神请忽略
min()
next()        # 生成器用,现在忽略
object()      # 面向对象,现在忽略
oct()         # 返回十进制的八进制表示
open()
ord()         # 返回ASCII的字符对应的十进制数
print()
property()    # 面向对象,现在忽略
quit()
range()
repr()        # 没什么用
reversed()    # 列表反转
round()       # 可以把小数进行四舍五入 round(10.15,1)
set()
setattr()     # 面向对象,现在忽略
slice()       # 没什么用
sorted()
staticmethod() # 面向对象,现在忽略
str()
sum()
super()       # 面向对象,现在忽略
tuple()
type()
vars()        # 面向对象,现在忽略
zip()         # 拼接列表

              # a = [1,2,3,4]
              # b = ["a","b","c","d"]
              # list(zip(a,b))

就这些东西,其实大部分就看出来

很大的一部分都是面向对象的

所以说,面向对象是函数的重中之重!

后面,才是真正的硬骨头!


*面向对象*
*必须拿下*
posted @ 2019-07-11 00:00  吃夏天的西瓜  阅读(382)  评论(0编辑  收藏  举报