Python语法第9讲:面向对象
来源:互联网 发布:java 服务器文件同步 编辑:程序博客网 时间:2024/05/17 11:58
什么是对象?有句话说的好,万事万物皆对象!对象有3个特性,分别是继承、封装、多态,任何对象都有2个事务组成,分别是成员变量和成员方法,成员变量表示的是对象的属性,成员方法表示对象的行为,例如:人可以有自己的标志(属性),比如说年龄、身高、血型,也有自己的行为,比如说吃饭、睡觉、打豆豆。
1、创建类
1.1、结构
class 类名: #属性--变量 ... #方法--函数 ...1.2、说明
Python中,通过class关键字定义类名,要求类名的首字母大写,定义成员方法时,要求传递self参数(相当于Java中的this关键字);Python中定义构造函数,要求构造函数的名称是__init__
1.3、示例
class Person: #属性--变量 __sex = "男" #私有变量,只需要在变量前加两个下划线 name = None age = None #方法--函数 def sayHello(self, friendName): print("Hello %s I'm %s %s years old" %(friendName, self.name, self.age) ) #构造函数 def __init__(self, name, age): self.name = name self.age = age在以上示例代码中,定义了一个Person类,Person类中有3个属性,分别是sex、name和age;2个成员方法,其中一个成员方法是该类的构造函数,作用是初始化成员变量,self相当于Java中的this关键字
2、import关键字
在Python中通过import关键字导入模块,与Java中的import关键字类似
import 函数名 from 模块名 import 函数名import 模块名 as 函数名标识3、实例化对象及对象的方法调用
import 面向对象.类对象.Person as pperson = p.Person("LiLei", 18)person.sayHello("HanMeimei")# print(p.__sex) #无法访问,因为__sex变量是私有的print(person._Person__sex) #python是伪私有,如果想访问私有变量可以通过p._Person__sex,即:对象名._类名__变量名运行结果:
综合案例
需求说明:
声明一个Student类,Student中有2个成员变量分别是姓名(name)和分数(score),提供一个构造方法,作用是初始化成员变量;创建一个测试模块,实例化3个学生对象并将3个对象存放到一个数组中,要求控制台输出3个学生的总成绩
需求分解:
1、创建一个Student类,提供两个属性,name和score,一个构造函数,在函数中给成员变量赋值
2、在测试模块中导入Student对象
3、实例化3个对象,创建一个数组,将这3个对象放在数组中
4、定义一个totle变量用户计算成绩的合
5、定义一个for循环,获得每个学生的成绩,并且相加
实现:
Student.py
class Student: name = "" score = "" def __init__(self, name, score): self.name = name self.score = scoreTest.py
from 练习.面向对象.Student import Studentstudent1 = Student("张三", 98)student2 = Student("李四", 60)student3 = Student("王五", 82)arr = [student1, student2, student3]totle = 0for stu in arr: totle = totle + stu.scoreprint("3个学生的总成绩是:%s" %totle)运行结果:
阅读全文
0 0
- Python语法第9讲:面向对象
- Python语法第10讲:面向对象之继承
- Java基础第9讲--面向对象之继承
- 第06讲 面向对象示例
- 【Java】第1讲:面向对象
- Python语法第1讲:快速入门
- Python语法第3讲:数组
- Python语法第5讲:字典
- Python语法第6讲:集合
- Python语法第7讲:文件处理
- Python语法第7讲:函数
- Python语法第8讲:异常处理
- python语法学习面向对象之继承
- python语法学习面向对象之继承
- #笔记#圣思园 JavaSE 第9讲——面向对象之 封装 encapsulation
- 第1讲:面向对象设计模式与原则
- 第03讲-面向对象设计原则_设计实验
- Java基础第7讲--面向对象之类和方法
- jquery插件封装
- SEO的困惑 有效外链是什么?
- python 父类与子类的一些说明
- el表达式在js中引用的注意事项
- python脚本多渠道打包应用
- Python语法第9讲:面向对象
- struts2 在Action中访问WEB资源
- 图片上传
- priority_queue 建立最小堆
- 图片上传
- 范凌:设计与人工智能行业报告与商业实践(上)
- GreenDao3.2在AndroidStudio中的配置和初步使用
- 两个小效果(美女系列..)1.纯css和css3实现;2.jquery实现.
- javascript面向对象整理