python全栈开发 * 18 面向对象知识点汇总 * 180530
18 面向对象初识1
class person:
level="高级动物"
mind="有思想"
def __init__(self,name,age,gent,area,hobby):
self.name=name
self.age=age
self.gent=gent
self.area=area
self.hobby=hobby
print("__init__")
pass
def walk(self):
pass
def eat(self):
pass
aQ=person("Q","16","男","中国","吹牛")
print(aQ.__dict__)
一.类
1.具有相同属性和技能的一类事物.
2.类的结构( 两部分 )
(1).静态变量 ( 字段 )
level="高级动物"
mind="有思想"
(2).动态方法 ( 函数 )
def __init__(self,name,age,gent,area,hobby):
self.name=name
self.age=age
self.gent=gent
self.area=area
self.hobby=hobby
print("__init__")
pass
def walk(self):
pass
def eat(self):
pass 3.类名调用变量,方法
(1).类名查看类中所有变量( 字段 ),方法( 函数 )
print(类名.__dict__) #类中所有的东西 属性方法 只能查不能增删改类中的东西.
(2).类名查找静态变量 ( 字段)
常用:通过类名.变量名
查:print(person.mind)
增:person.create="有创造力"
改:person.mind="行尸走肉"
删:del person.mind
不常用:print(类名.__dict__[mind])
(3).类名对方法的操作 ( 函数)
常用 : 类名.方法名 (函数)
person.walk( 参数 )
不常用 : 类名.__dict__["walk"] 二.对象.
1.对象是类的具体表现.
2.实例化对象
写法: 类名 ( ) 相当于实例化一个对象
3执行流程
(1).产生一个对象空间 ; ( aQ=类名 ( ) aQ是一个对象空间 )
(2).自动执行类中__init__方法,并将对象空间传给self; ( def __init__(self) 把aQ传给self )
(3).执行__init__方法给对象加属性,并将完善的对象返回给类名.
def __init__(self,name,age,gent,area,hobby):
self.name=name #self.name 中 name 表示对象属性 等号右边的 name 指 形参
self.age=age
self.gent=gent
self.area=area
self.hobby=hobby
print("__init__")
4.对象查找对象中的所有属性
print(aQ.__dict__)
5.对象操作对象中的静态变量
查:对象.name # print(aQ.name)
增:对象.job="student" # aQ.job="stu"
删:del 对象.age
改:对象.gent="男"
6.对象操作类中的静态变量 只能查询,不能增删改
对象名.类中的变量(level) # print(aQ.level) 7.对象执行类中的方法
对象名.walk( ) # aQ.walk( ) # 无需传参数 self位置的参数,自动接收对象空间. 补充:__init__叫构造方式,执行方法时也可以添加属性(临时)
print("__init__")
self.eye=eye
在类的非__init__中也可以给对象添加属性,前提必须先执行这个方法
def walk(self,skincolor)
self.skincolor=skincolor
python全栈开发 * 18 面向对象知识点汇总 * 180530的更多相关文章
- python全栈开发 * 23 面向对象 知识点汇总 * 180704
23 面向对象 -----特殊方法 1. isinstance(obj,类名) 判断对象是否是此类实例化或者此类的子类实例化出来的class A:passclass B(A):passb1=B()pr ...
- python全栈开发 * 22 面向对象 知识点汇总 * 180703
22 面向对象 -----属性,类方法,静态方法,反射一.属性1.属性的定义:将方法伪装成属性,虽然在代码层面上没有任何高深之处,但让其看起来更合理. (类似于属性的方法)class Person: ...
- python全栈开发 * 19 面向对象 知识点汇总 * 180701
19 面向对象初识2 一.类的名称空间1.对象的名称空间对象的名称空间中有类对象指针,对象可以通过"类对象指针"找类中的"静态变量"(静态字段),也可以用对象找 ...
- python全栈开发 * 20 继承知识点汇总 * 180530
20 面向对象的三大特征之一(继承,多态,封装) -----继承 1.继承的定义: 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类;父类又可称为基类或超类,新建的类称为派生 ...
- Python全栈开发【面向对象进阶】
Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...
- Python全栈开发【面向对象】
Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...
- Python 全栈开发七 面向对象
一.编程范式 编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程 , 一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大路通罗马,实现一个任务的方式 ...
- 巨蟒python全栈开发django9:一些知识点的汇总
回顾上周内容: 题目: 1.人民出版社出版过的所有书籍的名字以及作者的姓名(三种写法,笔记中有两种写法) 2.手机以2开头的作者出版过的所有书籍名称以及出版社名称(三种写法,笔记中有1种写法) 1.聚 ...
- python全栈开发day21面向对象初识总结
随机推荐
- T SQL 将一列多行数据合并为一行
SQL Server 在进行数据迁移和报表处理的时候遇到将一列多行数据拼接为一个字符串的情形,查找相关的资料整理如下,提供两种方法. Table:SC Student Course 张三 大学语文 李 ...
- ionic BUILD FAILED
BUILD FAILED Total time: 24.572 secs FAILURE: Build failed with an exception. What went wrong: Execu ...
- angular 2 - 002 - 基本概念和使用
service的注入, 注入的是service的单一实例
- java写桌面程序
一:使用java swing开发窗口程序 简述: 1.文章内容主要是使用java swing类库开发一个小的窗口程序,然后使用exe4j发布成exe可以安装的程序,让初学者对使用java来做pc软件开 ...
- Elasticsearch索引mapping的写入、查看与修改(转)
mapping的写入与查看 首先创建一个索引: curl -XPOST "http://127.0.0.1:9200/productindex" {"acknowledg ...
- 如何关闭windows server2012 80端口
Windows Server禁用本地端口的两种方法 这篇文章主要介绍了Windows Server 2008 禁用本地端口的两种方法,本文讲解了通过Windows防火墙禁用端口.通过IP安全策略禁用端 ...
- FasterRCNN 提升分类精度(转)
近年来,随着深度学习的崛起,计算机视觉得到飞速发展.目标检测作为计算机视觉的基础算法,也搭上了深度学习的快车.基于Proposal的检测框架,从R-CNN到Faster R-CNN,算法性能越来越高, ...
- Tomcat中的backlog参数
在linux 2.2以前,backlog大小包括了半连接状态和全连接状态两种队列大小.linux 2.2以后,分离为两个backlog来分别限制半连接SYN_RCVD状态的未完成连接队列大小跟全连接E ...
- Python学习笔记——发邮件
参考:Python3实现163邮箱SMTP发送邮件 1.首先需要注册一个网易的邮箱,开启smtp服务,并使用其授权码 2.发送邮件的Python脚本 #!/usr/bin/python # -*- c ...
- Spring-Cloud-Ribbon学习笔记(一):入门
简介 Spring Cloud Ribbon是一个基于Http和TCP的客户端负载均衡工具,它是基于Netflix Ribbon实现的.它不像服务注册中心.配置中心.API网关那样独立部署,但是它几乎 ...