【python】python中的类,对象,方法,属性初认识(一)

作者:brucewong0516 
来源:CSDN 
原文:https://blog.csdn.net/brucewong0516/article/details/79114977 
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

面向对象编程需要使用类,类和实例息息相关,有了类之后我们必须创建一个实例,这样才能调用类的方法。首先看一下类的结构模式:

class<类名>:

<语句>

类的私有属性:__private_attrs 两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问。在类内部的方法中使用时 self.__private_attrs
类的方法:在类地内部,使用def关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数 self. 且为第一个参数


类的专有方法:

__init__ 构造函数,在生成对象时调用
__del__ 析构函数,释放对象时使用
__repr__ 打印,转换
__setitem__ 按照索引赋值
__getitem__ 按照索引获取值
__len__ 获得长度
__cmp__ 比较运算
__call__ 函数调用
__add__ 加运算
__sub__ 减运算
__mul__ 乘运算
__div__ 除运算
__mod__ 求余运算
__pow__ 称方

首先看一下构建类的构成及实例化:

# -*- coding: utf-8 -*-
# @Time : 2018/11/21
# @Author : woniu
# 类的构建函数

#构建person类
class Person():
name = '' #首先定义一个变量,类的属性
age = 0
__weight = 0
def __init__(self,name,age,weight): #初始化变量
self.name = name #重新给类的name变量赋值,并可以全局调用
self.age = age
self.__weight = weight #私有变量要重新赋值
def infoma(self): #定义speak函数
print('%s is %s weight %s'%(self.name,self.age,self.__weight))
person = Person('bruce',25,60) #将变量赋值给person类实例化
print(person)
infoma = person.infoma() #调用person类的infoma函数方法

<__main__.person object at 0x0000020F23172780>
bruce is 25 weights 60



其次通过使用类的内置方法进行方法的构造:

__init__ 构造函数,在生成对象时调用
__del__ 析构函数,释放对象时使用
__repr__ 打印,转换
__setitem__ 按照索引赋值
__getitem__ 按照索引获取值
__len__ 获得长度
__cmp__ 比较运算
__call__ 函数调用
__add__ 加运算
__sub__ 减运算
__mul__ 乘运算
__div__ 除运算
__mod__ 求余运算
__pow__ 称方

# -*- coding: utf-8 -*-
"""
Created on Sun Jan 21 00:31:07 2018
类的定义构建
@author: BruceWong
"""

class Person():
def __init__(self,name,age,weight):
self.name = name
self.age = age
self.__weight =weight
def __cmp__(self):
pow_age =self.age.__pow__(2)
print(pow_age)
def __len__(self):
name_del = self.name.__len__()
print(name_del)
def __add__(self):
adds = self.age.__add__(self.__weight)
print(adds)
def infoma(self):
print('%s is %s weights %s'%(self.name,self.age,self.__weight))

print(Person.__class__)
print(Person.__repr__)
person = Person('bruce',25,60)
print(Person)
infoma = person.infoma()
cmp = person.__cmp__()
lens = person.__len__()
adds = person.__add__()
print('doc is %s'%person.__doc__)
print('dir is %s'%person.__dir__)
print('delatter is %s'%person.__delattr__)
print('gt is %s'%person.__gt__)
print('hash is %s'%person.__hash__)
print('init is %s'%person.__init__)
print('new is %s'%person.__new__)






Python 3.6:

 



posted @ 2018-11-21 11:27  蘑菇慢慢  阅读(117)  评论(0)    收藏  举报