1、属性:类内函数内的变量;
class File():
def __init__(self,name):
self.name =name
#name 为类File属性
私有与公有属性:
class Worker:
name ='李狗蛋' #公有
__salary = 90000 #私有
def describe_user(self):
print(self.name)
print(self.__age)
obj = Worker()
obj.describe_user()
输出:李狗蛋
Traceback (most recent call last):
File "D:\pythonProject1\面向对象\类与对象.py", line 242, in <module>
obj.describe_user()
File "D:\pythonProject1\面向对象\类与对象.py", line 240, in describe_user
print(self.__salary)
AttributeError: 'User' object has no attribute '_User__salary'
#查看私有:
class Worker:
name ='李狗蛋'
__salary = 90000
def describe_user(self):
print(self.name)
obj = Worker()
obj.describe_Worker()
print(obj._Worker__salary) #( 对象名._类名__私有属性名 )访问属性
输出:李狗蛋
90000
2、方法:类的函数;
class User(): #类
def __init__(self,first_name,last_name): #方法(构造函数/实例)
self.first_name = first_name
self.last_name = last_name
def describe_user(self): #方法
print(self.first_name + self.last_name)
TT = User('李','狗蛋')
TT.greet_user()
输出:李狗蛋
3、python内置类方法:
_ _init_ _(self,[args]) #构造函数
class User():
def __init__(self,first_name,last_name):
self.first_name = first_name
self.last_name = last_name
class Foo():
def __init__(self,x,y):
self.x = x
self.y = y
def Result1(self):
return (self.x - self.y)*2
def Result12(self):
return self.x * self.y
ret = Foo(5,3)
print(ret.__class__) # <class '__main__.Foo'>
print(ret.__repr__()) #<__main__.Foo object at 0x00000299B539FFD0>
print(ret.__hash__()) #142919569405
print(ret.__dict__) #{'x': 5, 'y': 3}
print(ret.__doc__) # None