记录python常用操作

记录python常用操作

    • 基本常识
    • 基本操作
      • any
      • *args与**kwargs

基本常识

iterable: 元组或列表。

基本操作

any

any()函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。
iterable: 元组或列表。

>>>any(['a', 'b', 'c', 'd'])  # 列表list,元素都不为空或0
True
 
>>> any(['a', 'b', '', 'd'])   # 列表list,存在一个为空的元素
True
 
>>> any([0, '', False])        # 列表list,元素全为0,'',false
False
 
>>> any(('a', 'b', 'c', 'd'))  # 元组tuple,元素都不为空或0
True
 
>>> any(('a', 'b', '', 'd'))   # 元组tuple,存在一个为空的元素
True
 
>>> any((0, '', False))        # 元组tuple,元素全为0,'',false
False
  
>>> any([]) # 空列表
False
 
>>> any(()) # 空元组
False

*args与**kwargs

参考:https://blog.csdn.net/yilovexing/article/details/80577510
使用场景是:预先并不知道, 函数使用者会传递多少个参数给你, 所以在这个场景下使用这两个关键字。

  • *args 表示任何多个无名参数,它本质是一个 tuple
  • *kwargs 表示关键字参数,它本质上是一个 dict
    如果同时使用 *args 和 **kwargs 时,必须 *args 参数列要在 **kwargs 之前。
>>> def fun(*args, **kwargs):
...     print('args=', args)
...     print('kwargs=', kwargs)
... 
>>> fun(1, 2, 3, 4, A='a', B='b', C='c', D='d')
args= (1, 2, 3, 4)
kwargs= {
     'A': 'a', 'B': 'b', 'C': 'c', 'D': 'd'}

如果函数的形参是定长参数,也可以使用 *args**kwargs 调用函数,类似对元组和字典进行解引用:

>>> def fun(data1, data2, data3):
...     print("data1: ", data1)
...     print("data2: ", data2)
...     print("data3: ", data3)
... 
>>> args = ("one", 2, 3)
>>> fun(*args)
data1:  one
data2:  2
data3:  3
>>> kwargs = {
     "data3": "one", "data2": 2, "data1": 3}
>>> fun(**kwargs)
data1:  3
data2:  2
data3:  one

你可能感兴趣的:(python,深度学习,NLP,python,深度学习)