python小技巧

看到这篇文章先别急着退,下面的一些小技巧绝对值得你去看看:

​​​​​​

1、Python数据类型

Python有5个基本数据类型:

  • 数字

  • 字符串

  • 列表

  • 元组

  • 字典

在Python3中所有的数据类型都被封装为类

 

2、Python基本运算符

Python有一个赋值运算符,称之为地板除://==

 

3、循环语句

Python支持while...else...和for...else...

 

4、列表

  • python2中range函数返回一个list,可以直接使用

  • python3中range函数返回一个range,需要转化为list才能使用

  • python3中不支持xrange函数

  • remove 和 del、pop的区别:

  1. remove参数为列表中的单个元素,删除首次出现的指定值

  2. del参数为list[index],删除list中指定index处的值

  3. pop参数为列表的索引,删除指定索引处的值,并返回这个值

  • 矩阵 != 二维数组,矩阵是一个数据元素有严格相同大小的二维数组

  • 列表的深浅赋值会导致一个多维列表的操作很麻烦,所以碰到这种情况不妨使用numpy.array类,如:

In [31]: l1 = [[0]*5]*5  
  
In [32]: l1  
Out[32]:  
[[0, 0, 0, 0, 0],  
 [0, 0, 0, 0, 0],  
 [0, 0, 0, 0, 0],  
 [0, 0, 0, 0, 0],  
 [0, 0, 0, 0, 0]]  
  
In [33]: l1[2][3] = 1  
  
In [34]: l1  
Out[34]:  
[[0, 0, 0, 1, 0],  
 [0, 0, 0, 1, 0],  
 [0, 0, 0, 1, 0],  
 [0, 0, 0, 1, 0],  
 [0, 0, 0, 1, 0]]  

此时,使用numpy.array

In [35]: from numpy import array

In [36]: l2 = array([[0]*5]*5)

In [37]: l2
Out[37]:
array([[0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0]])

In [38]: l2[2][3] = 1

In [39]: l2
Out[39]:
array([[0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0],
       [0, 0, 0, 1, 0],
       [0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0]])

 

5、元组

声明一个包含单个值的元组,即使只包含一个值,也必须使用逗号,如:t = (1,)

 

6、字典

键在字典中是唯一的,而值可以重复。字典中的值可以是任意类型,但键必须是不可变类型,例如:字符串、数字、元组。

 也就是说,可以这么声明一个字典:

d = {}
d[(1,2)] = 6

 

7、集合

  • 集合其实就是一个只有键没有值的字典

  • 集合中添加元素用:add()

  • 集合中删除元素用:discard()

  • 集合求并集,或者说两个集合相加:set1 | set2

  • 集合求交集:set1 & set2

  • 集合求差集:set1 - set2

  • 集合不支持切片操作

 

8、内置函数

  • python去除字符串中的空格非常建议使用:''.join(s.split()),这样,才能去掉:
  1. 普通空格:\x20

  2. 不间断空白符  :\xa0

  3. 全角的空白符:\u3000

  4. 当然,如果在知道是去掉普通空格可用s.replace(' ','')

  • 如果知道列表中只有一个元素,那么我们提取那个元素时尽量使 用''.join(list),而不是list[0]
  1. 原因:比如我们有时使用正则表达式提取数据时返回一个列表,有的时候由于文本中没有那些值变回返回一个空列表,此时使用 list[0]就会报错,而使用''.join(list)就会返回一个空字符串。
  • str.strip()函数不仅仅是删除两边的空格,还可以删除两边指定 的值哦,这一点非常好用,如:
  1. x = 'abc' 
    x = x.strip('ab')
  • sort函数不能自定义排序规则,而sorted函数可以。其中在使用sorted函数时,有一点要注意:
  1. sorted(ls,lambda x:x[0])         # 这样是错误的
    sorted(ls,key = lambda x:x[0])   # 必须要带关键字key才行

     

 

  • Python2有raw_input和input,两者用法不同。Python3只有input函数
  • Python2中,print是一个关键字,后接一个逗号就可以实现不换 行打印

    Python3中,print是一个函数,实现不换行需要end参数

 

9、函数

python的函数参数有5种,分别是:

位置参数、默认参数、可变参数、关键字参数、命名关键字参数

  • 位置参数:quadratic(a, b, c)
  • 默认参数:personinfo(name, age, gender = 'Female'),默认参数必须在最右端
  • 可变参数:getsum(*num)
  • 关键字参数:personinfo(name, age, **kw)
  • 命名关键字参数:personinfo(name, age, *, gender, city)

 

10、面向对象

  • _xx:以单下划线开头的表示的是protected类型的变量
  • __xx:双下划线表示的是私有类型的变量。
  • __xx__:定义的是特例方法。

 

11、一些小技巧

  • 使用链式判断

    score = 82
    if 80 <= score < 90:
        level = 'B'
    print(level)

     

  • 使用关键字in 

    num = 1
    if num in (1, 3, 5):
        type = '奇数'
    print(type)

     

  • 使用any和all语句 

    math, English, computer = 90, 59, 88
    if any([math < 60, English < 60, computer < 60]):
        print('not pass')

     

  • 使用enumerate函数代替range(len(L)) 

    L = ['math', 'English', 'computer', 'Physics']
    for k, v in enumerate(L):
        print(k, ':', v)

     

好了,分享就到这里了,上面的小知识点你有多少知道的呢?

如果有什么好的小技巧,可以在下方进行评论哦!

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值