你是否掌握了这30个Python基础代码?

1 求绝对值

绝对值或复数的模

In [1]: abs(-6)Out[1]: 6

2 元素都为真

接受一个迭代器,如果迭代器的所有元素都为真,那么返回True,否则返回False

In [2]: all([1,0,3,6])Out[2]: False In [3]: all([1,2,3])Out[3]: True

3 元素至少一个为真 

接受一个迭代器,如果迭代器里至少有一个元素为真,那么返回True,否则返回False

In [4]: any([0,0,0,[]])Out[4]: False In [5]: any([0,0,1])Out[5]: True

4 ascii展示对象  

调用对象的__repr__() 方法,获得该方法的返回值,如下例子返回值为字符串

In [1]: class Student():   ...:     def __init__(self,id,name):   ...:         self.id = id   ...:         self.name = name   ...:     def __repr__(self):   ...:         return 'id = '+self.id +', name = '+self.name   ...:    ...:  In [2]: xiaoming = Student(id='001',name='xiaoming') In [3]: print(xiaoming)id = 001, name = xiaoming In [4]: ascii(xiaoming)Out[4]: 'id = 001, name = xiaoming

5 十转二

十进制转换为二进制

In [1]: bin(10)Out[1]: '0b1010'

6 十转八

十进制转换为八进制

In [1]: oct(9)Out[1]: '0o11'

7 十转十六

十进制转换为十六进制


In [1]: hex(15)
Out[1]: '0xf'

​​​​​

判断是真是假  

测试一个对象是True, 还是False.

In [1]: bool([0,0,0])Out[1]: True In [2]: bool([])Out[2]: False In [3]: bool([1,0,1])Out[3]: True

9 字符串转字节  

将一个字符串转换成字节类型

In [1]: s = "apple" In [2]: bytes(s,encoding='utf-8')Out[2]: b'apple'

10 转为字符串  

字符类型数值类型等转换为字符串类型

​​​​​​​

In [1]: i = 100 In [2]: str(i)Out[2]: '100'

 11. 是否可调用  

判断对象是否可被调用,能被调用的对象就是一个callable 对象,比如函数 strint 等都是可被调用的,但是例子4 中xiaoming实例是不可被调用的:

​​​​​​​

In [1]: callable(str)Out[1]: True In [2]: callable(int)Out[2]: True In [3]: xiaomingOut[3]: id = 001, name = xiaoming In [4]: callable(xiaoming)Out[4]: False

如果想让xiaoming能被调用 xiaoming(), 需要重写Student类的__call__方法:

​​​​​​​

In [1]: class Student():    ...:     def __init__(self,id,name):    ...:         self.id = id    ...:         self.name = name    ...:     def __repr__(self):    ...:         return 'id = '+self.id +', name = '+self.name    ...:     def __call__(self):    ...:         print('I can be called')    ...:         print(f'my name is {self.name}')    ...:     ...:  In [2]: t = Student('001','xiaoming') In [3]: t()I can be calledmy name is xiaoming

12 十转ASCII

查看十进制整数对应的ASCII字符

In [1]: chr(65)Out[1]: 'A'

13 ASCII转十

查看某个ASCII字符对应的十进制数

In [1]: ord('A')Out[1]: 65

14 静态方法 

classmethod 装饰器对应的函数不需要实例化,不需要 self参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。

​​​​​​​

In [1]: class Student():    ...:     def __init__(self,id,name):    ...:         self.id = id    ...:         self.name = name    ...:     def __repr__(self):    ...:         return 'id = '+self.id +', name = '+self.name    ...:     @classmethod    ...:     def f(cls):    ...:         print(cls)

15 执行字符串表示的代码

将字符串编译成python能识别或可执行的代码,也可以将文字读成字符串再编译。

​​​​​​​

In [1]: s  = "print('helloworld')"    In [2]: r = compile(s,"<string>", "exec")    In [3]: rOut[3]: <code object <module> at 0x0000000005DE75D0, file "<string>", line 1>    In [4]: exec(r)helloworld

16 创建复数

创建一个复数

In [1]: complex(1,2)Out[1]: (1+2j)

17 动态删除属性  

删除对象的属性

​​​​​​​

In [1]: delattr(xiaoming,'id') In [2]: hasattr(xiaoming,'id')Out[2]: False

18.转为字典  

创建数据字典

In [1]: dict()Out[1]: {} In [2]: dict(a='a',b='b')Out[2]: {'a': 'a', 'b': 'b'} In [3]: dict(zip(['a','b'],[1,2]))Out[3]: {'a': 1, 'b': 2} In [4]: dict([('a',1),('b',2)])Out[4]: {'a': 1, 'b': 2}

19 一键查看对象所有方法 

不带参数时返回当前范围内的变量、方法和定义的类型列表;带参数时返回参数的属性,方法列表。


In [96]: dir(xiaoming)
Out[96]:
['__class__',
 '__delattr__',
 '__dict__',
 '__dir__',
 '__doc__',
 '__eq__',
 '__format__',
 '__ge__',
 '__getattribute__',
 '__gt__',
 '__hash__',
 '__init__',
 '__init_subclass__',
 '__le__',
 '__lt__',
 '__module__',
 '__ne__',
 '__new__',
 '__reduce__',
 '__reduce_ex__',
 '__repr__',
 '__setattr__',
 '__sizeof__',
 '__str__',
 '__subclasshook__',
 '__weakref__',
 
 'name']

20 取商和余数  

分别取商和余数

In [1]: divmod(10,3)Out[1]: (3, 1)

21 枚举对象  

返回一个可以枚举的对象,该对象的next()方法将返回一个元组。

In [1]: s = ["a","b","c"]    ...: for i ,v in enumerate(s,1):    ...:     print(i,v)    ...:1 a2 b3 c

22 计算表达式

将字符串str 当成有效的表达式来求值并返回计算结果取出字符串中内容

​​​​​​​

In [1]: s = "1 + 3 +5"    ...: eval(s)    ...:Out[1]: 9

23.查看变量所占字节数

​​​​​​​

In [1]: import sys In [2]: a = {'a':1,'b':2.0} In [3]: sys.getsizeof(a) # 占用240个字节Out[3]: 240

24 过滤器  

在函数中设定过滤条件,迭代元素,保留返回值为True的元素:

In [1]: fil = filter(lambda x: x>10,[1,11,2,45,7,6,13]) In [2]: list(fil)Out[2]: [11, 45, 13]

25.转为浮点类型 

将一个整数或数值型字符串转换为浮点数

In [1]: float(3)Out[1]: 3.0

如果不能转化为浮点数,则会报ValueError:

In [2]: float('a')ValueError                                Traceback (most recent call last)<ipython-input-11-99859da4e72c> in <module>()----> 1 float('a') ValueError: could not convert string to float: 'a'

26 字符串格式化 

格式化输出字符串,format(value, format_spec)实质上是调用了value的__format__(format_spec)方法。

In [104]: print("i am {0},age{1}".format("tom",18))i am tom,age18
3.1415926{:.2f}3.14保留小数点后两位
3.1415926{:+2f}+3.14带符号保留小数点后两位
-1{:+2f}-1.00带符号保留小数点后两位
2.71828{:.0f}3不带小数
5{:0>2d}05数字补零 (填充左边, 宽度为2)
5{:x<4d}5xxx数字补x (填充右边, 宽度为4)
10{:x<4d}10xx数字补x (填充右边, 宽度为4)
1000000{:,}1,000,000以逗号分隔的数字格式
0.25{:.2%}25.00%百分比形式
1000000000{:.2e}1.00e+09指数记法
18{:>10d}‘18’右对齐 (默认, 宽度为10)
18{:<10d}‘18’左对齐 (宽度为10)
18

{:^10d}

‘18’

中间对齐 (宽度为10)

 

 27 冻结集合  

创建一个不可修改的集合。

In [1]: frozenset([1,1,3,2,3])Out[1]: frozenset({1, 2, 3})

因为不可修改,所以没有像set那样的addpop方法

28 动态获取对象属性 

获取对象的属性

​​​​​​​

In [1]: class Student():   ...:     def __init__(self,id,name):   ...:         self.id = id   ...:         self.name = name   ...:     def __repr__(self):   ...:         return 'id = '+self.id +', name = '+self.name In [2]: xiaoming = Student(id='001',name='xiaoming')In [3]: getattr(xiaoming,'name') # 获取xiaoming这个实例的name属性值Out[3]: 'xiaoming'

29 对象是否有这个属性

​​​​​​​

In [1]: class Student():   ...:     def __init__(self,id,name):   ...:         self.id = id   ...:         self.name = name   ...:     def __repr__(self):   ...:         return 'id = '+self.id +', name = '+self.name In [2]: xiaoming = Student(id='001',name='xiaoming')In [3]: hasattr(xiaoming,'name')Out[3]: True In [4]: hasattr(xiaoming,'address')

30 返回对象的哈希值  

返回对象的哈希值,值得注意的是自定义的实例都是可哈希的,listdictset等可变对象都是不可哈希的(unhashable)

In [1]: hash(xiaoming)Out[1]: 6139638 In [2]: hash([1,2,3])TypeError                                 Traceback (most recent call last)<ipython-input-32-fb5b1b1d9906> in <module>()----> 1 hash([1,2,3]) TypeError: unhashable type: 'list'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序袁小子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值