python之定义类创建实例

https://www.cnblogs.com/evablogs/p/6688938.html

类的定义

在Python中,类通过class关键字定义,类名以大写字母开头


1

2

>>>class Person(object):           #所有的类都是从object类继承

              pass                 #pass先不做任何处理,先跳过,为了防止语法错误

创建类的属性


1

2

3

4

5

6

7

8

9

10

11

12

13

14

>>> class Person(object):

         address = ‘Earth‘                       #类的属性直接在类内部定义,当实例属性和类属性重名时,实例属性优先级高

         def __init__(self, name):

                self.name = name

>>> Person.address                               #直接通过类.属性可以访问

‘Earth‘

>>>p1=Person(‘A‘)                               

>>>p1.address                                    #通过创建类的实例,也可以通过实例.属性访问

‘Earth‘

>>> Person.address=‘KKKK‘                        #类的属性可以动态修改

>>> Person.address

‘KKKK‘

>>>p1.address                                    #类的属性一经修改,所有访问的属性值也随之更改

‘KKKK‘

实例的创建

创建实例使用 类名+(),类似函数调用的形式创建:

例如:


1

2

3

4

5

6

7

>>> class Person(object):

             pass

>>> p1 = Person()                      #创建实例

>>> p1.name = ‘Bart‘                   #创建实例属性

>>> p2 = Person()

>>> p2.name = ‘Adam‘

 初始化实例属性


1

2

3

4

5

6

7

8

9

10

11

12

13

14

>>> class Person(object):

             class=1                                              #定义类属性

             def __init__(self, name,age):         #__init__(self,属性1,属性2....):self代表实例,通过self访问实例对象的变量和函数

             self.name = name

             self.__age=age                                        #实例的私有属性无法从外部访问,但是,从类的内部是可以访问的

#定义实例方法

             def get_name(self):

                   return self.__age                              #实例方法,定义在类内部,可以访问实例的私有属性__age

#定义类方法

             @classmethod

             def how_many(cls):                                   #通过@classmethod标记类方法,类方法的第一个参数为cls,cls.class相当于Person.class

                  return cls.class                                #类方法中无法调用任何实例的变量,只能获得类引用

>>> p1 = Person(‘Bob‘,12)

>>> print p1.get_age()                                            #实例方法的调用,self不需要显式传入

注意:

下划线和双下划线的区别:

以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,那么以“_”开头的名称都不会被导入,即不能用“from xxx import *”而导入,除非模块或包中的“__all__”列表显式地包含了它们;

以双下划线开头的(__foo)代表类的私有成员,只有类本身能访问,其子类对象也不能访问到这个数据。

原文地址:https://www.cnblogs.com/yuer20180726/p/10790340.html

时间: 2024-10-07 05:59:40

python之定义类创建实例的相关文章

Python 面向对象编程——类和实例

1        面向对象编程 面向对象编程: 面向对象编程--Object OrientedProgramming OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行.为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度. 面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消

python :理解类与实例

面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同. 仍以Student类为例,在Python中,定义类是通过class关键字: class Student(object): pass class后面紧接着是类名,即Student,类名通常是大写开头的单词,紧接着是(object),表示该类是从哪个类继承下来的,继承的概念我们后面再讲,通常,

Python学习_11_类和实例

类和实例 类是对象创建实例的模板,而实例则是对象的实体.类使用class关键字定义: class MyClass:? ? pass python中创建实例直接使用工厂函数(类名加上一对括号),和其他的语言使用new关键字有所不同: my_obj = MyClass() 一般来说,类名以大写字母开头,而对象名则以小写字母或者下划线开头. 实例化对象时,会执行类定义中的__init__()方法,该方法执行时包含实例的各种初始化操作. 方法和函数的区别:方法由对象调用,在方法定义中,第一个参数必须是显

Python面试题之Python中的类和实例

0x00 前言 类,在学习面向对象我们可以把类当成一种规范,这个思想就我个人的体会,感觉很重要,除了封装的功能外,类作为一种规范,我们自己可以定制的规范,从这个角度来看,在以后我们学习设计模式的时候,对设计模式的理解会很有帮助.其次,语言中类是抽象的模板,用来描述具有相同属性和方法的对象的集合,比如Animal类.而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同. Python使用class关键字来定义类,其基本结构如下: class 类名(父类列表)

【Python】使用类和实例

Car类 class Car(): '''模拟汽车''' def __init__(self,name,model,year): '''初始化汽车的属性''' self.name = name self.model = model self.year = year def get_describe_car(self): '''返回描述性信息''' long_name = str(self.year)+' '+self.name + ' '+self.model return(long_name)

python “类变量”和“类的实例变量” 区别

1 class Count(): 2 count=0 3 def __init__(self,count): 4 self.count=count 5 self.__class__.count+=1 运行结果>>> >>>ct1=Count(3) >>>print ct1.count,Count.count 3 1 >>>ct2=Count(-1) >>>print ct2.count,Count.count -1

python中定义类

python定义一个类时,有时候需要(object),有时没有,那么问题来了,什么时候需要,什么时候不需要的. 如下: # -.- coding:utf-8 -.-# __author__ = 'zhengtong' class Person:    """    不带object    """    name = "lihau" class Animal(object):    """    带

python 变量定义和打印输出实例

1.基础参数定义实例print("hello world") name = "PaoChe Ge" name2 = name duohang = '''print("My name is",name) name = "Mr Li" print(name2,"and",name)''' print(duohang) #打印duohang 多行! username = input("username:

Python类三种方法,函数传参,类与实例变量(一)

1 Python的函数传递: 首先所有的变量都可以理解为内存中一个对象的'引用' a = 1 def func(a): a = 2 func(a) print(a) # 1 a = 1 def fun(a): print("函数里",id(a)) # 函数里 41322472 a = 2 print("赋值后",id(a), id(2)) # 赋值后 41322448 41322448 print("函数外",id(a), id(1)) # 函数