Python导入类说一说

要在Python中导入一个类,需要使用import关键字。

详细去看下面的代码

1、多例类

class Restaurant:'''餐馆类'''def __init__(self,restaurant_name,cuisine_type):#类的属性self.restaurant_name = restaurant_nameself.cuisine_type = cuisine_type# self.stregth_level = 0def describe_restaurant(self):'''描述餐厅'''print(f'餐厅名字是{self.restaurant_name};菜品是{self.cuisine_type}')def open_reataurant(self):'''开餐厅'''print(f'{self.restaurant_name}餐厅正在营业')'''静态方法'''@staticmethoddef restaurant(a,b):print(a+b)'''类方法'''@classmethoddef myrestaurant(cls):Restaurant.restaurant(20,40)  #类对象调用静态方法def mynerestaurant(self):self.restaurant(50,60)   #类实例对象调用静态方法class Car:'''用户类'''def __init__(self,make,model,year):#类的属性self.make= makeself.model = modelself.year=yearself.odometer_reading=0def get_descriptive_name(self):print(f'{self.year} {self.make} {self.model}')def read_odometer(self):print(f'This car has{self.odometer_reading} miles on it')def update_odometer(self,mileage):if mileage>=self.odometer_reading:self.odometer_reading=mileageelse:print(f'你不能退后')def increment_odometer(self,miles):self.odometer_reading+=milesdef fillgasoil(self):print('{self.make}加20L油')

2、单类

class User:'''用户类'''def __init__(self,first_name,last_name):#类的属性self.first_name = first_nameself.last_name = last_nameself.login_attemps=0# self.stregth_level = 0def printuserinfo(self):print(f'顾客全名{self.first_name}+{self.last_name}')def greetuserhello(self):print(f'顾客{self.first_name}+{self.last_name}您好')def increment_login_attemps(self):self.login_attemps += 1def reset_login_attemps(self):self.login_attemps=0'''静态方法'''@staticmethoddef descricbe_uesr(a,b):print(a+b)'''类方法'''@classmethoddef print_uesr(cls):User.printuserinfo()

3、类的调用干事情

from ClassUser import User
'''导入单个类'''myUser=User('王',"好汉")myUser.printuserinfo()
from 创建和使用类.ClassOne import Car
'''从同一级导入类'''mycar=Car('changan','cs45',15)
mycar.update_odometer(300)
from 创建和使用类.ClassOne import Restaurant,Car
'''从一个模块导入多个类'''myprivate=Restaurant('Chinesefood','france')
myprivate.open_reataurant()mypcar=Car('audi','r8',2)
mypcar.read_odometer()
from 创建和使用类.ClassOne import*
'''导入所有类'''
myprivate1=Restaurant('Chinesefood','france')
myprivate1.open_reataurant()mypcar1=Car('audi','r8',2)
mypcar1.read_odometer()
from 创建和使用类.ClassOne import Restaurant as CR
from 创建和使用类.ClassOne import Car as CC
'''使用别名'''myprivate=CR('Chinesefood','france')
myprivate.mynerestaurant()mycarx=CC('audi','r8',2)
mycarx.read_odometer()

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

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

相关文章

应对恶意IP攻击的有效方法

在当今数字化时代,网络攻击已经成为了互联网安全的重大挑战之一。恶意IP攻击是网络安全领域中的一种常见威胁,它可能导致数据泄露、服务中断、系统瘫痪等严重后果。因此,有效地应对恶意IP攻击至关重要。IP数据云将深入探讨如何应对恶意IP攻击…

【LeetCode热题100】240. 搜索二维矩阵 II

一.题目要求 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。 ‘每列的元素从上到下升序排列。 二.题目难度 中等 三.输入样例 示例 1: 输入:matrix [[1,4,7…

安装MySQL8.0及以上版本操作步骤

关于mysql安装过程中命令mysqld --initialize --console出错的解答 C:\mysql-8.3.0-winx64\bin>mysqld --initialize --usermysql --console 2024-03-12T11:21:23.201387Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start. 2024-03-12T11:21:23.2068…

Qt+FFmpeg+opengl从零制作视频播放器-4.音频解码

首先一个完整的MP4文件解封装之后,得到了压缩的音频数据,这个数据是不能直接拿去播放的,我们需要解码成原始的PCM数据才能够播放,解码音频数据,如下图所示,把MP3或者AAC数据解码成原始的数据pcm。 音频解码…

【BFS二叉树】113路径总和II

113路径总和 II 给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 思路: 题目最终输出的是路径,因此用BFS遍历的时候,需要记录走到每个节点的路径&#xff1…

(done) 使用 vscode 快速把 .ipynb 文件 转为 .py 文件

如图,先点红圈 随后点 Export 后续操作凭直觉 可以使用 vim 的匹配功能把那些难看的符号给删掉,比如 :%s/# \%\%.*$//g

git区域与对象

大纲 工作区(workspace directory):本机的代码项目,是一种沙箱环境 暂存区(stage index):工作区在程序员写程序的过程中会发生无数次改动,git不可能记录每一次的改动,这些改动的过程在暂存区负责记录,暂存区会将最终的状态随着程序员的提交…

ChromeDriver 122 版本为例 国内下载地址及安装教程

ChromeDriver 国内下载地址 https://chromedriver.com/download 靠谱 千千万万别下载错了 先确认 Chrome 浏览器版本 以 win64 版本为例 那我们下载这一个啊,不要下载错了 下载地址贴在这哈 https://storage.googleapis.com/chrome-for-testing-public/122.0.…

vscode 之 vue项目如何使用ctrl+鼠标左键跳转对应文件

话不多说,直接步入正题 使用项目工程的jsconfig.json 直接在项目中使用jsconfig.json/tsconfig.json文件配置(项目中没有相应的文件的添加文件,有文件的添加"paths": {"/*": ["./src/*"]}配置即可&#xff0…

javaweb day16 mysql

mysql 安装: 企业开发使用方法 安装虚拟机代替服务器 数据模型 创建数据库 写法 sql简介

如何用 Vue3 + Vite + SCSS 轻松实现换肤功能

前言 一个网站的换肤效果算是一个比较常见的功能,尤其是在后台管理系统中,我们几乎都能看到他的身影,这里给大家提供一个实现思路。 搭建项目 vitevue3搭建项目这里就不演示了,vite官网里面讲得很清楚。 注:这里使…

EdgeSAM: Prompt-In-the-Loop Distillation for On-Device Deployment of SAM

EdgeSAM: Prompt-In-the-Loop Distillation for On-Device Deployment of SAM EdgeSAM论文:https://arxiv.org/pdf/2312.06660.pdf EdgeSAM代码:https://github.com/chongzhou96/EdgeSAM 1 概述 作者在对各种蒸馏策略进行深入剖析后,证实了…