python的class
Ⅰ 关于python中class问题
乱七八糟的,看着费劲。把原题贴出来看看,这个是你自己理解的写的吧。看着太费劲了...
Ⅱ python什么时候需要用class举例说明
def相当于每个组员,他们分别能完成一定的功能。
class相当于办公室,他可以将旗下组员定义起来,方便调用。
在使用某些库或者编写大程序的时候,class是比较好用的,很简单的程序自然用不上啦。
Ⅲ 在python中,一个文件中写两个class,怎么连接这两个class
classCandy(object):
defeat(self):
return"Hah! "
classChild(object):
def__init__(self,name):
self.name=name
defcall(self,shout):
returnshout=="HI,%s."%self.name
defeat(self,candies):
forcandyincandies:
print"Ya!"+candy.eat()
baby=Child("Tom")
baby.call("HI,Tom.")
candies=[Candy(),Candy(),Candy()]
baby.eat(candies)
Ⅳ python3,<class,XX>
list是python的一种类型关键字,不建议作为变量名!!!
你如果定义了global list,那list就是一个全局变量,可以在函数外访问
你如果去掉了global list,那list默认就是一个Python内置的类型关键字
print(list)
<class'list'>代表的是这个未实例化的类对象
print(int)
<class'int'>你还可以继续试试这个int类型
Ⅳ python class的问题
这个程序没有遵从python的惯例,所以可能对你的理解产生一些问题。
__init__(b, c)和d(b)是class A的方法,按照惯例,第一个参数应该写为self,因为类在调用它的方法的时候会自动把实例作为第一个参数传到它的方法。所以,第一个参数b,其实调用时候的class A的实例。
b.c = c,其实就是给当前实例添加一个属性c,c就是传进来的参数
同理,d()函数的第一个参数当然可以是其他,只是代表当前实例而已
for循环中它是循环初始化时传进来的参数,因为在初始化时把该参数记录到了属性c中,所以是b.c
所以,class A改写为如下代码,可能你就明白了
classA(object):
def__init__(self,c):
self.c=c
defd(self):
foreinself.c:
printe
第九行就是为了获得class A的实例,所以传入初始化参数['一', '二', '三', '四']来初始化以获得实例
因为之前说过了,class中的方法第一个参数是会自动传入为当前实例,所以调用时第一个参数是不需要传的,因此调用d()函数时,不需要带参数
这个程序只是定义了一个类A,它初始化是需要传入参数c,并且参数c是可以循环的。类A提供了方法d,用来打印参数c的内容
之后的几行代码只是实例化了类A,并进行了方法调用而已
Ⅵ python中 A=ClassA() ClassB(A) 这是什么意思
A=ClassA()是把类ClassA的实例赋值给变量A
ClassB(A)意思是类ClassB继承类ClassA的方法和属性。就是类的继承。实例A是类ClassA的实例。而类ClassB继承了类ClassA的属性和方法。
Ⅶ python里面怎么调用class
以下代码调试通过:
classLuciaClass:#定义类
defluciaprint(self,text):#类里面的方法
print(' ',text)#方法就是输出text
x=LuciaClass()#方法的实例x
x.luciaprint('todayisabadday~~~')#实例调用类方法
运行效果:
Ⅷ python class有什么用
定义类啊,然后再把类实例化为对象,面相对象的需要,一切都是对象。这就是精髓。
Ⅸ python中class.函数()和class.函数 的区别是什么
a.printname:这仅仅指的是函数名,Print的是与函数相关的一些属性,如存放地址。
a.printname():这指的是函数调用,这个才是真正调用/执行了函数。但printname()没有返回值,所以Print后的结果是none (none前面应该有一行:class1name hello才对,因为printname()被调用执行了。)
Ⅹ python 类里面的class是什么意思啊求
python这方面很灵活。其实java也一样允许这样子。你几乎可以在任何情况下做任何事情。
通常class Meta可以放在外面。不过,这样它就不能直接访问父类的一些属性了。
所以在python里class 如果放在另一个class 里面,通常并不是为了隐藏这个class,并不是让别人看不到它。而因为它需要父类里的一些属性。需要共享。
另外直接在类里定义的一些变量,比如queryset,也是属于类全局级的。只要引用了这个类,即使没有初始化,这些变量也已经实例化。这个有些象是java里static的全局定义结果。
我们通常用这个方法来在不同的函数变量间共享 一部分数据。同时又不需要初始化一个实例并用指针指向这一部分数据。而是通过类名直接引用。
比如下面的一个用法
class Config:
pass
Config.user_name="xxx"
Config.password="yyyy"
这样。只要你在当前模块里,通过Config就可以引用到user_name和password,而不需要global这个修饰符。