找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 268|回复: 5

[求助] python 方法参数中*代表什么?

1

主题

3

帖子

3

积分

贫民

积分
3
Lawes 发表于 2019-9-19 09:37:51 | 显示全部楼层 |阅读模式
class A(object):    def foo1(self, a=None, *, b=False):        print(a)        print(b)        print(1111)    def foo2(self, a=None, b=False):        print(a)        print(b)        print(1111)a = A()a.foo1(a='a', b='xxx')a.foo2(a='a', b='xxx')foo1 和 foo2 有什么区别?foo1 中的 * 如何使用?为什么不会报错?
回复

使用道具 举报

1

主题

3

帖子

3

积分

贫民

积分
3
Lawes  楼主| 发表于 2019-9-19 09:43:13 | 显示全部楼层
本帖最后由 Lawes 于 2019-9-19 09:44 编辑
  1. class A(object):

  2.     def foo1(self, a=None, *, b=False):
  3.         print(a)
  4.         print(b)
  5.         print(1111)

  6.     def foo2(self, a=None, b=False):
  7.         print(a)
  8.         print(b)
  9.         print(1111)

  10. a = A()
  11. a.foo1(a='a', b='xxx')
  12. a.foo2(a='a', b='xxx')
复制代码
回复 支持 反对

使用道具 举报

1

主题

3

帖子

3

积分

贫民

积分
3
Lawes  楼主| 发表于 2019-9-19 09:51:07 | 显示全部楼层
foo1 和 foo2 有什么区别?foo1 中的 * 如何使用?为什么不会报错?
回复 支持 反对

使用道具 举报

0

主题

526

帖子

526

积分

骑士

积分
526
sheeboard 发表于 2019-9-19 14:18:45 | 显示全部楼层
表示*后面要用字典传参数。
Screenshot from 2019-09-19 14-17-51.png
回复 支持 反对

使用道具 举报

0

主题

1

帖子

1

积分

贫民

积分
1
alexru298 发表于 2019-9-25 21:17:57 | 显示全部楼层
  1. class A():
  2.     def fool(self,a=None,b=False):
  3.         print(a)
  4.         print(b)
  5.     def foo2(self,a=None,*,b=False):
  6.         print(a)
  7.         print(b)
  8. a.fool('a','xxx')
  9. a.foo2('a',b='xxx')
  10. a.foo2('a','xxx')
复制代码

  1. C:\Users\rusongwei\venv\Scripts\python.exe C:/Users/rusongwei/Desktop/play.py
  2. Traceback (most recent call last):
  3.   File "C:/Users/rusongwei/Desktop/play.py", line 8, in <module>
  4.     a.fool('a','xxx')
  5. NameError: name 'a' is not defined

  6. 进程已结束,退出代码 1
复制代码
回复 支持 反对

使用道具 举报

0

主题

526

帖子

526

积分

骑士

积分
526
sheeboard 发表于 2019-9-26 09:15:21 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表