文章目录
属性=变量,方法=函数,类≠对象,类实例化赋值给的东西才是对象,类中每个方法的形参一定要加self(且是位于首位)
Class为什么要用__init__用法?
从这里可以看出,加入了__init__()方法,下面两行(类有形参)实现了上面三行(类无形参)的相同功能(即输出了同样的字符串)
Python中%d的用法讲解【转载】
%d = %d * %d ,看起来很复杂,其实不然。里面有 3 个%d ,相当于占位符,告诉 python,我这里需要填充 3 个数字。
for num in range(10,20):
for i in range(2,num):
if num%i == 0:
j=num/i
print ('%d 等于 %d * %d' %(num,i,j))
break
else:
print ('%d 是一个质数' %num)
上图中就是num等于 i * j,填充的顺序按照()里面的先后顺序
什么是私有变量?
Name就是定义class类的属性
而第二个__name就是定义为了私有变量,所以下面出错了
只有内部才可以调用这个私有变量,只能从内部调用方法可以调用了
也可以这样调用,python只是将变量伪装了,采用上面也可以直接得出属性
继承,只是将名字修改为上面那样了。
Python中%的用法【转载】
python中%:
- 求模运算,相当于mod,也就是计算除法的余数,比如5%2就得到1。
- %还用在python的格式化输出,比如:
说明如下:
%[(name)][flags][width].[precision]typecode
(name) 为命名
flags 可以有+,-,’ ‘或0。+表示右对齐。-表示左对齐。’ '为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐。0表示使用0填充
width 表示显示宽度
precision 表示小数点后精度
typecode 为类型码
print("%6.3f" % 2.3)
# 2.300
# 第一个"%"后面的内容为显示的格式说明,6为显示宽度,3为小数点位数,f为浮点数类型
# 第二个"%"后面为显示的内容来源,输出结果右对齐,2.300长度为5,故前面有一空格
a = 'test'
print ('it is a %s' %a)
注:%s 表示字符串 (%s永远起作用,它会把任何数据类型转换为字符串)
打印结果如下:
>> it is a test
————————————————
版权声明:本文为CSDN博主「阿P的哲学」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wydyzq12/article/details/124255940
为什么要使用Class类来封装?
绿色的就是全局变量,44行的函数内部的局部变量也会被6行的全局变量覆盖,相当于整个程序都是6行的全局变量在起作用
可以看到所有的全局变量都消失了,变成了方法中的属性,因为__init__(self)中self参数的存在,使得game类中所有其它的方法都可以调用__init()__中的属性self.players
如何设置类的方法中的默认参数?
没看出什么区别呀?注意利用了父类的初始化函数
子类覆盖父类?还是多态性?一个问题?
看看吧
定义Class类要不要加括号?
如何简单地理解if name == ‘main’: ?
看前面一部分即可
如何简单地理解Python中的if name == ‘main’
通俗的理解__name__ == ‘main’:假如你叫小明.py,在朋友眼中,你是小明(name == ‘小明’);在你自己眼中,你是你自己(name == ‘main’)。
if name == 'main’的意思是:当.py文件被直接运行时,if name =='main’之下的代码块将被运行;当.py文件以模块形式被导入时,if name =='main’之下的代码块不被运行。
Python的super().init()方法?