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. gohbase使用文档

    目录 1. 建立连接 2. 创建表 3. 插入记录 4. 删除记录 5. 查询记录 5.1 根据RowKey查询 5.2 scan范围查询 5.3 复杂查询(过滤器的使用) 5.3.1 比较过滤器 5 ...

  2. Java比较两个浮点数

    浮点数的基本数据类型不能用==比较,包装数据类型不能用 equals 比较 浮点数的表示 在计算机系统中,浮点数采用 符号+阶码+尾数 进行表示.在Java中,单精度浮点数float类型占32位,它的 ...

  3. 在Jupyter Notebook添加代码自动补全功能

    在使用Jupyter notebook时发现没有代码补全功能,于是在网上查找了一些资料,最后总结了以下内容. 1 安装显示目录功能: pip install jupyter_contrib_nbext ...

  4. PTA面向对象程序设计6-3 面积计算器(函数重载)

    实现一个面积计算器,它能够计算矩形或长方体的面积. 函数接口定义: int area(int x, int y); int area(int x, int y, int z); 第一个函数计算长方形的 ...

  5. python语言介绍及安装

    Python语言简介 Python是什么语言 Python是一种解释型的.可移植的.开源的脚本. 什么是计算机编程 计算机程序:为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合 如何 ...

  6. 433MHZ SPI模块使用心得

    最近使用了433MHZ的模块进行了一个通讯项目,选用的是SX1208模块,对接了RTOS和Linux两个操作系统,使用心得如下: 1. 首先要拿来datasheet看一遍,通揽一下它的功能.可以得到一 ...

  7. php超时报错: Maximum execution time of 300 seconds exceeded

    php.ini里max_execution_time = 30,原因是这个脚本执行时间太小了,增加一些,或者改成0不限制 可以增加代码: set_time_limit(0);

  8. Spring Cloud Gateway 没有链路信息,我 TM 人傻了(上)

    本系列是 我TM人傻了 系列第五期[捂脸],往期精彩回顾: 升级到Spring 5.3.x之后,GC次数急剧增加,我TM人傻了 这个大表走索引字段查询的 SQL 怎么就成全扫描了,我TM人傻了 获取异 ...

  9. win10系统安装jdk

    应用程序形式 文件包形式 环境变量配置 https://www.cnblogs.com/gz9218/p/2ae083861f6749899b1b800faabe1c17.html

  10. P6775-[NOI2020]制作菜品【贪心,dp】

    正题 题目链接:https://www.luogu.com.cn/problem/P6775 题目大意 \(n\)种原材料,第\(i\)个有\(d_i\)个,\(m\)道菜品都需要\(k\)个原料而且 ...