Python 面向对象(中)

在这里插入图片描述
在python中面向对象的三大特征:
封装,继承,多态

1. 析构方法

程序结束后,之后调用析构方法,来释放空间

def __del__(self):print("析构方法")

2.单继承

子类继承父类

class animal():def eat(self):print('吃')class dog(animal):#继承父类def wwj(self):print('dog')d=dog()
d.eat()

3.多继承

class animal():def eat(self):print('吃')
class fourleg():def out(self):print('四条腿')class dog(animal,fourleg):#继承父类def wwj(self):print('dog')d=dog()
d.eat()
d.out()
吃
四条腿

重写就是在子类中的方法,会覆盖父类的方法

4.多态

对不同的子类对象有不同的行为表现
要想实现多态必须有两个前提:
1.继承:必须存在继承关系,发生在父类和子类之间
2.重写:子类需要重写父类的方法

class animal():def say_who(self):print('我是一个动物')class duck(animal):def say_who(self):print('我是一个鸭子')class dog(animal):def say_who(self):print('我是一个小猫')
duck1=duck()
duck1.say_who()
dog1=dog()
dog1.say_who()
我是一个鸭子
我是一个小猫
def commoninovke(obj):obj.say_who()
li=[duck(),dog()]
for item in li:commoninovke(item)
我是一个鸭子
我是一个小猫

5 类属性和实力属性

class student:name='黎明'  #类属性def __init__(self,age):  #实例属性self.age=agelm=student(18)
print(lm.name) #通过实例对象访问类属性
print(lm.age)
print(student.name) #通过类对象访问类属性
print(student.age)
黎明
18
黎明
Traceback (most recent call last):File "D:/index.py", line 190, in <module>print(student.age)
AttributeError: type object 'student' has no attribute 'age'

在这里插入图片描述

6.类方法和实例方法


class people:country='china'@classmethoddef get_country(cls):return cls.country # 访问类属性@staticmethoddef getData():return people.country#类方法
print(people.get_country()) #通过类对象调用
print(people.country)
p=people()
print(p.get_country()) # 通过实例对象访问
people.country='chinachina'
print(p.country)# 静态方法
print(p.getData())
china
china
china
chinachina
chinachina

静态方法中不涉及到类中方法和属性的操作
数据资源能够得到有效的利用

在这里插入图片描述

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

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

相关文章

Python 面向对象 实例方法 属性 (上)

1.面对对象和面对过程的区别 面向对象&#xff1a; 将数据与函数绑定到一起&#xff0c;进行封装&#xff0c;这样能够跟快的开发程序&#xff0c;减少代码的重复书写。 函数式&#xff1a; 包装为一个函数&#xff0c;然后调用 **面向过程&#xff1a;**根据业务逻辑从上到下…

Python高级数据类型-字符串,列表,元组,字典

0.序列 序列&#xff1a;在python中 序列就是一组按照顺序排列的值 python中三种内资的序列类型&#xff1a;字符串&#xff0c;列表&#xff0c;元组 优点&#xff1a;支持索引和切片的操作&#xff0c;从0开始 1.字符串 可以查询&#xff0c;修改 字符串常用的方法 ahe…

Juypter 代码自动补全

1.安装 pip install jupyter_contrib_nbextensions2. 配置 安装完之后需要配置 nbextension&#xff0c;注意配置的时候要确保已关闭 Jupyter Notebook&#xff1a; jupyter contrib nbextension install --user --skip-running-check3.启动 Jupyter Notebook 勾选Hinderlan…

Pytorch Anaconda 安装CPU版本

进入官网 https://pytorch.org/get-started/locally/ 然后打开 anaconda Prompt 输入 conda install pytorch torchvision cpuonly -c pytorch 即可

神经网络加载数据 自建数据集 官方数据集 pytorch 显示数据集

1.官方的数据集 MNIST 使用torchvision.datasets 里面有很多数据集供选择 import torch import torchvision from torchvision import transforms, models batch_size 32 transform transforms.Compose([transforms.ToTensor(),transforms.Normalize(mean(0.5),std(0.5)),…

Juypter 打开其他路径文件

juypter 打开默认的C盘路径 假如我们想要进入其他盘&#xff08;D,E,F&#xff09;时&#xff0c;我们需要进入命令行&#xff0c;然后cd 到其他盘&#xff0c;再在命令行中运行juypter 过程如下 >>>cd D:/train >>>juypter notebook如果显示jupyter noteboo…

离线安装 Pytorch 1.2.0 torchvision 0.3.0

1.进入官网 https://download.pytorch.org/whl/torch_stable.html 选择自己合适的下载下来&#xff0c;然后把下载下来的文件 放入服务器的指定文件夹中 2.cd 到指定文件夹 运行 pip3 install torch-1.0.0-cp36-cp36m-linux_x86_64.whlpip install torchvision-0.2.0-py2.…

Python报错:PermissionError: [Errno 13] Permission denied 解决方案详解

出现错误的原因&#xff1a; 1.文件找不到&#xff0c; 2.文件被占用&#xff0c; 3.文件无权限访问&#xff0c; 4.打开的不是文件&#xff0c;而是一个目录&#xff0c; 我就是这个问题&#xff0c;打开的是一个目录

Ubuntu18.0.1 安装 anaconda conda cudnn pytorch-gpu

安装显卡驱动 查看驱动版本 cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 安装anaconda 下载&#xff1a; 获取anaconda在清华镜像站的网址&#xff0c;然后在服务器端wget 网址就行了。 清华镜像站中anaconda的所有版本的网址&#xff1a;https://mirror…

win10 利用安装包 安装 ssh

下载ssh https://github.com/PowerShell/Win32-OpenSSH/releases 然后把它放入 C:\Program Files 中 添加环境变量 高级系统设置-》高级-》环境变量-》 是用户变量 不是系统变量 选择 path- 然后点击编辑&#xff0c;然后新建&#xff0c; 把刚才的地址放进去 C:\Program F…

Latex 表格 行合并,列合并,控制行间距 单元格宽度

多行合并的时候&#xff0c;需要加入新的usepackage, 不然会报错 \usepackage{multirow}1.多行合并 \linespread{1.3} %控制行间距 \begin{table*}[t]\centering\caption{Experimental arrangement}\begin{tabular}{p{4.1cm}|l|l} %控制单元格的宽度\hlineSection & con…

win10 使用ssh连接服务器 ‘’Bad owner or permissions on C:\\Users\\Administrator/.ssh/config‘’

这个时候只需要把这个文件夹中的config 文件删除就行了 因为可能在vscode 中使用config文件导致的不兼容&#xff0c;只需要把config文件删除就行了

Linux Unbunt 安装显卡驱动 简单方法

1.卸载之前驱动 sudo apt-get --purge remove nvidia-* sudo apt-get --purge remove xserver-xorg-video-nouveau2. 重启服务器 sudo shutdown 3. 在官网下载驱动 官网下载驱动 然后放大服务器的指定文件夹中 4 .关闭X-service 最好远程连接服务器安装&#xff0c;因为要…

Ubuntu 查看磁盘空间 及目录容量

Df命令是linux系统以磁盘分区为单位查看文件系统&#xff0c;可以加上参数查看磁盘剩余空间&#xff1a; df -hl 显示格式为&#xff1a; 文件系统 容量 已用 可用 已用% 挂载点 以上面的输出为例&#xff0c;表示的意思为&#xff1a; HD硬盘接口的第二个硬盘&#xff08;…

Latex 调整表格大小 表格过大 表格过小

1.表格过大 超出了边界 \resize{width}{length}{text}调节表格大小 \begin{table*}[h]\centering\small\caption{The face identity evaluation based on Face API}\label{tab:The evaluation based on Face API}\resizebox{\textwidth}{9mm}{\begin{tabular}{c c c c c c c…

bash --config command not found 报错

原因是.sh脚本在windows系统下用记事本文件编写的。不同系统的编码格式引起的。 1、确保用户对文件有读写及执行权限 oraclelinux-106:~/RMAN/bin> chmod ax test.sh2、然后修改文件格式 &#xff08;1&#xff09;使用vi工具 oraclelinux-106:~/RMAN/bin> vi test.sh&a…

Linux与Windows共享文件夹之samba的安装与使用 资源管理器直接查看服务器文件

安装Samba sudo apt-get install samba创建共享文件夹 // 创建的目录即之后能够在Windows主机上直接访问的目录。 // 例如&#xff1a;在用户gzd的主目录下新建share文件夹为共享目录 mkdir /home/gzd/smbshare // 由于Windows下的文件夹需可读可写可执行&#xff0c;需更改权…

vscode连接远程服务器 SSH

1.windows 中安装SSH 1.使用安装包安装 2.在电脑上直接安装 添加货删除程序-》可选功能-》添加功能-》Openssh客户端 然后安装即可 2. 下载vscode 官网下载即可 3.添加功能 输入服务器ip 和用户名 ![在这里插入图片描述](https://img-blog.csdnimg.cn/202008241639555…

Linux添加新硬盘-挂载硬盘,设置开机自动挂载 解决/home 空间不足问题

1.添加一个新的硬盘 2. 使用fdisk -l 查看磁盘 发现sdb是我们的新硬盘&#xff0c;然后没有被挂载 3. 挂载新硬盘 sudo mkfs.ext4 /dev/sdb mount /dev/sdb /mnt4. 把/home 下的文件拷贝到/mnt/home中 cd /mnt sudo mkdir home cd /home sudo cp -r * /mnt/home5.查看/m…