python学习-第四天补充-面向对象

python学习-第四天补充-面向对象

python 私有 ——name mangling(名字修改、名字)

在命名时,通过使用两个下划线作为开头,可以使得这个变量或者函数编程私有的,但是这个其实的python的伪私有,实际是python通过名字修改来进行的,python会把这样命名的变量或者函数名改为_类名__变量名

class A:
    __name="hello"

t = A();
#print(t.__name)
#这样会出现错误,错误提示说这个变量没有__name类型

print(t._A__name)
#这里python实际是给__name改名为_A__name了

继承

import random as r
class fish:
    def __init__(self):
        self.x = r.randint(0, 10)
        self.y = r.randint(0, 10)
    def move(self):
        self.x -= 1
        print("我的位置是:", self.x, self.y)

class godfish(fish):
    pass

class shark(fish):
    def __init__(self):
        #fish.__init__(self) 这里是调用未绑定的父类方法
        super().__init__() #使用super函数,和上面的方式一样,但是更简单
        self.hungry = True

def eat(self):
    if self.hungry:
        print("我要吃饭了")
        self.hungry = False
    else:
        print("太撑了,吃不下了!")

原文地址:https://www.cnblogs.com/alking1001/p/11616177.html

时间: 2024-10-23 19:09:49

python学习-第四天补充-面向对象的相关文章

Python学习系列(八)( 面向对象基础)

 Python学习系列(八)( 面向对象基础) Python学习系列(七)( 数据库编程) 一,面向对象 1,域:属于一个对象或类的变量.有两种类型,即实例变量—属于每个实例/类的对象:类变量—属于类本身. 2,类的方法:对象也可以使用属于类的函数来具有功能,这样的函数称之为类的方法.域和方法合称为类的属性.类使用class关键字创建,类的属性被列在一个缩进块中. 3,self:类的方法与普通的函数只有一个特别的区别----他们必须有一个额外的第一个参数名称,但是在调用的时候不能为其赋值,Pyt

五、Android学习第四天补充——Android的常用控件(转)

(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 五.Android学习第四天补充——Android的常用控件 熟悉常用的Android的几个常用控件的使用方法: 一.RadioGroup和RadioButton——单选按钮 二.Checkbox——复选框 三.Toast——提示框,会自动消失 四.ProgressBar——进度条工具 五.ListView——以列表形式将控件显示出来 下面就对这些内容做个详细的解释: 首

python学习第四十八天json模块与pickle模块差异

在开发过程中,字符串和python数据类型进行转换,下面比较python学习第四十八天json模块与pickle模块差异. json 的优点和缺点 优点  跨语言,体积小 缺点 只能支持 int str list tuple dict pickle 的优点和缺点 优点 专门为python设计,支持python所有的数据类型 缺点 只能python使用,存储数据占空间大 文章来自 www.96net.com.cn 原文地址:https://www.cnblogs.com/96net/p/97806

Python学习第四天学习写的小案例(主要是针对 分支/循环的学习)

Python学习第四天学习写的小案例 (2019/07/17) 第一题:使用while循环输出1 2 3 4 5 6 8 9 10 程序代码: s = 0 while s<10: if s==6: s += 1 # 当数字为7的时候输出一个空格出来 print(end=' ') continue s += 1 print(s,end=' ') 运行结果: 1 2 3 4 5 6 8 9 10 第二题: 求1-100的所有数的和 程序代码: count = 0 for i in range(101

python学习笔记-(十)面向对象基础

面向对象相关知识简介 类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 类变量:类变量在整个实例化的对象中是公用的.类变量定义在类中且在函数体之外.类变量通常不作为实例变量使用. 数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据. 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写. 实例变量:定义在方法中的变量,只作用于当前实例的类

迭代器与函数Python学习(四)

1.1 迭代器: 迭代的工具 1.1.1 什么是迭代: 指的是一个重复的过程,每一次重复称为一次迭代,并且每一次重复的结果是下一次重复的初始值 while True: print('=====>') l=['a','b','c'] count=0 while count < len(l): print(l[count]) count+=1   1.1.2 为什么要有迭代器? 对于序列类型:str,list,tuple,可以依赖索引来迭代取值, 但是对于dict,set,文件,python必须为

我的python学习--第四天

一.首先是对前三天的学习内容进行复习 1.python基础的数据结构 数字(int/float,包括整数和浮点数) 布尔(boolean => True/False) 字符串(str,使用''或""括起来) 列表(list) 列表是使用[]括起来的一组数组,在内存中是连续的,可以对其增删改查 字典(dict) 字典是使用{}括起来的k/v键值对,经过哈希计算随机分布在内存中,是无序的,可以对其增删改查 元组(tuple) 元组与列表类似,不同之处在于元组的元素不能修改,元组使用小

python学习笔记-(十一)面向对象进阶&amp;异常处理

上篇我们已经了解了一些面向对象的基础知识,本次就了解下面向对象的一些进阶知识(虽然我也不知道有什么卵用). 静态方法 静态方法是一种普通函数,就位于类定义的命名空间中,它不会对任何实例类型进行操作.使用装饰器@staticmethod定义静态方法.类对象和实例都可以调用静态方法: 说了那么多,估计会有些懵逼,咱们还是直接上代码看下静态方法怎么使用吧! 1.按照正常逻辑编写代码并加上@staticmethod定义静态方法eat: class People(object): def __init__

【Python学习之路】——Day8(面向对象进阶)

面向对象 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个"函数"供使用(可以讲多函数中公用的变量封装到对象中) 对象,根据模板创建的实例(即:对象),实例用于调用被包装在类中的函数 面向对象三大特性:封装.继承和多态 介绍Python 类的成员.成员修饰符.类的特殊成员. 类的成员 类的成员可以分为三大类:字段.方法和属性 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段.而其