python3的一些常见问题和注意事项

python函数默认参数的注意事项

几种情况:
func(p1,p2,/,p3,*,p4)
"/"和"\*": 有前后级关系,"/"的出现必须在"*"之前;
"/": 代表着它之前的参数项为仅限位置传递,出现在它之后的参数项则表示**可以是位置也可以关键字来**传递参数;
"\*": 代表着它之后的参数项为仅限关键字来传递参数。

示例:
 def func(p1,p2,/,p3,*,p4)
调用方式:
 func(1,2,3,p4=4)
 func(1,2,p3=3,p4=4)

 python3的『序列』数据类型包括以下3种:
1. list 
列表是可变序列,通常用于存放同类项目的集合(其中精确的相似程度将根据应用而变化)
例:[1,*,*,3]
 2. tuple
元组是不可变序列,通常用于储存异构数据的多项集(例如由 enumerate() 内置函数所产生的二元组)。 元组也被用于需要同构数据的不可变序列的情况(例如允许存储到 set 或 dict 的实例)。
例:((2,34,432,2,1,5),(2,34,1,5))  2,34,5,34  (2,2,43,2,4)
 3. range
range 类型表示不可变的数字序列,通常用于在 for 循环中循环指定的次数。
例:range(3,6)

python3函数的参数中星号(*)和双星号(**)的区别 

python3中带(*)的注意点:
        函数(*(元组))
        函数(**{字典})
如下例子:
       function(*("hello", "world"))
       function(*(1, 2 ,3))
       function(**{"aa":1111, "bb": "2222"}) 

python3中filter,map内置函数的使用注意方法

 **lambda** 语法糖
用法:a = lambda x: x*x  // 表示『:』之前的x为函数参数,『:』之后的x*x为函数体
----------
**filter**(function/None,iterable) 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。**如果要赋给另一个变量,得使用list()来转换,否则只会是一个临时的迭代器对象。**
该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
例:p = [1,3,5,6,7,8]
   temp = filter(lambda x: x<6, p) // temp为临时对象,读取一次后对象会清空
   p2 = list(temp)  
----------
**map**(function, *iterable) 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
**使用方法和注意事项同上**

python代码中函数的文档字符串标注

函数中的文档字符串的输入和输出,例:
def f():
    """hello world
    (这里空一行)
    hello world,are you OK?"""
    pass

>>> print(f.__doc__)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值