1、python定义类、创建对象

class Myclass:                 # 定义Myclass类
def sum(self,x,y):
self.x = x
self.y = y
return self.x+self.y obj = Myclass() # 创建obj对象,与Java不一样的是不需要new
s = obj.sum(3,5)
print('s=',s)

该程序定义类Myclass,并创建对象,通过对象调用类的方法。

创建对象格式:对象名 = 类名()

调用成员方法:对象名.方法名(self) (self的使用方法类似java中的this)

2、私有成员

class testPrivate:
def __init__(self, x, y):
self.__x = x
self.__y = y def add(self):
self.__s = self.__x + self.__y
return self.__s def printData(self):
print(self.__s) t = testPrivate(3, 5)
s = t.add()
t.printData()
print("s=", s)

私有成员只能在类的内部调用,由“_ _”做前缀,则为私有成员。

3、构造方法

class Person:
def __init__(self, Name, Age):
self.name = Name
self.age = Age
def main(self):
print("输入的名字是", self.name)
print("输入的年龄是", self.age) name = input("请输入你的名字:")
age = input("请输入你的年龄:")
p = Person(name, age)
p.main()

类的构造方法:_ _ init _ _(),构造方法属于对象,每个对象都有自己的构造方法。

4、析构方法

析构方法用于释放对象所占用的资源,在python系统销毁对象之前自动执行。可以类比Java中的GC机制

class Mood:
def __init__(self, x):
self.x = x
print("产生对象:", x) def __del__(self):
print("销毁对象:", self.x) f1 = Mood(1)
f2 = Mood(2)
del f1
del f2

5、类的继承

单继承:class 子类名(父类名):

​ 子类的类体语句

多继承:class 子类名(父类名1,父类名2,...父类名n):

​ 子类的类体语句

Python在多继承时,如果这些父类中有相同的方法名,而在子类中使用时没有使用指定父类名,系统将会从左往右按顺序搜索。

from ForthClass.Person import Person

class Sunny(Person):
def __init__(self, name, age, score):
super(Sunny, self).__init__(name, age)
self.score = score def prn(self):
Person.main(self)
print("成绩:", self.score) name = input("请输入姓名:")
age = input("请输入年龄:")
score = input("请输入分数:")
s = Sunny(name, age, score) # 实例化子类对象
s.prn() # 调用子类方法

6、作业

设计一个商品类,有商品编号、品名、价格、数量,应用该类,统计商品的总金额。

class Goods:
def __init__(self, Num, Name , Price, Count):
self.num = Num
self.name = Name
self.price = Price
self.count = Count def TotalPrice(self):
totalPrice = self.count*self.price
print("商品的总金额是:", totalPrice) num = input("请输入商品编号:")
name = input("请输入商品名称:")
price = eval(input("请输入商品的价钱:"))
count = eval(input("请输入商品的数量:"))
g = Goods(num, name, price, count)
g.TotalPrice()

Python课程笔记(三)的更多相关文章

  1. python课程单元三编程题讲解(上)

    目录 1.快乐的数字 2.凯撒密码I 3.凯撒密码II 4.括号配对检测 A @     下面向大家介绍一下我在学习python课程的一些题目的解法,如果大家有什么更好的解法请私信我.这里只显示题目与 ...

  2. Python课程笔记(一)

    由于新冠状病毒的爆发,不得不在家里上网课,开课已经两个礼拜了,今天上完Python课后,准备整理一下最近学习Python的笔记. 人生苦短,我用Python 一.Hello World 初学一门新的语 ...

  3. Python 学习笔记三

    笔记三:函数 笔记二已取消置顶链接地址:http://www.cnblogs.com/dzzy/p/5289186.html 函数的作用: 給代码段命名,就像变量給数字命名一样 可以接收参数,像arg ...

  4. Python课程笔记(九)

    本次课程主要学习了Excel和JSON格式的一些读写操作.课程代码 一.Excel数据读写操作 1.安装模块 pip install xlrd pip install xlwt 网不好可以采用三方库: ...

  5. Python课程笔记(八)

    一些简单的文件操作,学过linux的话理解感觉不会很难.课程代码 一.OS 目录方法 这个模块提供了一种方便的使用操作系统函数的方法 函数 说明 os.mkdir("path") ...

  6. Python课程笔记(六)

    今天上课补上了上次未学完比较重点的鼠标和键盘事件,同时开始学习运用turtle进行绘图. 本次课程的代码: https://gitee.com/wang_ming_er/python_course_l ...

  7. Python课程笔记 (五)

    今天主要学习图形用户界面,更多的还是要我们自己去实际操作,课仿佛上了一半就完了,分享一下课程(这里在SixthClass)的源码: https://gitee.com/wang_ming_er/pyt ...

  8. webdriver(python) 学习笔记三

    知识点:简单的对象定位 对象的定位应该是自动化测试的核心,要想操作一个对象,首先应该识别这个对象.一个对象就是一个人一样,他会有各种的特征(属性),如比我们可以通过一个人的身份证号,姓名,或者他住在哪 ...

  9. python学习笔记三--字典

    一.字典: 1. 不是序列,是一种映射, 键 :值的映射关系. 2. 没有顺序和位置的概念,只是把值存到对应的键里面. 3. 通过健而不是通过偏移量来读取 4. 任意对象的无序集合 5. 可变长,异构 ...

随机推荐

  1. python库--pandas--文本文件读取

    .read_table() / read_csv()     filepath_or_buffer 文件路径 sep='\t' 分隔符. 设置为N, 将尝试自动确定 delimiter=N sep的备 ...

  2. [第十一篇]——Docker 仓库管理之Spring Cloud直播商城 b2b2c电子商务技术总结

    Docker 仓库管理 仓库(Repository)是集中存放镜像的地方.以下介绍一下 Docker Hub.当然不止 docker hub,只是远程的服务商不一样,操作都是一样的. Docker H ...

  3. 5-21python数据类型

    一.字符串,是不可变数据类型,所有字符串的方法都不会修改字符串的值,使用字符串的方法后都是生成了一个新的字符串.就因为字符串是不可变变量! 字符串的方法 1. strip(),默认去空格,但是当()中 ...

  4. CodeForce-791B Bear and Friendship Condition(并查集)

    Bear Limak examines a social network. Its main functionality is that two members can become friends ...

  5. php 的一些问题

    ------------------------------------------------------------------------------ * 绝对路径转化为相对路径 <?ph ...

  6. mysql 不常用的存储引擎

    csv 数据文件可以编辑;每一列不能为空,不支持索引:文件保存数据,cat可以查看数据;用处:数据交换中间表--excel表导入数据等; Archive 对表数据进行压缩,磁盘i/o减少:节省空间;只 ...

  7. js 命令模式 组合模式

    * 基本宏命令 var closeDoorCommand = { execute: function() { console.log("Closing the door..."); ...

  8. pyqt5读取文本框内容,输出到日志框(QTextBrowser)

    import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QAction,QLabel,QLineEdit,QPushButt ...

  9. Centos7 安装 .Net Core2.2

    添加 rpm 源 sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm 开始 ...

  10. anchor-animation

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...