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…

字符装换

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 报错如下&…

杭电多校 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 …

激活prompt

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

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

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

用gson得JSON,数值变为double类型 ,去掉double值中的小数位(3.0改为3)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 项目中有个接口的数据是从缓存中读取再组成JSON 格式返出&#xff0c;原本缓存中数据是这样的&#xff1a; 用Gson 组成JSON 后&…

38--合并两个排序的链表

1.问题描述 输入两个递增排序的链表&#xff0c;合并这两个链表并使新链表中的节点仍然是递增排序的。 实例&#xff1a; 输入&#xff1a;1->2->4, 1->3->4 输出&#xff1a;1->1->2->3->4->4 2.解决思路 /*** Definition for singly-linked lis…

39--打印从1到最大的n位数

1.题目描述 输入数字 n&#xff0c;按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3&#xff0c;则打印出 1、2、3 一直到最大的 3 位数 999。 示例 1: 输入: n 1 输出: [1,2,3,4,5,6,7,8,9] 2.解题思路 class Solution {public int[] printNumbers(int n) {int end …

Python学习之路20-数据模型

《流畅的Python》笔记。本篇是Python进阶篇的开始。本篇主要是对Python特殊方法的概述。1. 前言 数据模型其实是对Python框架的描述&#xff0c;它规范了这门语言自身构件模块的接口&#xff0c;这些模块包括但不限于序列、迭代器、函数、类和上下文管理器。不管在哪种框架下写…

《netty实战》阅读笔记(2)——Netty 的数据容器ByteBuf

ByteBuffer 当我们进行数据传输的时候&#xff0c;往往需要使用到缓冲区&#xff0c;常用的缓冲区就是JDK NIO类库提供的java.nio.Buffer。 实际上&#xff0c;7种基础类型&#xff08;Boolean除外&#xff09;都有自己的缓冲区实现&#xff0c;对于NIO编程而言&#xff0c;我们…

32位Windows7上8G内存使用感受+xp 32位下使用8G内存

我推荐做开发的朋友:赶快加入8G的行列吧....呵呵..超爽...速度超快...基本没有等待的概念...深有体会... 为什么要使用8G内存&#xff1f;在国内外各大论坛上&#xff0c;这都是一个有争议的问题。问题的反方论据非常充分&#xff1a; 除了少数专业领域&#xff0c;大多数应用程…

面试常考的数据结构Java实现

1、线性表 2、线性链表 3、栈 4、队列 5、串 6、数组 7、广义表 8、树和二叉树 二叉树&#xff1a;每个结点至多只有两棵子树&#xff08;即二叉树中不存在度大于2的结点&#xff09;&#xff0c;并且&#xff0c;二叉树的子树有左右之分&#xff0c;其次序不能任意颠倒。 二叉…

Java5线程并发库之LOCK(锁)CONDITION(条件)实现线程同步通信

为什么80%的码农都做不了架构师&#xff1f;>>> Lock&#xff08;锁&#xff09;&Condition&#xff08;条件&#xff09;实现线程同步通信 接下来介绍&#xff0c;java5线程并发库里面的锁。跟锁有关的类和接口主要是位于java.util.concurrent.locks包。 Lock…

逻辑运算符与逻辑表达式

1 #include <stdio.h>2 3 int main()4 {5 int a0;int b0;6 if(a&&b)//a&&ba的逻辑值为0&#xff0c;则执行else7 {8 printf("a&&b is true\n");9 } 10 else 11 { 12 printf("a&&…

网站性能优化的三重境界

这篇文章是关于网站性能优化体验的&#xff0c;性能优化是一个复杂的话题&#xff0c;牵涉的东西非常多&#xff0c;我只是按照我的理解列出了性能优化整个过程中需要考虑的种种因素。点到为止&#xff0c;包含的内容以浅显的介绍为主&#xff0c;如果你有见解能告知我那再好不…