python之面向对象与实例属性

一、三大编程范式

1.1面向过程编程

面向对象编程就是将编程当成是做一件事,要按步骤完成,每一步就是一个过程。

# 打扫房间
print(‘开始扫地‘)

def step_1():
    print(‘准备扫帚‘)

def step_2():
    print(‘打扫房间‘)

def step_3():
    print(‘扫完,将扫帚放回原地‘)

step_1()
step_2()
step_3()
执行结果如下:

开始扫地
准备扫帚
打扫房间
扫完,将扫帚放回原地

1.2函数编程

函数式编程:函数式 = 编程语言定义的函数+数学意义的函数;通俗来讲,函数式就是用编程语言去实现数学函数。这种函数内对象是永恒不变的,要么参数是函数,要么返回值是函数,没有for和while循环,所有的循环都由递归去实现,无变量的赋值(即不用变量去保存状态),无赋值即不改变。

1.3面向对象编程

面向对象就是将编程当成是一个事物,编程就是设置事物能够做什么事。二

def personal(name,gender,type):
    #人的动作
    def enroll(personal):
        print(‘%s去福建上学‘ %personal[‘name‘])
    def province(personal):
        print(‘北京大学经济与管理学院录取了[%s]‘ %personal[‘type‘])

    def init(name,gender,type):
        personal1 = {
            "name": name,
            "gender": gender,
            "type": type,
            "enroll": enroll,
            "province":province
        }
        return personal1
    return init(name,gender,type)

p1=personal(‘czd‘,‘male‘,‘fzuniv‘)
print(p1)
p1[‘enroll‘](p1)
p2=personal(‘dfz‘,‘female‘,‘bduniv‘)
print(p2)
p2[‘province‘](p2)

二、类与对象的基本理解

类:把一类事物的相同的特征和动作整合到一起就是类,类是一个抽象的概念。

对象:就是基于类而创建的一个具体的事物(具体存在的),也是特征和动作整合到一块。

类与对象的关系:对象都是由类产生的。

实例化:由类生产对象的过程叫实例化,类实例化的结果就是一个对象,或者叫做一个实例(实例=对象)

三、类与对象的相关知识

3.1类相关知识

python2中有经典类和新式类,python3中都是新式类.

新式类和经典类声明的最大不同在于,所有新式类必须继承至少一个父类

#声明一个类

#经典类
class Chinese:
    ‘这是一个中国人的类‘
    pass
print(Chinese)

#实例化到底干了什么
p1=Chinese()      #实例化过程
print(p1)         #返回一个结果,相当于return

#新式类
class Chinese(object):     #(父类)
    pass
print(Chinese)

3.1.1 属性

类是用来描述一类事物,类的对象指的是这一类事物中的一个个体。

事物就要有属性,属性分:

    a.数据属性:就是变量

    b.函数属性:就是函数,在面向对象里通常称为方法

概括:数据属性即变量,类的定义与函数又极其类似,其实可以用函数的作用域来理解类的属性调用。

3.1.2查看类属性

定义的类属性到底存放到哪里了?有两种方式查看

dir(类名):查出的是一个名字列表

类名.__dict__:查出的是一个字典,key为属性名,value为属性值

3.2对象相关知识

class Japanese:
    party=‘民主党‘
    def __init__(self,name,age,gender):
        self.mingzi=name
        self.nianling=age
        self.xingbie=gender
    def sui_di_tu_tan():
        print(‘朝着....就是一口痰‘)
    def cha_dui(self):
        print("%s查到了前面" %self.mingzi)

p1=Japanese(‘dsa‘,16,‘male‘)            #----->__init__(self,name,age,gender)

print(Japanese.__dict__)
Japanese.sui_di_tu_tan()
Japanese.cha_dui(p1)

3.3类属性的增删改查

class Chinese:
    party=‘新民党‘
    def __init__(self,name,age,gender):
        self.mingzi=name
        self.nianling=age
        self.xingbie=gender
    def sui_di_tu_tan(self):
        print(‘%s朝着....就是一口痰‘ %self.mingzi)
    def cha_dui(self):
        print("%s查到了前面" %self.mingzi)
    def eat_food(self,food):
        print(‘%s正在吃%s‘ %(self.mingzi,food))

p1=Chinese(‘李志强‘,23,‘male‘)
p1.sui_di_tu_tan()
p1.eat_food(‘大盘鸡‘)

p2=Chinese(‘caw‘,25,‘female‘)
p2.eat_food(‘佛跳墙‘)

# ------------查
# print(Chinese.party)

#--------------改
Chinese.party=‘guomindang‘
print(Chinese.party)

 #------------增
Chinese.guojia=‘中国‘
print(Chinese.guojia)

#  ----------删
del Chinese.party
print(Chinese.__dict__)

3.4实例属性的增删改查

class Chinese:
    country=‘China‘
    def __init__(self,name):
        self.name=name
    def play_ball(self,name):
        print(‘%s正在打%s‘%(self.name,ball))

p1=Chinese(‘czd‘)
print(p1.__dict__)

# -----------查看
print(p1.name)
print(p1.play_ball)

# -----------增加
p1.age=18
print(p1.__dict__)
print(p1.age)

#------------修改
Chinese.country=‘日本‘
print(Chinese.country)
p1.age=20
print(p1.__dict__)
print(‘------>‘,p1.age)

#------------删除
del Chinese.country
print(Chinese.__dict__)

四、对象和实例的补充

class Chinese:
    country=‘China‘
    l=[‘a‘,‘b‘]
    def __init__(self,name):
        self.name=name
    def play_ball(self,name):
        print(‘%s正在打%s‘%(self.name,ball))

p1=Chinese(‘czd‘)
print(p1.l)

p1.l=[1,2,3]
print(Chinese.l)       #改的是p1的,Chinese.l不变
print(p1.__dict__)

p1.l.append(‘c‘)         #在类里面增加
print(p1.__dict__)
print(Chinese.l)

原文地址:https://www.cnblogs.com/changzhendong/p/11260329.html

时间: 2024-09-30 16:17:55

python之面向对象与实例属性的相关文章

Python 面向对象和实例属性

一.三大编程范式 编程范式即编程的方法论,标识一种编程风格. 我们学习完Python语法后,就可以写python代码了,然后每个人写代码的风格不同,这些不同的风格就代表了不同的流派. 如果把python的基本语法比作无数的基本功,那么不同的编程风格就好比不同的武林门派. 虽然大家风格不同,但是都可以完成你的编程需求,Python是一门面向对象编程语言,但是到目前为止,你从未接触面向对象编程,然而你已经可以解决很多问题了,在Python中并没有人强制你使用哪一种固定的风格. 根本就没有什么门派是天

Python实用笔记 (22)面向对象编程——实例属性和类属性

由于Python是动态语言,根据类创建的实例可以任意绑定属性. 给实例绑定属性的方法是通过实例变量,或者通过self变量: class Student(object): def __init__(self, name): self.name = name s = Student('Bob') s.score = 90 但是,如果Student类本身需要绑定一个属性呢?可以直接在class中定义属性,这种属性是类属性,归Student类所有: class Student(object): name

面向对象编程——实例属性和类属性(六)

由于python是动态语言,根据类创建的实例可以任意绑定属性. 给实例绑定属性的方法是通过实例变量,或者通过self变量: class Student(object): def __init__(self,name): self.name = name s = Student('Bob') #添加实例 s.score = 90 #添加属性 但是,如果Student类本身需要绑定一个属性呢?可以直接在class中定义属性,这种属性是类属性,归Student类所有: >>> class St

面向对象编程(实例属性、类属性)

由于Python是动态语言,根据类创建的实例可以任意绑定属性. 给实例绑定属性的方法是通过实例变量,或者通过self变量: class Student(object): def __init__(self, name): self.name = name s = Student('Bob') s.score = 90 但是,如果Student类本身需要绑定一个属性呢?可以直接在class中定义属性,这种属性是类属性,归Student类所有: class Student(object): name

Python day 8(4) 实例属性和类属性

1 由于Python是动态语言,根据类创建的实例可以任意绑定属性. 给实例绑定属性的方法是通过实例变量,或者通过self变量: class Student(object): def __init__(self, name): self.name = name s = Student('Bob') s.score = 902 如果Student类本身需要绑定一个属性,可以直接在class中定义属性,这种属性是类属性,归Student类所有: class Student(object): name

Python之路-面向对象&继承和多态&类属性和实例属性&类方法和静态方法

一.面向对象 编程方式 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发"更快更好更强-" 什么是面向对象 面向对象就不像面向过程那样按照功能划分模块了,它所关注的是软件系统有哪些参与者,把这些参与者称为对象,找出这些软件系统的参与者也就是对象之后,分析这些对象有哪些特征.哪些行为,以及对象之间的关系,所以说面向对象的开发核心是对象 什么是类 面向对象编程的两个重要的概念:类和对象 类是

python 面向对象六 类属性和实例属性

一.实例属性 Python是动态语言,根据类创建的实例可以任意绑定属性. 1 >>> class Student(object): 2 ... def __init__(self, name): 3 ... self.name = name # 每个实例必须的属性 4 ... 5 >>> s = Student('Jack') 6 >>> s.score = 90 # 任意绑定属性 7 >>> s.name 8 'Jack' 9 &g

(一)Python入门-6面向对象编程:02类的定义-类和对象的关系-构造函数-实例属性-实例方法

一:类的定义 如果把对象比作一个“饼干”,类就是制造这个饼干的“模具”. 我们通过类定义数据类型的属性(数据)和方法(行为),也就是说,“类将行为和状态打 包在一起”. 对象是类的具体实体,一般称为“类的实例”.类看做“饼干模具”,对象就是根据这个“模 具”制造出的“饼干”. 从一个类创建对象时,每个对象会共享这个类的行为(类中定义的方法),但会有自己的属 性值(不共享状态).更具体一点:“方法代码是共享的,属性数据不共享”. Python中,“一切皆对象”.类也称为“类对象”,类的实例也称为“

Python面向对象—类属性和实例属性

属性:就是属于一个对象的数据或函数元素 类有类方法.实例方法.静态方法.类数据属性(类变量)和实例数据属性(实例变量). 类属性:包括类方法和类变量,可以通过类或实例来访问,只能通过类来修改. 实例属性:包括实例方法和实例变量 class MyClass(object): name = 'Anl' def __init__(self, age): self.age = age @classmethod def class_method(cls): print "I'm class method&