当前位置: 首页 > news >正文

Python 入门教程 17 ---- Introduction to Classes


第一节

1 介绍了Python中类的结构

class NewClass(object):

stratement

第二节

1 介绍了类的初始化函数__init__(self)

2 Python中所有的类的初始化函数都是__init__(self),第一个参数表示的是本身的对象,就像C++的this指针

3 练习:写一个类名为Animal,初始化函数的函数体内容为pass

class Animal(object):
    def __init__(self):
        pass

第三节

1 介绍了怎么样在Python中的初始化函数来初始化一个值

2 比如__int__(self , nam): self.name = name,我们可以这样来初始化类的变量name的值

3 介绍了怎么样实例化一个类的对象

4 练习:实例化类Animal的对象,并输出它的name

class Animal(object):
    def __init__(self , name):
        self.name = name
zebra = Animal("Jeffrey")
print zebra.name

第四节

1 介绍了类的变量

2 对于类的变量,我们可以指定它的值,不用在初始化函数中赋值

3 比如以下类的变量is_alive

class Animal(object):

is_alive = True

statement

第五节

1 介绍了Python的类的继承

2 类的继承如下class DerivedClass(BaseClass): ,表示DerivedClass继承父类BaseClass

3 练习:在已有的类的基础上,写一个子类Triangle继承自父类Shape,并在子类中的初始化函数中有四个参数self,side1,side2,side3

class Shape(object):
    """Makes shapes!"""
    def __init__(self, number_of_sides):
        self.number_of_sides = number_of_sides

# Add your Triangle class below!
class Triangle(Shape):
    def __init__(self,side1,side2,side3):
        self.side1 = side1
        self.side2 = side2
        self.side3 = side3

第六节

1 介绍了类的继承之后我们可以对父类的方法进行重写(覆盖)

2 练习:写一个类名为PartTimeEmployee,继承Employee,重写函数calculate_wage,返回值乘上12

class Employee(object):
    """Models real-life employees!"""
    def __init__(self, employee_name):
        self.employee_name = employee_name
	
    def calculate_wage(self, hours):
        self.hours = hours
        return hours * 20.00

# Add your code below!
class PartTimeEmployee(Employee):
    def calculate_wage(self, hours):
        self.hours = hours
        return hours*12.00


第七节

1 类名应该严格是以大写字母开头

2 对于类的所有成员函数来说,至少都要有一个参数是self

3 对于类的变量来说值应该是事先就确定的,就像C++的静态成员变量,我们可以通过类名直接访问到,不用实例化

4 对于类的实例化变量来说我们是需要实例化出对象后才能访问到

5 在类的所有成员函数中,无论是访问类的变量还是类的实例化变量我们都是通过self.variable





相关文章:

  • HDU 4288 Coder 【线段树+离线处理+离散化】
  • 近期刷题的c语言总结。
  • 程序员看婚姻
  • Python 入门教程 18 ---- File Input/Output
  • 【职业】致迷茫的大学生们
  • (poj1.3.2)1791(构造法模拟)
  • 微软云技术Windows Azure专题(五):如何将WCF服务部署在Windows Azure上
  • 『Asp.Net 组件』Asp.Net 服务器组件 内嵌JS:让自己的控件动起来
  • 『Asp.Net 组件』第一个 Asp.Net 服务器组件:自己的文本框控件
  • 『Asp.Net 组件』Asp.Net 服务器组件 内嵌图片:自己的图片控件
  • 『Asp.Net 组件』Asp.Net 服务器组件 内嵌CSS:将CSS封装到程序集中
  • 『Asp.Net 组件』Asp.Net 服务器组件 的开发优势和劣势
  • Linux系统中的文件目录介绍——Linux system files in the directory structure is introduced
  • 『开源』字符串匹配引擎
  • java 新 IO 的运用
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • Apache的基本使用
  • codis proxy处理流程
  • Docker: 容器互访的三种方式
  • Flex布局到底解决了什么问题
  • Java 23种设计模式 之单例模式 7种实现方式
  • js
  • MobX
  • Nacos系列:Nacos的Java SDK使用
  • React组件设计模式(一)
  • Sass 快速入门教程
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • supervisor 永不挂掉的进程 安装以及使用
  • web标准化(下)
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 实现菜单下拉伸展折叠效果demo
  • 思否第一天
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 找一份好的前端工作,起点很重要
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • $refs 、$nextTic、动态组件、name的使用
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (三)终结任务
  • (十六)Flask之蓝图
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (四)Linux Shell编程——输入输出重定向
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (算法二)滑动窗口
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .NET Core WebAPI中封装Swagger配置
  • .NET Reactor简单使用教程
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .NET使用存储过程实现对数据库的增删改查