python之类的定义和对象创建篇

1,类的定义

	- 类和对象都是现实生活中或程序中的内容抽象。
	- 实际上所有事物都有两部分构成
		1,数据(属性)
		2,行为(方法)
		
	- 在类的代码块中,我们可以定义变量和函数
		变量会成为该类实例的公共属性,所有该类的实例都可以通过 对象、属性名的形式访问。
		函数会成为该类实例的公共方法,所有该类实例都可以通过 对象.方法名() 的形式调用方法
		
	- 注意:
		方法调用时,第一个参数由解析器自动传递,所以定义方法时,至少要定义一个形参。
		
	- 实例为什么能访问到类中的属性和方法
		类中定义的属性和方法都是公共的,任何该类实例都可以访问。
		
		- 属性和方法查找流程
			当我们调用一个对象的属性时,解析器会先在当前对象中寻找是否含有该属性。
			如果有,则直接返回当前对象的属性值
			如果没有,则去当前对象的类对象中去寻找,如果有则返回类的对象属性值,如果没有则报错。
			
		- 类对象和实例对象汇总都可以保存属性(方法)
			- 如果这个属性(方法)是所有的实例共享的,则应该将其保存到类对象中
			- 如果这个属性(方法)是某个实例独有的,则应该保存到实例对象中。
			
# -*- coding: UTF-8 -*-
class Person:
    #在类中,我可以定义变量和函数
    #在类中我们定义的变量,将成为所有实例的公共属性
    #所有实例都可以访问这些变量
    name = 'swk' #公共属性,所有实例都可以访问
    pass

    #在类中定义的函数我们称之为方法
    #这些方法可以通过该类的所有实例访问。
    def say_hello(self):
        #方法每次被调用时,解析器都会自动传递第一个实参
        #第一个参数,就是调用方法的对象本身
        #如果是p1调用,则第一个参数就是p1对象
        #如果p2调用,则第一个参数就是p2对象
        # 一般我们都会将这个参数命名为self
        print("hello, 我是 %s" % self.name)

#创建person实例
p1 = Person()
p2 = Person()
print(p1.name)
print(p2.name)

#调用方法,对象.方法名()
#方法调用和函数调用的区别
#如果是函数调用,则调用时传几个参数,就会有几个实参
#但是如果是方法调用,默认传一个参数,所以方法中至少要定义一个参数
p1.say_hello()

print(p1.name, p2.name)

p1.name = "zbj"
p2.name = "shs"

del p2.name #删除p2的name属性
print(p1.name)
print(p2.name)

2,创建对象的流程

p1 = Person()的运行流程
	1,创建一个变量
	2,在内存中创建一个新对象
	3,__init__(self)方法执行
	4,将对象的id赋值给变量
# -*- coding: UTF-8 -*-
class Person:

    #在类中可以定义一些特殊方法
    #特殊方法都是以__开头,__结尾的方法
    #特殊方法不需要自己调用, 不要尝试去调用特殊方法
    #特殊方法将会在特殊时刻自动调用
    #学习特殊方法
    #   1,特殊方法什么时候调用
    #   2, 特殊方法有什么作用
    #创建对象的流程
    #p1 = Person()的运行流程
    #1,创建一个变量
    #2,在内存中创建一个新对象
    #3,__init__(self)方法执行
    #4,将对象的id赋值给变量


    #init会在对象创建后立刻调用
    #init对象可以用来向新创建的对象中初始化属性
    #调用类创建对象时,类后面的所有对象参数都可以一次传递到init()中
    name = 'swk'
    def __init__(self, name):
        #print('hello')
        #init可以通过self向新建的对象中初始化属性
        self.name = name

    def say_hello(self):
        print('hello %s' % self.name)

# p1 = Person()
# #手动添加对象的name属性
# p1.name = 'swk'
# p2 = Person()
# p2.name = 'zbj'
#
# p1.say_hello()
# p2.say_hello()
p1 = Person('swk')
p1.say_hello()

3, 类的基本结构

class 类名([父类]):

	公共属性...

	#对象初始化福能股份
	def __init__(self, ...):
		...

	#其他方法
	def method_1(self,...):
		...

	def method_2(self,...):
		...

相关文章

python入门038:创建类

一、面向对象编程1、面向对象编程(Object-oriented Programming简称 OOP)python 是面向对象的编程语言。面向对象编程是一种封装代码的方法。代码封装,其实就是隐藏实现功...

python创建类的方法实例

创建一个学生类:数据:(姓名,姓别,年龄 ,分数)形为:打印信息'''class Studons:def __init__(self,name,xibie,nianling,f...

一日一技:在Python中创建类和对象

要创建一个类,请使用关键字class,如下:class MyClass: x = 5 print(MyClass)打印出结果:<class '__main__.MyClass...

一、Python 中类的定义、创建、使用

Python 界的领袖 Tim Peters 说的:元类就是深度的魔法,99% 的用户应该根本不必为此操心。如果你想搞清楚究竟是否需要用到元类,那么你就不需要它。那些实际用到元类的人都非常清楚地知道他...

python入门040:根据类创建实例

一、创建实例1、类的实例化定义的类只有进行实例化,也就是使用该类创建实例(对象)之后,才能得到使用。创建类实例(对象)的过程,又称为类的实例化。其语法格式为:类名(参数)在上面的程序中,我们首先创建了...

Python-15-类的定义和使用

类是什么?官方定义类提供了一种组合数据和功能的方法。创建一个新类意味着创建一个新的对象 类型,从而允许创建一个该类型的新 实例 。每个类的实例可以拥有保存自己状态的属性。一个类的实例也可以有改变自己状...