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. iNeuOS工业互联平台,PLC监测与控制应用过程案例。新闻:.NET 6 RC1 正式发布

    目       录 1.      概述... 1 2.      平台演示... 2 3.      应用过程... 2 1.   概述 iNeuOS工业互联网操作系统主要使用.netcore 3. ...

  2. Optional容器类

    一.Optional 容器类:用于尽量避免空指针异常 方法 /* * Optional.of(T t) : 创建一个 Optional 实例 * Optional.empty() : 创建一个空的 O ...

  3. Consul+Ocelot+Polly在.NetCore中使用(.NET5)-Consul服务注册,服务发现

    环境 .NET5,Consul_v1.10.2 一.简介 在微服务中利用Consul可以实现服务的注册,服务发现,治理,健康检查等. Web调站点需要调用多个服务,如果没有Consul,可能就是Web ...

  4. POJ1741——Tree(树的点分治)

    1 /* *********************************************** 2 Author :kuangbin 3 Created Time :2013-11-17 1 ...

  5. flex 简单设置

    /*弹性盒子 start*/ /* ============================================================ flex:定义布局为盒模型 flex-v: ...

  6. Java基础系列(28)- 方法的定义和调用

    方法的定义 Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法: 修饰符 返回值类型 方法名(参数类型 参数名){ -- 方法体 -- retu ...

  7. ❤️【Android精进之路-03】创建第一个Android应用程序竟然如此简单❤️

    您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本文会重点介绍如何创建第一个Android应用,以及如何使用Android Studio进行调试 干货满满,建议收藏,需要用到时常看看.小伙伴们如 ...

  8. Fabric SSH链接时关于找不到主机的问题

    先上一段简单的fabric代码: from __future__ import with_statementfrom fabric.api import *env.user = 'zhangsan'e ...

  9. 『Python』matplotlib坐标轴应用

    1. 设置坐标轴的位置和展示形式 import numpy as np import matplotlib.pyplot as plt import matplotlib as mpl mpl.use ...

  10. Expression Tree 遍历集合

    场景 从接口返回的数据是集合,却是 object 类型的.这个时候需要遍历这个集合.现提供两种方法. 方法一: 因为集合是可枚举的,所以可以尝试转为 IEnumerable 类型,然后遍历即可. st ...