开发者社区> 王小王-123> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

初识Python之面向对象篇(上)

简介: 初识Python之面向对象篇
+关注继续查看

前言

hello,各位小伙伴,好久不见,前段时间由于事情繁多,这个面向对象的语法比较的重要,而且有一些小难度,所以小王就没有定期分享文章了,正所谓“一心一意才可以做好每一件事情”,希望大家在学习的时候也要这样哟。

Python本来就是一门简单的编程语言,但是大家也要有好的学习方法和态度哟,这样才可以真正的学懂这一门语言!希望大家在自己空闲的时间可以多去涉猎一些自己专业方面的知识,所谓天道酬勤。唯有不断的修炼自己,才能提高自己幸运值。

话不多说!我们开始学习吧!!!


面向对象的知识概念

类对象

class Myclass:
    '''这是一个类'''
    i=123456
    def f(self):
        return "hello python"
x=Myclass()#实例化类,和函数调用类似
print(x.i)
print(x.f())


image.png

 # '''类方法'''
class Smplclass:
    def info(self):
        print("这是我的类!")
    def sum(self,x,y):
        return x*y
se=Smplclass()
print(se.sum(10,12))
se.info()

image.png


# '''构造方法'''
class Complex:
    def __init__(self,name,age):#类的实例化操作会自动调用init方法
        self.name=name
        self.age=age
x=Complex("bob",18)
print(x)#没有实例化属性就会出现你看不懂的值
print(x.name,x.age)

image.png

'''调用类自身的方法和全局函数'''
def diao(x,y):
    return (abs(x),abs(y))
class Ant:
    def __init__(self,x=0,y=0):
        self.x=x
        self.y=y
        self.d_point()
    def yi(self,x,y):
        x,y=diao(x,y)
        self.e_point(x,y)
        self.d_point()
    def e_point(self,x,y):
        self.x+=x
        self.y+=y
    def d_point(self):
        print("你的当前位置是:(%d,%d)"%(self.x,self.y))
ant_a=Ant()
ant_a.yi(2,7)
ant_a.yi(-5,6)

image.png


'''模拟狗狗的日常'''
class Dog():
    '''小狗狗'''
    def __init__(self,name,age):
        '''初始化属性name和age'''
        self.name=name
        self.age=age
    def wang(self):
        '''模拟狗狗的汪汪叫'''
        print(self.name.title()+"汪汪!")
    def shen(self):
        print(self.name.title()+"伸舌头")
my_dog=Dog("junne",15)
you_dog=Dog("linux",16)
print("我的爱犬的名字是:"+my_dog.name.title()+".")
print("我的爱犬已经是:"+str(my_dog.age)+"岁了!")
my_dog.wang()
my_dog.shen()
print("\n你的爱犬的名字是:"+you_dog.name.title()+".")
print("你的爱犬已经是:"+str(you_dog.age)+"岁了!")
you_dog.wang()
you_dog.shen()

image.png


'''析构方法'''
class Newclass(object):
    num_count=0 #全局变量
    def __init__(self,name):
        self.name=name
        Newclass.num_count +=1
        print(name,Newclass.num_count)
    def __del__(self):#定义析构方法__del__释放内存空间!!!!
        Newclass.num_count-=1
        print("析构",self.name,Newclass.num_count)
    def test(self):
        print("aa")
aa=Newclass("hello")
bb=Newclass("world")
cc=Newclass("aaaa")
del aa
del bb
del cc
print("over!")

image.png


'''静态方法和类方法'''
'''静态方法没有隐含调用参数,应该使用@staticmethod
    类方法隐含调用的参数是类,应该使用@classmethod
'''
class jing:
    def __init__(self,x=0):
        self.x=x
    @staticmethod
    def static_method():
        print("此处调用了静态方法!")

    @classmethod
    def class_method(cls):
        print("此处调用了类方法!")
jing.static_method()
jing.class_method()
dm=jing()
dm.static_method()
dm.class_method()

image.png

''' 类属性'''
class Car():
    """"最爱奔驰!"""
    def __init__(self,manufacturer,model,year):
        self.manufacturer=manufacturer
        self.model=model
        self.year=year
        self.odometer_reading=0
    def get_descriptive_name(self):
        long_name=str(self.year)+" "+self.manufacturer+" "+self.model
        return long_name.title()
    def update_obometer(self,mileage):
        if mileage>=self.odometer_reading:
            self.odometer_reading=mileage
            print("这是一个合理的数据!",str(self.odometer_reading)+"千米!")
        else:
            print("这是一个不合理的数据!")
    def increament_odometer(self,miles):
        self.odometer_reading+=miles

    def read_obometer(self):
        print("这是一辆新车,目前仪表显示行程为" + str(self.odometer_reading) + "千米!")

my_new_car=Car("Benz","E300L",2016)
print(my_new_car.get_descriptive_name())
# my_new_car.odometer_reading=12
my_new_car.update_obometer(15)
my_new_car.read_obometer()
my_new_car.increament_odometer(2000)
my_new_car.read_obometer()

image.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Python-面向对象
Python-面向对象
20 0
python面向对象之创建类
python面向对象之创建类
18 0
【python】面向对象
1.简单写个例子,因为之前基本没写过python OOP。先写个父类 class Animal: # 构造方法 def __init__(self, name): self.
923 0
python-面向对象之继承
一、继承介绍 继承是一种新建类的方式,新建的类称之为子类或者派生类,被继承的类称为父类/基类/超类 python中继承的特点:   1.子类可以遗传/重用父类的属性   2.子类可以有多个父类   3.Python中的继承类分为新式类和经典类     新式类:继承了object的类,以及他的子类都是新式类     经典类:没有继承object的类,以及他的子类都是经典类     在Python3中,没有显示的声明,默认继承object类,所有的类都是新式类     在Python2中才区分新式类和经典类,没有显示继承任何类,也不会继承object类。
935 0
初识python中的类与对象
类的概念与定义 在生活中,我们走在路边,看到一辆车,大脑中首先想到的是“这是一辆车, 然后才是这是一辆什么牌子的车”,在这里,我们就用到了编程中的类的概念。 同样的,看到一条小狗,也会先想到这是一条狗,然后会想到这是一条什么品种的狗。
723 0
+关注
王小王-123
快乐代码,精彩人生!
268
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载