python语法

1、“/”为浮点数除,“//”为整数除。

2、字典

设置默认值:

方法1:

1 dic = {}
2 dic['A'] = dic.get('A', 0) + 1

当字典不包含键‘A’时,get函数返回默认值0.

方法2:

1 dic = {}
2 dic.setdefault('A', 0)
3 dic['A'] += 1

当字典不包含键A时,setdefault函数将键A的值设为0;否则键A的值不变。

3、C++中的 ? : 实现方法:

1 prev.next = l1 if l1 is not None else l2

 4、is 和 == 区别:

is判断是否是同一个对象,==判断值是否相等。

当a 和 b赋予相同的值时,若值的类型为数值型或字符串型时,a is b 为 True,其它类型如list,set等为False。

参考:https://www.cnblogs.com/wangkun122/p/9082088.html

5、id(X):X的内存地址

6、生成器只能读取(迭代)一次:

1 x = (x*x for x in range(3))

x为生成器。

1 for i in x:
2     print(i)

上述代码若运行两次,第一次有输出,第二次无输出。

7、关键字 yield 返回生成器。

8、查找某元素a 是否在某集合或列表b中:

a in b

集合查找速度更快。

9、tqdm:

对迭代器显示进度条。

10、列表list前加 星号 “*”:

将list中的元素拆成独立的元素传入函数。

11、'{}sth{}'.format(a, b)

12、列表":"的使用:

a[b:c:d],b为开始下标,c为结束下标加一,d为步长。

如:a[1:4:2],a[::-1]为a的倒序(负号表示倒序)。注意a[1:4:-1]是不对的,因为1到4只能正序。

13、getattr与setattr:

使用方法分别为:getattr(对象, 'attr')和setattr(对象,'attr',new_value)。

attr为对象所属的类的一个属性,注意要用字符串形式,例如:

14、元组tuple的相加:

+操作将两个元组拼接,例如:

15、计算程序运行时间

1 import time
2 time1 = time.time()
3 func()
4 time2 = time.time()
5 print('time used:{} seconds'.format(time2 - time1))

这样可以计算以为单位的运行时间。

16、引用同级目录下的一个函数的对象

例如同级目录下有一个resnet.py函数,里面有ResNet类,有resnet50函数,

可以写:

1 from .resnet import ResNet
2 from .resnet import resnet50

注意那个“.”

17、argparse:

action='store_true':

表示加了这个选项则该属性为TRUE,例如:

1 parser.add_argument('--test_only', action='store_true',
2                     help='set this option to test the model')

那么当加上 --test_only 选项时,test_only属性就为TRUE。

18、类似的变量赋值可写在同一行:

例如:

1 x, y = 3, 4
2 h, w = img.shape[0:2]

 19、字符串子串查找:

直接用  a in b 或者 a not in b 就可以。

20、定义只包含一个元素的元组

注意加逗号!!

原文地址:https://www.cnblogs.com/lxc1910/p/10205501.html