本篇文章给大家谈谈如何理解python编程原理,以及python的编程技术,希望对各位有所帮助,不要忘了收藏本站喔。
一、两大编程思想
面向对象和面向过程,一个是宏观上的,一个是微观的
二、类和对象的创建
1、类:
- 类别,分门别类,物以类聚同义词。类是多个事物组成的群体的统称,能够帮助我们快速理解和判断事物的性质```*``
2、数据类型
(1)不同的数据类型属于不同类
(2)使用内置函数查看数据类型
print(type(100))
print(type(99))
print(type(520))
3、对象
100、99、520都是int类之下包含的相似的不同个例,这个个例专业术语称为实例或对象
python中一切皆对象(dict tuple list int 1 'world' 等等)
4、创建类的语法
class Student:#Student是类名,有一个或多个单词组成,每个单词的首字母大写,其余小写
pass
#python中一切皆对象,Student是对象吗?内存有开空间吗?答案均是肯定的
print(id(Student))
print(type(Student))
print(Student)
类的组成
- 类属性
- 实例方法
- 静态方法
- 类方法
class Student:
city='安徽'#直接写在类里的变量,称为类属性
def __init__(self,name,age):
self.name=name #self.name称为实体属性,进行了一个赋值操作,将局部变量的name的值赋给实例属性
self.age=age
#实例方法
def eat(self):#self肯定要有
print("刚刚吃了好吃的")
#静态方法
@staticmethod
def method():#静态方法里面不要加self
print('我使用了@staticmethod静态方法进行修饰,所以我是静态方法')
@classmethod
def cm(cls):
print("我是类方法,我使用了@classmethod进行修饰")
#上面这个def有点类似前面学的函数,但是在这里上面def表示的是方法
#因为在类之外定义的称为函数,在类之内定义的称为方法,下面的def是函数
def drink(self):
print("刚刚喝了饮料")
5、对象的创建
- 对象的创建又称为类的实例化
- 语法:
实例名=类名() - 意义:有了实例,就可以调用类中的内容
class Student:
city='安徽'
def __init__(self,name,age):
self.name=name
self.age=age
def eat(self):
print("刚刚吃了好吃的")
@staticmethod
def method():
print('我使用了@staticmethod静态方法进行修饰,所以我是静态方法')
@classmethod
def cm(cls):
print("我是类方法,我使用了@classmethod进行修饰")
def drink(self):
print("刚刚喝了饮料")
#创建Student类的对象
stu1=Student('李女士',18)
stu1.eat()
print(stu1.name)
print(stu1.age)
Student.eat(stu1)
三、类对象与类属性
- 类属性:类方法外的变量称为类属性,被该类的所有对象所共享
- 类方法:使用@classmethod修饰的方法,使用类名直接访问的方法
- 静态方法:使用@staticmethod修饰的方法,使用类名直接访问的方法
class Student:
#这里的city就是类属性,它是在所有类方法之外
city='安徽'
def __init__(self,name,age):
self.name=name
self.age=age
def eat(self):
print("刚刚吃了好吃的")
@staticmethod
def method():
print('我使用了@staticmethod静态方法进行修饰,所以我是静态方法')
@classmethod
def cm(cls):
print("我是类方法,我使用了@classmethod进行修饰")
print(Student.city) #访问类属性
Student.cm() #调用类方法
Student.method #调用静态方法
四、类方法与静态方法
动态绑定属性和方法
python是动态语言,在创建对象之后,可以动态的绑定属性和方法
1、动态绑定属性
class Student:
def __init__(self,name,age):
self.name=name
self.age=age
def eat(self):
print("中午吃了红烧肉")
stu1=Student("小红",5)
stu2=Student("小明",9)
#为stu1动态绑定性别属性
stu1.gender="女"
print(stu1.name,stu1.age,stu1.gender)
print(stu2.name,stu2.age)
——>小红 5 女
——>小明 9
2、动态绑定方法
stu1.eat()
stu2.eat()
——>小红中午吃了红烧肉
——>小明中午吃了红烧肉
def show():
print("定义在类之外,称函数")
stu1.show=show#这个过程就是动态绑定方法
stu1.show()
——>定义在类之外,称函数