python 包含函数_python之内置函数

作用域相关 *****

globals(): 返回一个字典:包含全部的全局变量。

locals() :返回一个字典:包含的是当前作用域的所有的变量

#b = 2#def func():#a = 1#print(locals())#print(globals())#

#func()

View Code

字符串类型代码的执行 eval, exec, compile 不建议使用***

eval: 执行字符串类型的代码,并返回最终结果

1 s1 = '1+2+3'

2 print(s1) #1+2+3

3 print(eval(s1),type(eval(s1))) #6

4 s2 = "{'name':'alex'}"

5 print(eval(s2),type(eval(s2))) #{'name': 'alex'}

View Code

exec:执行字符串类型的代码,不返回结果。 代码流

1 s3 = '''for i in range(3):2 print(i)3 '''

4 #print(exec(s3))

5 exec(s3)

View Code

compile: 将字符串类型的代码编译。代码对象能够通过eval或exec进行求值

输入输出相关 input ,print *****

input: 函数接受一个标准输入数据,返回为string类型

print:打印输出

1 print(*[1,2,3]) #1 2 3

2 def func2(*args): #函数的定义:*聚合

3 print(*args) #(*(1,2,3)) 函数的执行: *打散 print(1,2,3)

4

5

6 func2(1,2,3) #1 2 3

7

8 #sep 打印多个内容时 分隔符默认是空格

9 print(1,2,3,sep='|') #1|2|3

10 #end 默认换行

11 print(1, end=' ')12 print(222)13 #file

14 with open('t1', encoding='utf-8',mode='w') as f:15 print(666,file=f)

View Code

内存相关hash id ***

hash:获取一个对象(可哈希对象:int,str, bool, tuple)的哈希值

id:获取该对象的内存地址

hash()

字典:会将你所有的key在内存中转化成id

1 dic = {'name':'alex', 'sdkfdsg':'123'}2 print(hash('name')) #对于字符串的内存地址为,等长度的地址

3 print(hash('hsdfjsdj'))4 print(hash(1))5 print(hash(888)) #对于数字就返回888

View Code

文件操作相关 *****

open:函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。

模块相关__import__ ***

__import__:函数用于动态加载类和函数 。

帮助**

help:函数用于查看函数或模块用途的详细说明

print(help(list))

调用相关***

callable:函数用于检查一个对象是否是可调用的。

如果返回True,object仍然可能调用失败;但如果返回False,调用对象ojbect绝对不会成功。

1 name = 'alex'

2 deffunc1():3 pass

4 print(callable(name)) #False

5 print(callable(func1)) #True

View Code

查看内置属性 ***

dir:函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__di

该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。

name = 'alex'

print(dir(name))

range:函数可创建一个整数对象,一般用在 for 循环中。

python2x:range(3)--->[0, 1, 2]

xrange(3)--->迭代器

python3x:range(3)--->range(0, 3) 可迭代对象

next:内部实际使用了__next__方法,返回迭代器的下一个项目。

iter:函数用来生成迭代器(讲一个可迭代对象,生成迭代器)。

进制转换:

bin:将十进制转换成二进制并返回。

oct:将十进制转化成八进制字符串并返回。

hex:将十进制转化成十六进制字符串并返回。

print(bin(100)) # 0b1100100

print(oct(100)) # 0o144

print(oct(7)) # 0o7

print(oct(8)) # 0o10

print(hex(100)) # 0x64

print(hex(10)) # 0xa

数学运算:

abs:函数返回数字的绝对值。

divmod:计算除数与被除数的结果,返回一个包含商和余数的元组(a // b, a % b)。

round:保留浮点数的小数位数,默认保留整数。

pow:求x**y次幂。(三个参数为x**y的结果对z取余)

print(divmod(12,5))

print(round(3.141592653,5))

print(pow(2,5))

print(pow(2,5,12))

sum:对可迭代对象进行求和计算(可设置初始值)。

min:返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值)。

max:返回可迭代对象的最大值(可加key,key为函数名,通过函数的规则,返回最大值)。

1 print(min([1,-2,3,-8,101], key=abs)) #导入函数

2

3

4 l = [('alex',1000),('taibai',18),('wuris',500)] #求出最小年龄的元组

5 #方法一:

6 #min1 = min([i[1] for i in l])

7 #for i in l:

8 #if i[1]==min1:

9 #print(i)

10

11 #方法二:

12 deffunc(x):13 return x[1]14 print(min([('alex',1000),('taibai',18),('wuris',500)], key=func))15 '''

16 1. 他会将iterable的每一个元素当作函数的参数传进去17 2. 他会按照返回值去比较大小。18 3. 返回的是遍历的元素 x19 '''

20

21 dic2 = {'a':3,'b':2,'c':1}22 #def func3(x):

23 #return dic2[x]

24 #print(min(dic2,key=func3))

25

26 deffunc4(x):27 return x[1]28 print(min(dic2.items(),key=func4))

求最小值

列表和元祖(2)

list:将一个可迭代对象转化成列表(如果是字典,默认将key作为列表的元素)。

tuple:将一个可迭代对象转化成元祖(如果是字典,默认将key作为元祖的元素)。

相关内置函数(2)

reversed:将一个序列翻转,并返回此翻转序列的迭代器。 字典不能翻转*****

slice:构造一个切片对象,用于列表的切片。***

1 l1 = [1, 2, 4, 5, 6]2 print(reversed(l1)) #得到的是迭

3 s1 = 'qwer'

4 for i inreversed(s1):5 print(i)6 字典不能翻转7 l1 = [i for i in range(10)]8 l2 = l1[:5:2]9 l3 = [i for i in range(10, 2

10 sli_obj = slice(0, 5, 2)11 print(l3[sli_obj])12 l4 = ['a', 'b', 'c', 'd', 'e

13 print(l4[sli_obj])

View Code

字符串相关(9)

str:将数据转化成字符串。

format:与具体数据相关,用于计算各种小数,精算等。**

1 print(format('test', '<20')) #左对齐

2 print(format('test', '>20')) #右对齐

3 print(format('test', '^20')) #居中

View Code

bytes:unicode --->bytes 类型 ****

1 a1 = '太白'

2 print(a1.encode('utf-8')) #b'\xe5\xa4\xaa\xe7\x99\xbd'

3 print(a1.encode('utf-8').decode('utf-8')) #太白

4 a1 = '太白'

5 b1 = bytes(a1, encoding='utf-8')6 print(b1)

View Code

ord:输入字符找该字符编码的位置 unicode **

chr:输入位置数字找出其对应的字符 **

ascii:是ascii码中的返回该值,不是就返回他在Unicode的位置(16进制) **

1 print(ord('a'))2 print(ord('中'))3 print(chr(97))4 print(chr(20013))5 print(ascii('a'))6 print(ascii('中')) #'\u4e2d'

View Code

repr:返回一个对象的string形式(原形毕露)。*****

1 print(repr('alex, x'))2 print(repr("{'alex': 'sb'}"))3 '''

4 repr() jason pickle 序列化模块 特殊字符串,python字符串的区别5 '''

View Code

格式化输出%rr

1 msg = 'alex 是%s 的人' % ('德高望重')2 print(msg)3 #格式化输出%rr

4 msg = 'alex 是%r 的人' % ('德高望重')5 print(msg)

View Code

dict:创建一个字典。

set:创建一个集合。

frozenset:返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。

相关内置函数(8)

len:返回一个对象中元素的个数。

sorted:对所有可迭代的对象进行排序操作。*****

1 l1 = [1, 6, 3, 7, 7, 3, 8, 0]2 #l1.sort() # 原列表改变

3 #print(l1)

4 print(sorted(l1)) #形成了新列表

5 print(l1) #原列表不变

6 l2 = [(1, 1000), (2, 18), (4, 250), (3, 500)]7 print(sorted(l2)) #按照元组第一个元素排序

8 deffunc(x):9 return x[1]10 print(sorted(l2, key=func)) #按照元组第二个元素排序

View Code

enumerate:枚举,返回一个枚举对象。

all:可迭代对象中,全都是True才是True ***多做条件判断

any:可迭代对象中,有一个True 就是True ***多做条件判断

1 l1 = [1, '', 5]2 print(all(l1))3 l2 = [1, 2, 5]4 print(all(l2))5 #6 print(any(l1))7 print(any(l2))

View Code

zip:函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,

然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。

拉链方法 将多个iter纵向组成一个元组(以最短为准)*****

1 l1 = [1, 2, 3, 4, 5, 6]2 tu1 = ('alex', '太白', 'wusir', '女神',)3 dic = {'name': '日天', 'age': 28, 'hobby': 'tea', 'job': 'IT'}4 print(zip(l1, tu1, dic)) #迭代器

5 for i inzip(l1, tu1, dic):6 print(i)

View Code

filter:过滤·。迭代器 *****

1 l1 = [i for i in range(10)]2 deffunc(x):3 return x % 2 ==04 print(list(filter(func, l1)))

View Code

map:会根据提供的函数对指定序列做映射。 循环模式

1 l1 = [1, 2, 3, 4]2 deffunc(x):3 return x**2

4 print(list(map(func, l1)))5 print([i**2 for i inl1])6 print([pow(i, 2) for i in l1])

View Code

*****

print() sum reversed

key :min max sorted filter zip

匿名函数 lambda 表达式 一行函数

普通函数 有且只有返回值的才可以用匿名函数进行简化。 一行函数

函数名 = lambda 函数的参数:函数的返回值

func = lambda x:x*2

def func(x):

return x*2

func = lambda x,y:x+y

print(func(2,3))

# 匿名函数 不单独使用,多与内置函数结合

dic={'k1':10,'k2':100,'k3':30}

#1,利用内置函数匿名函数将dic按照值进行排序。

print(dict(sorted(dic.items(), key=lambda x:x[1])))

l1 = [1,5,7,4,8]

# 利用内置函数匿名函数 计算列表的每个数的2倍。

print(list(map(lambda x:x*2,l1)))

l2 = [5,8,11,9,15]

# 利用内置函数匿名函数,将值大于10的留下来。

print(list(filter(lambda x:x>10,l2)))

# lambda 返回值可以放三元运算

func2 = lambda x: x if x > 2 else x * 2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值