python学习 初识面向对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习 初识面向对象相关的知识,希望对你有一定的参考价值。

面向对象
面向对象思想:
对象就是一个实实在在的可以准确描述出来的实体
面向对象的编程是一种上帝视角的切换
   之前使用的面向过程的编程是面向结果去编程,一个流水线
   下来有固定的结果。
   面向过程的编程好想,缺点是可扩展性差,容易引起代码的安全问题
   面向对象
 类:具有相同属性和方法的一类事物
 对象:具有具体的属性的事物
 class  类名:   不写括号  定义一个类  里面写一个属性
 类名首字母要大写
class Person:
     role=‘person‘
print(Person.role)
类取值↑
class Person:
     role=‘person‘
  def attack(self)
     print(‘attact‘)
print(Person.role)
在类里面方法本质上都是函数,拥有一个必须传的参数self  参数叫别的也行
实例化一个对象
alex=Person()    创造了一个对象
alex.attack()    当你用一个对象去调用他的方法的时候,自动的传一个参数,这个参数就是对象本身
egon=Person()
egon.attack()    同上
都可以取值print   self哪个对象取值他就是跟谁
def __init__(self,name,sex,aggr,blood) 必须双下划綫init
    self.name=name
 self.sex=sex
 self.aggr=aggr
 self.blood=blood
与字典定义差不多,不过语法不同self必须用
self此时就相当于一个字典
alex=Person(‘alex‘,‘male‘,250,20000)  向上面__init__里面传参数要实例化时候传
alex.name就可以拿到类中alex   name的数据
alex.attack()
类下面的方法也可以用def __init__中的数据,因为已经创建过了
self就是对象本身,类中用self调用数据
class Dog:
    def __init__(self,a,b,c,d):     对象属性
        self.name=a
        self.sex = b
        self.aggr = c
        self.blood = d
    def attack(self):
        print(‘%s打人了‘%self.name)
egon=Dog(‘egon‘,‘man‘,500,90000)
egon.attack()

class Person:
    role=‘person‘      静态属性
print(Person.role)
静态属性  类属性,所有的对象共有的属性,可以直接被类调用
对象属性,只属于某一个对象的,必须在实例化之后用对象调用

面向对象在什么时候用:需要反复传递相同的参数给一些函数的时候

类名可以调用类属性  可以查看类方法但是不能调用类方法
对象名可以调用对象属性,可以调用类属性
对象名.方法()

 
























































以上是关于python学习 初识面向对象的主要内容,如果未能解决你的问题,请参考以下文章

python--面向对象(初识)

Python之面向对象面向对象初识

python之面向对象初识

初识面向对象-python

python--初识面向对象

python之路---16 初识面向对象