鱼C论坛

 找回密码
 立即注册
查看: 2691|回复: 4

37讲类和对象,动动手操作答案求解--类的实例化\参数

[复制链接]
发表于 2016-6-24 17:08:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. class MyClass:
  2.         name = 'FishC'
  3.         def myFun(self):
  4.                 print("Hello FishC!")
  5.                
  6. >>> MyClass.name
  7. 'FishC'
  8. >>> MyClass.myFun()
  9. Traceback (most recent call last):
  10.   File "<pyshell#6>", line 1, in <module>
  11.     MyClass.myFun()
  12. TypeError: myFun() missing 1 required positional argument: 'self'
  13. >>>
复制代码


未实例化的类对象,直接调用方法,如果给self参数的话,如何修改一下

  1. MyClass.myFun(self)
复制代码

这样写会报错,需要怎么样添加self参数,而不采取下边类实例化的方式

一定要先把类实例化吗?
  1. >>>M=MyClass()
  2. >>>M.myFun()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-6-24 22:31:26 | 显示全部楼层
self参数是为了传递给实例化对象,如果不生成实例化对象,把类定义改一下:
  1. >>> class MyClass:
  2.         name = 'FishC'
  3.         def myFun():
  4.                 print("Hello FishC!")

  5.                
  6. >>> MyClass.myFun()
  7. Hello FishC!
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-6-27 15:16:30 | 显示全部楼层
冬雪雪冬 发表于 2016-6-24 22:31
self参数是为了传递给实例化对象,如果不生成实例化对象,把类定义改一下:

亲,谢谢回答,不过这里还有个问题
定义函数的时候,不带self参数,会有其他影响吗?
如果这个函数需要带参数的话,怎么处理啊?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-6-27 16:15:05 | 显示全部楼层
selam 发表于 2016-6-27 15:16
亲,谢谢回答,不过这里还有个问题
定义函数的时候,不带self参数,会有其他影响吗?
如果这个函数需要 ...

生成实例化对象必须带self,所以还是不要不生成实例化对象而直接调用为好。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-6-27 17:28:20 | 显示全部楼层
冬雪雪冬 发表于 2016-6-27 16:15
生成实例化对象必须带self,所以还是不要不生成实例化对象而直接调用为好。

恩 好的  
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-21 11:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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