你是否掌握了这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'

猜你喜欢

转载自blog.csdn.net/CSDN6706/article/details/130481180