python--类的构造方法和私有属性

举报
brucexiaogui 发表于 2021/12/30 01:39:29 2021/12/30
【摘要】 python--类的构造方法和私有属性   '''self是什么?self是当前类的对象本身。和java中的this功能一样。''' class Ball: def setName(self,name): self.name = name def kick(self): print...

python--类的构造方法和私有属性

 


  
  1. '''
  2. self是什么?
  3. self是当前类的对象本身。和java中的this功能一样。
  4. '''
  5. class Ball:
  6. def setName(self,name):
  7. self.name = name
  8. def kick(self):
  9. print('我是%s'% self.name)
  10. a = Ball()
  11. a.setName('王明')
  12. a.kick()
  13. # __init__(self) 类的构造函数
  14. class Ball:
  15. def __init__(self,name): #重写构造函数,添加一个参数。变为有参构造方法
  16. self.name = name
  17. def kick(self):
  18. print('我是%s'% self.name)
  19. b = Ball('王华')
  20. b.kick()
  21. #公有和私有
  22. '''
  23. 公有属性和方法:首先,python中没有关键字来定义公有或是私有,默认情况下,类中的所有属性和方法都是公有的,可以在外部使用。
  24. '''
  25. class Person:
  26. name = '我是公有属性'
  27. p = Person()
  28. print(p.name)
  29. '''
  30. 私有属性和方法python提供了定义私有变量的方法,在变量前加两个“_”下划线,此时变量就成了私有变量。
  31. '''
  32. # class Person:
  33. # __name = '我是私有属性'
  34. # p = Person()
  35. # print(p.name) #AttributeError: 'Person' object has no attribute 'name' 提示不能调用私有属性
  36. # 通过方法调用私有属性
  37. class Person:
  38. __name = '我是私有属性'
  39. def getName(self):
  40. return self.__name
  41. p = Person()
  42. print(p.getName())
  43. # 通过类调用私有属性 对象._类名__私有属性
  44. class Person:
  45. __name = '我是私有属性'
  46. p = Person()
  47. print(p._Person__name) #对象._类名__私有属性

 

文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。

原文链接:brucelong.blog.csdn.net/article/details/80424411

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。