建立网站需要钱吗,专业建站服务建站网,阿里云认证网站建设,纵横天下网站建设文章目录 前言1.类变量与实例变量2.静态方法和类方法1.静态方法2.类方法 3.实操使用1. 创建一个名为Person的类#xff0c;包含属性name和age#xff0c;并且有一个方法introduce()用于介绍自己的名字和年龄。2. 创建一个名为Circle的类#xff0c;包含属性radius和color包含属性name和age并且有一个方法introduce()用于介绍自己的名字和年龄。2. 创建一个名为Circle的类包含属性radius和color并且有一个方法get_area()用于计算圆的面积。3. 创建一个名为Rectangle的类包含属性length和width并且有一个方法get_perimeter()用于计算矩形的周长。4. 创建一个名为Car的类包含属性brand和color并且有一个方法start()用于启动汽车。5. 创建一个名为Student的类包含属性name和score并且有一个方法get_grade()用于根据分数返回相应的等级。6. 创建一个名为BankAccount的类包含属性account_number和balance并且有一个方法deposit()用于存款和一个方法withdraw()用于取款。7. 创建一个名为Animal的类包含属性name和sound并且有一个方法make_sound()用于发出动物的叫声。8. 创建一个名为Triangle的类包含属性side1、side2和side3并且有一个方法is_equilateral()用于判断三角形是否为等边三角形。9. 创建一个名为Book的类包含属性title和author并且有一个方法is_available()用于判断书籍是否可借阅。10. 创建一个名为Bank的类包含属性name和branches并且有一个方法add_branch()用于添加新的分支。 总结 前言
hello大家好我是BoBo仔吖。转眼间已经29章过去了Python的教程即将迈入一个新的篇章——模块化编程。作为Python基础的收尾部分这一章将要说些什么快接着往下看 1.类变量与实例变量
上来就扯这个想必不会太难。 这里我们的实例变量就是我们调用类是使用的变量形式就像这样
class Animal:def say(self):print(Animal)class Dog(Animal):def say(self):print(Dog)class Cat(Animal):def say(self):print(Cat)dog Dog()
cat Cat()这是一个我们上节课的例子 这里我们的dog和cat就是实例变量
那么什么是类变量呢 其实类变量之前我们也接触过就是在初识类的一讲中是提到过的
class Person:def __init__(self,name,age,height,weight):#‘赋值1’self.name nameself.age ageself.height heightself.weight weightdef print_person(self):print(姓名,self.name)print(年龄,self.age)print(身高,self.height)print(体重,self.weight)这里的name age height weight就是类变量 其实我们的类变量不像我们的私有方法与私有属性不同在实例中类变量也是可以调用的 接下来我们来看一个类Animal的实例
class Animal:name 动物#这里的name就是类变量dog Animal()
cat Animal()print(dog.name)
print(cat.name)Animal.name 哺乳类动物print(dog.name)
print(cat.name)这个程序的输出大家可以自己试试
这里我们调用了name类变量 这里我们还出现了两个实例变量dog和cat 它们调用了Animal类中的内容调用代码就是这两行前
print(dog.name)
print(cat.name)然后我们name稍稍调整了一下变成了这样 Animal.name 哺乳类动物print(dog.name)
print(cat.name)这两个操作就是类变量调用
2.静态方法和类方法
静态方法和类变量都点相似静态方法在定义类时就已经被分配定义好了。 静态方法并不绑定类也不绑定实例相当于给方法添加了一个前缀。定义静态方法将引入一个新的概念——装饰器。 PS这里我们只要知道使用方法即可详细介绍会在后期的文章中展开敬请期待
1.静态方法
定义静态方法
class Animal:name 动物staticmethoddef play():print(playing)Animal.play()看到这里的staticmethod了吗? 这就是装饰器语法 输出也就是playing了 正如这个例子写的定义静态方法的语法就是在定义函数的上面一行不能有空行添加一句 staticmethod。敬爱方法不再有第一个默认参数self所以静态方法本身也不能调用成员变量和成员方方法。静态方法不需要实例化之后使用和类变量一样直接使用即可其他的和一般的函数没有任何区别。
2.类方法
类方法顾名思义就是该方法绑定在定义的类的上面而不是绑定在实例上 定义类方法
class Animal:name 动物classmethoddef play(cls):print(cls.name,playing)Animal.play()从这个例子可以看出定义类方法的方法和定义静态方法的方法有点相似是在定义类方法的前一行不能有空行添加一句装饰语法“classmethod”。 和静态方法不同的是类方法和成员方法一样都有一个初始的参数但是这个参数不同于成员方法。成员方法的第一个参数cls指向的是实例而类方法指向的则是定义的类的本身所以类方法可以读取和修改类变量。
好了这就是面向对象编程的所有拓展内容了大家可以简单了解一下难度其实并不大. 学了这么多到了大显身手的时候咯。
3.实操使用
1. 创建一个名为Person的类包含属性name和age并且有一个方法introduce()用于介绍自己的名字和年龄。
这道题不难的啦大家用第一节课的内容就能解决啦。
class Person:def __init__(self, name, age):self.name nameself.age agedef introduce(self):print(My name is, self.name, and I am, self.age, years old.)
是不是非常的简单
2. 创建一个名为Circle的类包含属性radius和color并且有一个方法get_area()用于计算圆的面积。
这个大家就需要用到math库进行画圆
import mathclass Circle:def __init__(self, radius, color):self.radius radiusself.color colordef get_area(self):return math.pi * self.radius**2
至于具体的原因大家可以自己了解一下或者看看我关于math库的文章
3. 创建一个名为Rectangle的类包含属性length和width并且有一个方法get_perimeter()用于计算矩形的周长。
import mathclass Circle:def __init__(self, radius, color):self.radius radiusself.color colordef get_area(self):return math.pi * self.radius**2
这个和上面的circle异曲同工原理也非常简单
4. 创建一个名为Car的类包含属性brand和color并且有一个方法start()用于启动汽车。
class Car:def __init__(self, brand, color):self.brand brandself.color colordef start(self):print(The, self.color, self.brand, car has started.)
5. 创建一个名为Student的类包含属性name和score并且有一个方法get_grade()用于根据分数返回相应的等级。
class Student:def __init__(self, name, score):self.name nameself.score scoredef get_grade(self):if self.score 90:return Aelif self.score 80:return Belif self.score 70:return Celif self.score 60:return Delse:return F
6. 创建一个名为BankAccount的类包含属性account_number和balance并且有一个方法deposit()用于存款和一个方法withdraw()用于取款。
class BankAccount:def __init__(self, account_number, balance):self.account_number account_numberself.balance balancedef deposit(self, amount):self.balance amountdef withdraw(self, amount):if amount self.balance:self.balance - amountelse:print(Insufficient balance.)
7. 创建一个名为Animal的类包含属性name和sound并且有一个方法make_sound()用于发出动物的叫声。
class Animal:def __init__(self, name, sound):self.name nameself.sound sounddef make_sound(self):print(The, self.name, goes, self.sound)
8. 创建一个名为Triangle的类包含属性side1、side2和side3并且有一个方法is_equilateral()用于判断三角形是否为等边三角形。
class Triangle:def __init__(self, side1, side2, side3):self.side1 side1self.side2 side2self.side3 side3def is_equilateral(self):return self.side1 self.side2 self.side3
9. 创建一个名为Book的类包含属性title和author并且有一个方法is_available()用于判断书籍是否可借阅。
class Book:def __init__(self, title, author):self.title titleself.author authordef is_available(self):# Placeholder implementationreturn True
10. 创建一个名为Bank的类包含属性name和branches并且有一个方法add_branch()用于添加新的分支。
class Bank:def __init__(self, name):self.name nameself.branches []def add_branch(self, branch_name):self.branches.append(branch_name)
后面即可就和我们在第28章讲的内容差不多。 这种东西非常的具有实用性哦大家要好好学习
总结
好了终于历时5章的面向对象编程终于结束啦
大家一定要把我们的文章好好看好好学好好看 这里的10个实例既生动又形象实用性刚刚滴 ok最后的最后 【制作不易】【一圈三连】【点个关注】