初识面向对象:类

定义一个类:

class 类名(大写开头):
    属性 = ‘a’

类名.属性
类名的作用:操作属性、查看属性

例:

class Tst:
    nationality = ‘中国‘ #静态属性,不能在类外边修改
    def __init__(self,name,age,sex):
        self.name = name
        self.age = age
        self.sex = sex
        print(id(self))#self与t1的内存地址一样

    def way(self):#方法,一般情况下必须传self参数,且必须写在第一个;后面还可以传其他参数,是自由的
        pass

t1 = Tst(‘aike‘,‘25‘,‘男‘)                   #所以t1接收的是self的内存地址
print(Tst.nationality)                          #查看静态属性
print(Tst.__dict__[‘nationality‘])              #同样可以使用双下dict方法查看静态属性值
# Tst.__dict__[‘nationality‘] = ‘美国‘            #报错,所以静态属性不能修改
print(t1)                                       #返回的是一个内存地址,与self一样
print(id(t1))                                   #self与t1的内存地址一样
print(t1.name)                                  #查看属性值
print(t1.__dict__)                              #通过双下dict方法能够查到里面的数据,内存地址与一致,所以数据也是一致
print(t1.__dict__[‘name‘])                      #同样可以使用双下dict方法查看属性值
t1.__dict__[‘name‘] = ‘艾克‘                      #使用双下dict方法可以修改属性值
print(t1.__dict__[‘name‘])

t1.way()                                        #可以用对象直接调用方法,等同于Tst.way(t1),如果方法不止接收一个参数,在括号内部依次传入即可
过程:    类名() 首先 会创造出一个对象,创建了一个self变量    调用init方法,类名括号里的参数会被这里接收    执行init方法    返回self对象能做的事:    查看属性    调用方法    __dict__ 对于对象的增删改查操作都可以通过字典的语法进行类名能做的事:    实例化    调用方法 : 只不过要自己传递self参数    调用类中的属性,也就是调用静态属性    __dict__ 对于类中的名字只能看 不能操作

总结:

  1、实例化的过程就是类——>对象的过程,创建的对象就是一个实例化的东西

  2、self在实例化时自动将对象/实例本身传给__init__的第一个参数,你也可以给他起个别的名字,但是正常人都不会这么做。

  3、对象通过双下dict方法能够查到这个对象的数据,内存地址与self一致,所以数据也是一致

  4、静态属性可以在类的外面通过双下dict方法查看,但不能修改

  5、对象调用方法的方式与平时不一样

原文地址:https://www.cnblogs.com/aizhinong/p/11440267.html

时间: 2024-10-16 03:26:09

初识面向对象:类的相关文章

Python 基础之面向对象初识与类的封装

一: 面向对象类的初识#(1) 类的定义#三种方式:#1.class MyClass:    pass #2.推荐class MyClass():    pass #3.class MyClass(object):    pass#(2) 类的实例化class MyClass():    pass#类的实例化,实例化对象obj = MyClass() #obj 就是一个对象#(3)类的基本结构只有成员方法和成员属性对象.属性  对象.方法()#例:class MyClass():    #成员属

8、python全栈之路-初识面向对象

八.初识面向对象 http://www.cnblogs.com/Eva-J/articles/7293890.html#_label1 1.楔子 #面向对象编程 #面向对象的思想 #对象就是一个实实在在的,可以准确描述出来的实体,比如说egg,alex #面向对象的编程是一种上帝视角的切换 #之前你使用的面向过程的编程是面向结果去编程,一个流水线下来有固定的结果 #好想  可扩展性差 容易引起代码的安全问题 #面向对象 #类:具有相同属性和方法的一类事物 #对象:具有具体的属性的事物 2.初识类

Day7 初识面向对象,面向对象之继承与派生

一.面向对象引言 一.面向对象的程序设计的由来 详述见:http://www.cnblogs.com/linhaifeng/articles/6428835.html 二.面向对象引子 写一个简单程序:人狗大战 角色:人.狗 人角色特性:攻击力.生命值.名字.等级 狗角色特性:攻击力.生命值.名字.品种 1.用函数实现功能:角色和技能分别定义不同的函数 1 def person(attack,life_value,name,level): 2 person_dic = {'attack':att

python 初识面向对象

一.初识面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点是:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可. 缺点是:一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身. 应用场景:一旦完成基本很少改变的场景,著名的例子有Linux內核,git,以及Apache HTTP Server等. 面向对象的程序设计的核心是对象(上帝式思维),要理解对象为何物,必须把自

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

三十五.初识面向对象 一 .面向对象和面向过程比较 ①面向过程:一切以事物的发展流程为核心    优点:负责的问题流程化,编写相对简单 缺点:可扩展性差 ②面向对象:一切以对象为中心. 一切皆为对象. 具体的某一个事务就是对象 优点:可扩展性强 缺点:编程的复杂度高于面向过程 二.类和对象 ①类:就是图纸,创建对象的第一步     对象:通过类造出来的具体事物, ②基本格式 class  类名:            #创建类    类名用驼峰格式 def __init__(self,参数): 

Php面向对象 – 类常量

类常量:类中,保存运行周期内,不变的数据. 定义: const关键字 const 常量名 = 常量值 例子: class Student { public  $stu_id; public  $stu_name; public  $stu_gender; const  GENDER_MALE = '男'; const  GENDER_FEMALE = '女'; } 类常量不受访问限定修饰符的限制 访问: 类::常量名 例子: class Student { public  $stu_id; pu

《转》面向对象类设计原则

面向对象类的设计原则 1                 SRP(单一职责原则) 这个原则看起来很简单,就是说一个类只能承担一个职责. 但这里有一个关键:"职责"是如何理解的? 按照汉语的理解,职责其实分为两部分:"职"和"责"."职"就是这个类是什么,而"责"就是这个类要干什么. 举个例子来说:Door是一个对象,那么它的"职"就是门,"责"就是"开门.关

php面向对象类中常用的魔术方法

php面向对象类中常用的魔术方法 1.__construct():构造方法,当类被实例化new $class时被自动调用的方法,在类的继承中可以继承与覆盖该方法,例: //__construct() class construct{ public function __construct(){ $this->var = "this is var"; } } class con2 extends construct{ public function __construct(){ $

面向对象类成员

面向对象类成员:字段,方法,属性 一.字段: 举个例子: class Foo: def __init__(self, name): self.name = name 其中的self.name就是字段,不过这是一个普通的字段,保存在对象中,可以通过对象去访问例如: 1 obj = Foo("DJC") 2 print(self.name) 3 4 >>>DJC 除了普通字段还有静态字段来看以下代码: class Foo: s = 123 def __init__(sel

Java基础知识:面向对象&类图

类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称.在系统中,每个类都具有一定的职责,职责指的是类要完成什么样的功能,要承担什么样的义务.一个类可以有多种职责,设计得好的类一般只有一种职责.在定义类的时候,将类的职责分解成为类的属性和操作(即方法).类的属性即类的数据职责,类的操作即类的行为职责.设计类是面向对象设计中最重要的组成部分,也是最复杂和最耗时的部分. 1.面向对象特性 1)抽象 2)继承 3)封装 4)多态 2.类图: 在软件系统