py 5.24

#面向对象
#类:模子。Person,不具体。
#实例/对象:依托于类产生的具体的带有属性的。alex
#实例化:产生对象的过程。 alex = Person()
#类:
#分为静态属性(一般的变量)。动态属性(函数)
# 查看类中的静态属性:类.变量名
#查看类中的动态属性:类.函数名(或方法名)--->得到的是函数的内存地址。
#调用动态属性:类.函数名()
#创建类:class 类名(第一个字母必须大写,后面没有括号):
#创建对象:
# alex = Person(参数):  #内存中开辟一个属于对象的内存空间
# 同时类中会自动执行 def __init__(self):函数    --->外面的参数会通过这里传进来。
#self也会指向刚才对象打开的内存空间,self与alex内存地址相同。
#给__init__(self)传参并定义self的变量值,存在内存地址中,执行结束后将结果返回给对象alex。
#这样对象就产生了,可以用对象查看其中的各种属性或者操作其它类中的方法。
#人狗大战:
# class Person:     #建立一个类
#     def __init__(self,name,sex,hp,ad):  #初始化方法
#         self.name = name
#         self.sex = sex
#         self.hp = hp
#         self.ad = ad                    #执行结束将各个变量值传给对象。(因为在同一个内存地址)
#     def attack(self,dog):              #类中的一个方法。可以用对象直接调用,必须用这个类实例化的对象来调用。
#         print('%s攻击了%s'%(self.name,dog.name))
#         print('%s掉了%s点血,还剩%s点血'%(dog.name,self.ad,dog.hp-self.ad))
#
# class Dog:
#     def __init__(self, name, kind, hp, ad):
#         self.name = name
#         self.kind = kind
#         self.hp = hp
#         self.ad = ad
#     def bite(self,person):
#         print('%s咬了%s'%(self.name,person.name))
#         if person.hp <= self.hp:
#             person.hp = 0
#             print('%s血量为0,game over'%person.name)
#         else:
#             print('%s掉了%s点血,还剩%s点血' % (person.name, person.ad, person.hp - self.ad))
#
# alex = Person('alex','男',50,2)
# egon = Person('egon','女',60,5)
# taibai = Dog('taibai','taidy',60,90)
# # taibai.bite(egon)
# alex.attack(taibai)            #用对象直接调用类中的方法,省掉再传对象参数给self的麻烦。
#对象调用类中的属性:
#类中的属性存在类开辟的内存空间中,其它各个对象会自动产生一个变量指针指向类的内存地址,调用的时候直接根据指针来查找即可。
# class Test:
#     country = 'china'
#     lis = ['span']
#
# obj = Test()         #创建了一个不带参数的对象。
# print(obj.country)   #此处便是对象通过指针在类中找到的属性。
# obj.country = 'England' #表示在对象本身的内存空间中增加一个country属性,并不改变类中的属性。
# print(obj.country)
# obj.lis = ['Japan']
# obj.lis[0] = 'England'   #改变属性时,对象会先在自己的内存空间找是否存在这个属性,如果有,则改变,如果没有则去类中找。
# print(obj.lis)            #obj中刚刚创建了lis属性,所以改变的是自己。
# obj.lis[0] = 'England'    #如果没有lis这个属性,此处改的便是类中的属性。
# print(obj.lis)
# print(Test.lis)
#总结:静态属性是所有对象共享的,所以如果要修改静态属性,最好用类直接修改最准确
#类名一般用来:查看或修改静态属性。
#              实例化对象
#对象名一般用来:查看或修改对象的属性
#                调用方法
View Code

 

一、面向对象

 

转载于:https://www.cnblogs.com/liujjpeipei/p/9083286.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/451687.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多线程原理实例应用详解

从单进程单线程到多进程多线程是操作系统发展的一种必然趋势&#xff0c;当年的DOS系统属于单任务操作系统&#xff0c;最优秀的程序员也只能通过驻留内存的方式实现所谓的"多任务"&#xff0c;而如今的Win32操作系统却可以一边听音乐&#xff0c;一边编程&#xff0…

git中使用fork

在git中使用fork相当于你在原项目的主分支上又建立了一个分支&#xff0c;你可以在该分支上任意修改。如果想将你的修改合并到原项目中时&#xff0c;可以pull request&#xff0c;这样原项目的作者如果认同你的修改&#xff0c;就可以将你修改的东西合并到原项目的主分支上去。…

一、【Collection、泛型】

主要内容 Collection集合迭代器增强for泛型 教学目标 能够说出集合与数组的区别 说出Collection集合的常用功能 能够使用迭代器对集合进行取元素 能够说出集合的使用细节 能够使用集合存储自定义类型 能够使用foreach循环遍历集合 能够使用泛型定义集合对象 能够理解泛型上下…

字符装换

2019独角兽企业重金招聘Python工程师标准>>> 字母大小写转换 a →A char toUpperCase( char ch){ if((ch >a) && (ch <z)){ return (char)(ch - 32); // 主要 这里(char)是必要的&#xff0c;因为char -32是返回的数值&#xff0c;必须转换成对应的字…

解决 Unable to translate SQLException with Error code ‘17059‘, will now try the fallback translator

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1.报错&#xff1a; Unable to translate SQLException with Error code 17059, will now try the fallback translator 报错如下&…

企业使用开源软件的风险

很多时候&#xff0c;我们过高地估计了开源软件面临的版权威胁&#xff0c;开源软件并非天生就比专有软件存在更多风险。虽然在企业中开源软件越来越普及&#xff0c;但开源软件始终难以摆脱知识产权带来的阴影。2007年&#xff0c;微软声称开源软件侵犯了它235项专利&#xff…

杭电多校 Harvest of Apples 莫队

问题 B: Harvest of Apples 时间限制: 1 Sec 内存限制: 128 MB 提交: 78 解决: 35 [提交] [状态] [讨论版] [命题人:admin] 题目描述 There are n apples on a tree, numbered from 1 to n. Count the number of ways to pick at most m apples. 输入 The first line of the …

linux和GNU之间的关系

Linux只是一个操作系统内核而已&#xff0c;而GNU提供了大量的自由软件来丰富在其之上各种应用程序。 因此&#xff0c;严格来讲&#xff0c;Linux这个词本身只表示Linux内核&#xff0c;但在实际上人们已经习惯了用Linux来形容整个基于Linux内核&#xff0c;并且使用GNU 工程各…

二、【List、Set、数据结构、Collections】

主要内容 数据结构List集合Set集合Collections 教学目标 能够说出List集合特点 能够说出常见的数据结构 能够说出数组结构特点 能够说出栈结构特点 能够说出队列结构特点 能够说出单向链表结构特点 能够说出Set集合的特点 能够说出哈希表的特点 使用HashSet集合存储自定义元素…

@Java | Thread synchronized - [ 线程同步锁 基本使用]

对实现了Runnable或者Callable接口类&#xff0c;可以通过多线程执行同一实例的run或call方法&#xff0c;那么对于同一实例中的局部变量&#xff08;非方法变量&#xff09;就会有多个线程进行更改或读取&#xff0c;这就会导致数据不一致&#xff0c;synchronized(关键字)可以…

解决bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 报错&#xff1a; ### Cause: java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符; bad SQL grammar []; nested exception is …

开源代码的使用 二次开发

开源开发&#xff0c;就我的理解&#xff0c;有三种。 1、当作底层基础&#xff0c;使用。例如大家使用mysql就算。有人会认为我说错了。但我认为&#xff0c;开发不代表就是要同一个语言&#xff0c;甚至修改代码。例如我们使用动态库&#xff0c;原先的动态库是什么写的并不重…

Java Application和Java Applet

Java Applet和Java Application 主要区别&#xff1a; &#xff08;1&#xff09;运行方式不同。Java Applet程序不能单独运行&#xff0c;它必须依附于一个用HTML语言编写的网页并嵌入其中&#xff0c;通过与Java兼容的浏览器来控制执行。 Java Application是完整的程序&a…

激活prompt

1.下载SQLPrompt 2. 断网&#xff0c; 打开注册机&#xff0c;拷贝验证码 2. 点击activate&#xff0c; 拷贝代码 转载于:https://www.cnblogs.com/zxhome/p/9459415.html

Map 四种获取 key 和 value 值的方法,以及对 map 中的元素排序

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。1. 获取map的值主要有四种方法&#xff0c;分为两类&#xff1a; 调用 map.keySet() 方法来获取 key 和 value 的值&#xff1b; 通…

三、【Map】

主要内容 Map集合 教学目标 能够说出Map集合特点 使用Map集合添加方法保存数据 使用”键找值”的方式遍历Map集合 使用”键值对”的方式遍历Map集合 能够使用HashMap存储自定义键值对的数据 能够使用HashMap编写斗地主洗牌发牌案例 第一章 Map集合 1.1 概述 现实生活中&am…

五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT) – 整理

当Adobe、Microsoft、Sun等一系列巨头开始表现出对”开源”的青睐时&#xff0c;”开源”的时代即将到来&#xff01; 最初来自&#xff1a;sinoprise.com/read.php?tid-662-page-e-fpage-1.html&#xff08;遗憾的是这个链接已经打不开了&#xff09;&#xff0c;我基本未改…

[转]自然语言处理中的Attention Model:是什么及为什么

自然语言处理中的Attention Model&#xff1a;是什么及为什么 https://blog.csdn.net/malefactor/article/details/50550211/* 版权声明&#xff1a;可以任意转载&#xff0c;转载时请标明文章原始出处和作者信息 .*/ author: 张俊林 要是关注深度学习在自然语言处理方面…

关西旅游地名读法学习

京都個人旅行ための自己勉強 京都篇 伏見稲荷大社「ふしみいなりだいしゃ」 京都府京都市伏見区深草にある神社。旧称は稲荷神社 全国に約三万社あるといわれる稲荷神社の総本社である。 初詣では近畿地方の社寺で最多の参拝者を集める。(日本第&#xff14;位)。 清水寺 「き…