a = 5print(5/10)# 地板除(功能类似于数学模块当中floor()向下取整操作)print(5//10)print(a%10)b = 25print(b/10)print(b//10)print(b%10)-----------------------------------import randomimport math‘‘‘输入一个三位数与程序随机数比较大小如果大于程序随机数,则输出这个三位数的个位\十位\百位如果等于程序随机数,则提示中奖,记100分如果小于程序随机数,则将120个字符输入到文本文件中(规则是每一条字符串的长度为1...
del 语句Python 提供了 del 语句用于删除不再使用的变量 语法del 表达式 删除变量的栗子var = "hello"del var
print(var)# 输出结果print(var)
NameError: name ‘var‘isnot defined变量已经被删除了,所以无法访问变量 类的析构方法Python 提供了一种机制使得对象被删除前能够得到通知对象被删除时,如果该对象拥有名为 __del__ 的方法,该方法在删除前被调用,该方法又被称为析构方法 语法class 类:def__del__(self):self.属性...
使用@property在绑定属性时,如果直接把属性暴露出去,虽然写起来简单,但是没法检查参数,导致可以把成绩随便改:>>> class Student(object):pass>>> s =Student()
>>> s.score=999
>>> s.score
999这显然不符合逻辑,为了限制score的范围,可以通过一个set_score()方法来设置成绩,再通过一个get_score()来获取成绩,这样,在set_score()方法里,就可以检查参数:>>> class Student(object):def get_score(self):return self.sco...
继承:类之间的类型和子类型关系代码重用:SchoolMember类被称为 基本类或超类,而Teacher和Student类被称为导出类或者子类#!/usr/bin/python
#Filename:Inherit.pyclass SchoolMember:‘Represents any school member.‘def __init__(self,name,age):self.name = nameself.age = ageprint ‘(Initialized SchoolMember:%s)‘ %self.namedef tell(self):‘Tell my details.‘print ‘Name:"%s" Age:"%s"‘%(self.name,self.age)cla...
面向对象的高级用法1. __str__只要执行打印对象的操作,就会触发该对象类中的__str__方法(也就是对象的绑定方法)它是一种默认的方法,默认的打印输出为<__main__.Foo object at 0x003EE350>,但是如果将该绑定方法在类中重写的话,要求必须有以字符串类型的返回值,返回形式可以自己设定。class Foo:def__init__(self,name,age):self.name = nameself.age = agedef__str__(self):return‘name:%s age:%d‘ % (self.name,self.age...
面向对象初识类的概念:具有相同属性和技能的一类事物对象的概念:对一个类的具体描述 使用面向对象的好处:1.使得代码之间的角色关系更加明确2.增强了代码的可扩展性3.规范了对象的属性和性能面向对象的特点:结局的不确定性 类的内部各个部分说明和结构:class 类名(首字母大写): #引用静态变量 #1.类名.__dict__[‘静态变量名‘] #可以查看,但是不能删改 #2.类名.静态变量名 #直接就可以访问,可以删改 ...
一、面向对象介绍介绍面向对象之前,先来回顾一下以前学的面向过程的编程思想面向过程编程: 核心是过程二字,过程指的是解决问题的步骤,即先干什么,再干什么后干什么,基于该思想编程就好比是在设计一条流水线,是一种机械化的思维方式 优点:复杂的问题流程化,进而简单化 缺点:可扩展性差现在轮到面向对象的编程思想了! 面向对象编程,核心是对象二字,对象是特征与技能的结合体,基于该思想编写程序(脑子里始...
本篇将详细介绍Python 类的成员、成员修饰符、类的特殊成员。类的成员:类的成员可以分为三大类:字段(变量)、方法、属性。注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段。而其他的成员,则都是保存在类中,即:无论对象的多少,在内存中只创建一份。一、字段字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同:普通字...
class参考文档:http://woodpecker.org.cn/abyteofpython_cn/chinese/ch11.html#s01本文出自 “Linux SA John” 博客,请务必保留此出处http://john88wang.blog.51cto.com/2165294/1623408原文:http://john88wang.blog.51cto.com/2165294/1623408
Python是一门高级语言,支持面向对象设计,如何设计一个符合Python风格的面向对象的类,是一个比较复杂的问题,本文提供一个参考,表达一种思路,探究一层原理。
目标
期望实现的类具有以下基本行为:__repr__ 为repr()提供支持,返回便于开发者理解的对象字符串表示形式。__str__ 为str()提供支持,返回便于用户理解的对象字符串表示形式。__bytes__ 为bytes()提供支持,返回对象的二进制表示形式。__format__ 为format()和str.fo...
一、系统异常 """
捕获异常
"""def test_div(num1, num2):"""除法:param num1::param num2:"""return num1/num2if__name__ == ‘__main__‘:# except后面无异常类型,则默认捕获Exception,则是捕获所有的异常try:rest1 = test_div(5, 0)print(rest1) # 报错:ZeroDivisionError: division by zeroexcept:print("报错啦") # 输出:报错啦,除数不能为0# 捕获指定异常try:rest1 = test_div(5, 0)print(rest1) # 报错:ZeroDivisi...
一 .python面向对象主动调用其他类成员 (看代码) 主动调用 其他类的成员# 没有继承 的主动调用class Grad(object):bar=555555def__init__(self,num):self.num=numdef aa(self):print("相当的99999999999999999S")
class Son():def aa(self):Grad.aa(self)print("相当的6666666666666666666")b=Son()
b.aa()
# 相当的99999999999999999S
# 相当的6666666666666666666print("*****************************************************...
三大特性继承多态封装 类的组合用法面向对象的用法一个对象的属性值是另外一个类的对象,就是组合 # 定义了一个Dog类,有名字,攻击力,血量,种类,并且有咬的技能(方法)class Dog:def__init__(self,name,aggr,hp,kind):self.name = nameself.aggr = aggrself.hp = hpself.kind = kinddef bite(self,person):person.hp -= self.aggr# 定义了一个人的类,有名字,攻击力,血量,性别,金钱,有攻击技能,有获取武器的技能class ...
1#!/usr/bin/env python3 2# coding=utf-8 3# Version:python3.6.1 4# Project:practice 5# File:Vehicle.py 6# Data:2020/7/11 15:54 7# Author:LGSP_Harold 8 9"""10编程练习
11自定义一个交通工具类(Vehicle),并根据提示对该类进行进一步封
12装,使其拥有工具类型、速度、体积等属性值。通过自定义实例方法
13实现交通工具的前移、速度设置、获取当前速度、加速行驶、减速行
14驶、实例信息展示、实例类型判别等功能。
1516任...
#封装:读写限制:class Garment: def __init__(self, name, price): self.name = name self.price = price @property def price(self): return self.__price @price.setter def price(self, value): if 1 <= value <= 1500: self.__price = value else: raise ValueError(‘overstep price‘) # price = property(None, _set_price)只读 写限制class G...