1、python中的内置函数
1.1、常见内置函数
我们都知道python中对象是无处不在的,例如变量、数据、函数都是对象。使用内置函数dir传入标识符或者数据,可以查看对象内的所有属性及方法。
python常见的内置方法如下:
(1)__new__方法,创建对象时,会被自动调用;
(2)__init__方法,对象被初始化时,会被自动调用;
(3)__del__方法,对象被从内存中销毁前,会被自动调用;
(4)__str__方法,返回对象的描述信息,print函数输出使用。
【创建对象的语法格式】
对象变量 = 类名()
【初始化方法__init__】当使用类名()创建对象时,会自动执行以下操作:
(1)为对象在内存中分配空间,也就是创建对象;
(2)为对象的属性设置初始值,也就是初始化方法__init_。
__init__方法是专门用来定义一个类具有哪些属性的方法。在__init__方法内部使用self.属性名 = 属性的初始值 就可以定义属性,在定义属性之后,再调用类创建的对象,都会拥有该类属性。
1.2、方法中的self参数
在说self参数之前,介绍一下引用的概念。
在python中使用类创建对象之后,该对象也就是个变量,在该变量中仍然记录的是对象在内存中的地址。在使用print函数输出对象变量时,默认情况下是能够输出这个变量引用的对象是由哪一个类创建的对象,以及在内存中的地址(十六进制表示)
%d
可以以 10 进制 输出数字%x
可以以 16 进制 输出数字
使用self在方法内部表示:由哪个对象调用的方法,那么方法内的self就是哪一个对象的引用;在调用方法时,程序员不需要传递self参数。
(1)可以通过self. 访问对象的属性。
(2)也可以通过self. 调用其他的对象方法。
2、类的属性和方法
2.1、类的结构
在python中类是一个特殊的对象,每一个对象都有自己独立的内存空间,保存各自不同的属性;一个类多个对象的方法,在内存中只有一个份,在调用方法时,需要把对象的引用传递到方法内部。
例如: class Person:这就是定义类属于类对象
obj1=Person() 这就是属于实例对象
在python中程序运行时,类同样会被加载到内存,类是一个特殊的对象,也就是类对象;类对象在内存中只有一份,使用一个类可以创建出很多个对象实例;除了封装实例的属性和方法外,类对象还可以拥有自己的属性和方法。
【注意】 如果使用 对象.类属性 = 值 赋值语句,只会给对象天剑一个属性,而不会影响到类属性的值。
2.2、类的方法
类的方法可以分为:类的静态方法、类方法、类对象的实例方法。在创建类的静态方法时,是需要在该方法上加上@staticmethod注解。在创建类方法时,需要在该方法上加上@classmethod注解,且该方法第一个参数是cls;由 哪一个类 调用的方法,方法内的 cls 就是 哪一个类的引用,通过 类名. 调用 类方法,调用方法时,不需要传递 cls 参数。
# -*- coding: utf-8 -*-
class Game(object):
#历史最高分
top_score=0
def __init__(self,player_name):
self.player_name=player_name
#定义静态方法
@staticmethod
def show_help():
print("游戏帮助文档")
#类方法
@classmethod
def show_top_score(cls):
print("历史记录 %d" % cls.top_score)
#实例方法
def start_game(self):
print("%s 开始游戏..." % self.player_name)
#1.查看游戏帮助
Game.show_help() #调用类静态方法
#2.查看游戏最高分
Game.show_top_score() #调用类方法
#3.
game=Game("小雨")
game.start_game() #调用对象实例方法