Python项目案例开发从入门到实战-1.3 Python面向对象设计
1.3.1定义于使用类
- 类的定义
class class_name;
attribute
function
例:
class Person:
age=18
def say():
print("Hello!")
1.3.2构造函数
一个特殊的方法,以两个下划线“__”开头和结尾
class Complex:
def __init__(self, realpart,imagpart):
self.r=realpart
self.i=imagpart
x=Complex(3.0,2)
print(x.r,x.i)
1.3.3析构函数
另一个特殊的方法,以两个下划线“__”开头和结尾
class Complex:
def __init__(self, realpart,imagpart):
self.r=realpart
self.i=imagpart
def __del__(self):
print("It has gone")
x=Complex(3.0,2)
print(x.r,x.i)
del x
1.3.4实例属性和类属性
属性(成员变量)有两种,一种是实例属性,一种是类属性(类变量)。
实例属性是在构造函数中定义的,定义时以self作为前缀
类属性是在类中方法之外定义的属性
在主程序中,实例属性属于(实例)对象,只能通过对象名访问,而类属性属于类,可通过类名访问,也可通过实例对象访问
例:
class Person:
type = mammal 类属性
def __init__(self,str,n): 构造函数
self.name = str 实例属性
self.sage = n
def sat():
...
1.3.5私有成员和共有成员
属性名前有两个下划线“__”为为私有属性,否则为共有属性
class Car:
price = 100
def __init__(self, c,w):
self.color = c 共有属性
self.__weight = w 私有属性
car1 = Car("Red",10)
print(car1.color)
print(car1.__Car__weight)
1.3.6方法
class Fruit:
price=100
def __init__(self):
self.__color = ''
def __output(self): 私有方法
print(self.__color) 访问私有属性
def output(self):
self.__output() 通过私有方法访问私有属性
@staticmethod
def getPrice() 定义静态方法
return Fruit.price
1.3.7类的继承
class 派生类名(基类名)
派生类成员
1.3.8多态
不想写了。。。
Python项目案例开发从入门到实战-1.3 Python面向对象设计的更多相关文章
- 《ASP.NET Core跨平台开发从入门到实战》Web API自定义格式化protobuf
<ASP.NET Core跨平台开发从入门到实战>样章节 Web API自定义格式化protobuf. 样章 Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于 ...
- python项目案例
python项目案例1:----此学习案例用python3编写,摘自明日科技,感谢! 学生管理系统: 功能描述:具有增删改查,排序,保存并显示学生的全部信息. 1.主界面---函数menu(),显示功 ...
- Django 入门项目案例开发(上)
关注微信公众号:FocusBI 查看更多文章:加QQ群:808774277 获取学习资料和一起探讨问题. Django 入门案例开发(中) http://www.cnblogs.com/focusBI ...
- 【Python高级工程师之路】入门+进阶+实战+爬虫+数据分析整套教程
点击了解更多Python课程>>> 全网最新最全python高级工程师全套视频教程学完月薪平均2万 什么是Python? Python是一门面向对象的编程语言,它相对于其他语言,更加 ...
- python全栈开发从入门到放弃之迭代器生成器
1.python中的for循环 l = [1,2,3,4,5,6] for i in l: #根据索引取值 print(i) 输出结果: 1 2 3 4 5 6 2.iterable 可迭代的 可迭 ...
- python全栈开发从入门到放弃之socket并发编程多线程
一 threading模块介绍 multiprocess模块的完全模仿了threading模块的接口,二者在使用层面,有很大的相似性,因而不再详细介绍 二 开启线程的两种方式 from threadi ...
- python全栈开发从入门到放弃之socket并发编程多线程GIL
一 介绍 ''' 定义: In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple nati ...
- python全栈开发从入门到放弃之字符编码
一 了解字符编码的知识储备 1. 计算机基础知识(三幅图) 2. 文本编辑器存取文件的原理(nodepad++,pycharm,word) 打开编辑器就打开了启动了一个进程,是在内存中 ...
- python 微服务开发书中几个方便的python框架
python 微服务开发是一本讲python 如果进行微服务开发的实战类书籍,里面包含了几个很不错的python 模块,记录下,方便后期回顾学习 处理并发的模块 greenlet && ...
- Django 入门项目案例开发(下)——创建项目应用及模型类
关注微信公众号:FocusBI 查看更多文章:加QQ群:808774277 获取学习资料和一起探讨问题. 前面两章是在已经开发好的项目上用来描述环境和业务,这一章创建一个全新的项目来用作开发,你可以跟 ...
随机推荐
- 记一次SpringBoot整合Redis的Bug
SpringBoot整合Redis遇见的坑 <!--Redis配置开始--> <dependency> <groupId>org.springframework.b ...
- tidb配置haproxy
1.安装haproxy wget https://www.haproxy.org/download/2.6/src/haproxy-2.6.2.tar.gz make clean make -j 8 ...
- UGUI获取文本的字符内容像素宽度 【转】
在做文本框的时候,我们经常碰到需要计算字符输入的长度,然后适当地做处理.这个时候不能直接了当地拿text.Length来用,原因有: 1.字符会因为fontSize的大小不同而有不同的宽度: 2.即使 ...
- mysql-8.0.28-winx64数据库win10系统安装步骤
一.官网下载安装包 下载地址:https://dev.mysql.com/downloads/mysql/ ↓↓↓选择如下图版本↓↓↓ 二.解压安装包到本地 三.新建记事本创建my.ini配置文件 四 ...
- Maven常用参数及其说明
Maven常用参数及其说明 -h,--help Display help information-am,--also-make 构建指定模块,同时构建指定模块依赖的其他模块;-amd,--also-m ...
- 2022-07-10 第一小组 张明旭 前端CSS学习记录
今天是正式学习的第二天,昨天那个作业项目真的难,自己做一会就得问这问那,还有大神带一带(?_?)... 今天学习的内容是前端中的CSS,男上加男..... 知识点: Css层叠式表(网页美化) 1.定 ...
- iOS 制作本地库Development Pods
1.cd到指定的路径文件夹下 ,创建本地库,如:pod lib create XXNetworking 2.删除Classes文件下的ReplaceMe文件,添加自己的类. 3.修改XXNetwork ...
- Git、GitHub、GitLab三者之间的区别
1.Git Git是一个版本控制系统. 版本控制是一种用于记录一个或多个文件内容变化,方便我们查阅特定版本修订情况的系统. 总结: (1)分布式版本控制系统下的本地仓库包含代码库还有历史库,在本地就可 ...
- Go语言中密码加密校验
使用go自带的库bcrypt bcrypt是不可逆的加密算法,无法通过解密密文得到明文. bcrypt和其他对称或非对称加密方式不同的是,不是直接解密得到明文,也不是二次加密比较密文,而是把明文和存储 ...
- Linux挂载tf卡空间
https://blog.csdn.net/cao849861802/article/details/126039190