1,两大编程思想:面向过程,面向对象
2,类和对象的创建(class)
3,类对象与类属性
4,类方法与静态方法
创建类
#创建类
class Student: #Student为类的名称(就是类名),由一个或者多个单词组成,每个单词的首字母大写,其余小写。
pass #大写为规范(默认规范)
#类三部分 id 内存空间 值
#python中一切皆对象
print(id(Student)) #140699830919264
print(type(Student)) #
print(Student) #
定义python中的类
#类的组成:类属性,实例方法,静态方法,类方法
class Student:
native_place='成都' #直接写在类里的变量,称为类属性
def __init__(self,name,age): #初始化方法,括号里面可以再写其他的
self.name=name #self.name 称为实例属性,进行了一个赋值的操作,将局部变量的name赋值给实例属性
self.age=age #一般情况下,局部变量跟实例属性取名相同
#实例方法
def eat(self): #此为规范
print('学生在吃冰淇淋...')
#静态方法
@staticmethod
def method():
print('我使用了staticmethod进行修饰,所以我是静态方法')
#类方法
@classmethod
def cm(cls):
print('我使用了classmethod进行修饰,所以我是类方法')
#在类之内定义的称为方法,类之外定义的称为函数。
def drink(): #drink定义在类之外,称为函数
print('我想喝酸奶')
创建对象
实例对象:根据对象创建出来的就是实例对象
意义:有了实例,就可以调用类中的内容
#python中类的定义
#类的组成:类属性,实例方法,静态方法,类方法
class Student:
native_place='成都' #直接写在类里的变量,称为类属性
def __init__(self,name,age): #初始化方法,括号里面可以再写其他的
self.name=name #self.name 称为实例属性,进行了一个赋值的操作,将局部变量的name赋值给实例属性
self.age=age #一般情况下,局部变量跟实例属性取名相同
#实例方法
def eat(self): #此为规范
print('学生在吃冰淇淋...')
#静态方法
@staticmethod
def method():
print('我使用了staticmethod进行修饰,所以我是静态方法')
#类方法
@classmethod
def cm(cls):
print('我使用了classmethod进行修饰,所以我是类方法')
#在类之内定义的称为方法,类之外定义的称为函数。
def drink():
print('我想喝酸奶')
#创建Student类的对象 (根据类对象创建出来的就是实例对象)
#语法:实例名(就是对象名)=类名() #将创建的对象赋给变量名
stu1=Student('小宋',28) #前面init方法中有两个对象,即stu1的学生对象创建完成
#print(id(stu1)) #140727011651536
#print(type(stu1)) #
#print(stu1) #<__main__.Student object at 0x7ffd8f8a2fd0>
#实际上输出的是student对象的内存地址,是一个16进制的数
#创建了Student类的对象就可以使用方法了
#第一种方式: 实例对象名.方法名()
stu1.eat() # 学生在吃冰淇淋...
print(stu1.name) #小宋
print(stu1.age) #28
#这个类的实例对象,再去调用这个类的方法和属性的时候,使用 . 就可以调用了,如stu1.
#另一种方式: 类名.方法名(类的对象)---->实际上就是方法定义处的self
Student.eat(stu1) #学生在吃冰淇淋... 都是调用student类当中的eat方法



