高阶Day1:面向对象,面向过程,类和对象的属性和方法创建
高阶Day1:面向对象,面向过程,类和对象的属性和方法创建
- 高级编程学习4个内容:
- 面向对象
- MySQL数据库
- 网络编程
- 并发编程
- 面向过程(POP)与面向对象(OOP):
- 类和对象:
- 类名的定义:
- 创建类(类对象):
- 创建一个实例对象语法:object对象
- 类(类对象)和实例对象总结:类是类型,对象是类型的数据
- 一:给对象添加属性和行为(方法):
- 1.添加属性n:
- 方法1:动态添加实例属性
- 方法2:使用构造函数/魔法方法/构造器去给实例添加属性
- 2. 取出属性值n:print(实例对象名.属性名)=属性值
- 3.可以根据类对象产生很多个实例对象:n
- 二:用更高级方法给对象添加属性和方法:cls
- 方法一:cls:类方法
- 方法二:static静态方法
- 三:如何定义一个函数v:
- 四:实例化
- 1.给实例对象添加行为:v
- 2.如何调用实例方法v:实例对象名.方法名():
- 3.实例成员n:
- 4:实例化属性n:
- 5.实例化方法:
- 具体实例:
- 五、打印了这个类的字典语法:dict
高级编程学习4个内容:
面向对象
MySQL数据库
网络编程
并发编程
面向过程(POP)与面向对象(OOP):
面向过程:核心是过程二字,过程指的是解决问题的步骤。编程的时候先把解决问题的步骤分析出来,然后用函数把这些步骤实现,在一步一步的具体步骤中再按顺序调用函数。适合简单任务,不需要过多协作。
面向对象:核心是对象二字,对象是由属性和方法组成的。编程的时候首先思考的是怎么设计这个事物。 比如思考造车,我们就会先思考“车怎么设计?”,而不是“怎么按步骤造车的问题”。找轮胎厂完成制造轮胎的步骤,发动机厂完成制造发动机的步骤;这样,发现大家可以同时进行车的制造,最终进行组装,大大提高了效率。
生活中的例子
- 买电脑
- 面向过程:(自己买)需要电脑,查询参数信息,对比机型,对比价格,下单,收快递,开机验货,确认收货
- 面向对象:(找人买)需要电脑,找专业人员帮我们买, 收电脑
- 吃饭
- 面向过程:(自己做) 我饿了,买菜,洗菜择菜,切菜,起锅烧油,炒菜,盛菜,吃饭
- 面向对象:(出去买)买饭,吃饭
总结:
在编程中,不同的编程范式(面向过程,面向对象)不分好与坏,中国的菜系,不同的菜系也有不同的,他们之间没有高低之分,编程也是一样的,不同的编程场景使用不同的范式去做
类和对象:
- 类:一个抽象的概念:即生活中“类别”
- 类中的所有的变量n称为属性
- 类中的函数v称为方法
- 对象:类的具体实例,属于某个类别
类名的定义:
使用大驼峰命名,(所有单词首字母大写)
定义类之后没有实例对象:执行代码,类中代码执行
定义在类中的变量n称为属性,定义的函数v称为方法
创建类(类对象):
语法一:class 类名:pass语法二:class 类名:类代码(属性,行为)class Ren: # 创建了一个人的类
创建一个实例对象语法:object对象
对象名 = 类名() 类名():创建了一个对象 通过等于号赋值给了指定的变量pp = Ren()pp:就是一个人的对象
类(类对象)和实例对象总结:类是类型,对象是类型的数据
在python中创建的类(类对象) 其实就是创建的一个自定义的类型 也可以认为是一个大的分类
在python中 根据类(类对象)创建的实例对象 就是该自定义类型的一个数据
pp = Ren() pp对象就是Ren类的一个数据
类对象是一个大的分类 那么实例对象是这个分类的其中一个数据
一:给对象添加属性和行为(方法):
1.添加属性n:
方法1:动态添加实例属性
方式一:使用对象名 赋值新属性实例对象名n.属性名n = 属性值;
如:pp = Ren() # 这个pp对象有具体指向哪一个人吗 ?
pp.name = ‘小清’
pp.sex = ‘男’
pp.height = 175
pp.weight = ‘120斤’
pp.idCard = ‘432503199911245678’
注:
①给实例添加的属性 叫做实例属性 这个实例属性只能当前这个对象才能使用
②在类中创建的属性叫做类属性 根据这个类产生的实例都能共享到这个属性
如:class Dog:
age = 6
③类属性只能通过类对象来进行修改
④如果类属性和实例属性同名 两者互不相干 实例对象优先使用自己的
方法2:使用构造函数/魔法方法/构造器去给实例添加属性
init前后都是两根下换线 init是固定的方法名def __init__(self):self.nickName = "小花"self.strain = "中华田园犬"self.color = "棕黄色"
①每一个实例对象 都会有一个隐藏起来的构造方法 显示调用这个构造方法为这个实例对象添加属性
②构造函数的作用:给对象添加属性
③在创建实例对象的同时给对象添加默认的属性
2. 取出属性值n:print(实例对象名.属性名)=属性值
语法:print(实例对象名.属性名)=属性值
如:pp.name #print(pp.name)就是输出它的值pp.sex #print(pp.sex)就是输出它的值
3.可以根据类对象产生很多个实例对象:n
类可以产生无数个实例对象 但是每一个实例对象 都是不同的个体
object:对象
语法:对象名 = 类名() 类名():创建了一个对象 通过等于号赋值给了指定的变量pp = Ren()pp:就是一个人的对象
二:用更高级方法给对象添加属性和方法:cls
方法一:cls:类方法
cls就是class的缩写 表示这个方法就是类方法 cls表示当前类对象
在类中创建一个带cls参数的方法叫做类方法 必须使用@classmethod
类方法也是一个共享的方法~~~
共享女友 共享雨伞
1.租女朋友回家过年
2.防雨
如:age = 6@classmethoddef showAge(cls):print(f'~~~~共享的年龄是{cls.age}')
方法二:static静态方法
就是一个不需要写cls和self关键字也能存在于类中的方法
静态方法的作用和类方法作用一致~~~@staticmethoddef demo():print('我是静态方法')
三:如何定义一个函数v:
def 函数名(形参):函数体函数名(实参)
四:实例化
1.给实例对象添加行为:v
行为在代码中表现的就是一个函数 在类中定义的函数称之为方法
当你去创建一个实例方法的时候 第一个参数一定要指定一个self参数
这个参数是固定 self表示的是当前访问的对象
实例方法:属于实例对象的方法
2.如何调用实例方法v:实例对象名.方法名():
①函数型建议小写
②定义在函数中的参数叫做形参 调用函数的时候传递的数据叫做实参
③方法的用法和函数一致
④位置参数 不定长参数
3.实例成员n:
_init_初始化注意事项:
4:实例化属性n:
5.实例化方法:
具体实例:
写一个易混的代码:
class People:
name = “jk”
age = 18
jk = People()
java = People()
print(jk)
print(jk.name)
print(jk.age)
print(java.name)
情况1: 如:修改自身的属性jk.name = “韦寻”
则: print(jk.name)
情况2: 如:修改类的属性People.name = “阿飞”
则: print(jk.name)
print(java.name)
情况3: 如:添加属性 自己对象本身java.height = 1.8
则:print(java.height)
五、打印了这个类的字典语法:dict
# 查看字典属性print(类名.__dict__)
注:
①在 Python 类的内部,无论是类属性还是实例属性,都是以字典的形式进行存储的,其中属性名作为键,而值作为该键对应的值。
②为了方便用户查看类中包含哪些属性,Python 类提供了__dict__ 属性。
高阶Day1:面向对象,面向过程,类和对象的属性和方法创建相关推荐
- 【Java开发语言 03】第三章 面向对象编程(面向对象与面向过程+类和对象+类成员一:属性+类成员二:方法+对象的创建和使用+封装和隐藏+构造器+关键字this,package,import)
面向对象编程 1 面向对象与面向过程 1.1 java类及类的成员 2 java语言的基本元素:类和对象 2.1 类的语法格式 2.2 创建Java自定义类 2.3 对象的创建及使用 3 类的成员之一 ...
- 类和对象,属性和方法
1. 定义 类:把某一类事物的属性提取出来,形成类,类有属性(也叫成员变量/field字段)和行为 对象:一个具体的实例 注意:从类到对象的说法:1)创建一个对象2)实例化一个对象3)把类实例化 成员 ...
- 学习笔记:C++初阶【C++入门、类和对象、C/C++内存管理、模板初阶、STL简介、string、vector、list、stack、queueu、模板进阶、C++的IO流】
文章目录 前言 一.C++入门 1. C++关键字 2.命名空间 2.1 C语言缺点之一,没办法很好地解决命名冲突问题 2.2 C++提出了一个新语法--命名空间 2.2.1 命名空间概念 2.2.2 ...
- 初阶C++——C++第二节——类和对象(大全篇)
想必大家都听过这样一个段子: 编程界最不缺少的就是对象.因为编程世界,一切皆对象.没有对象怎么办?我可以new一个出来. 关于new的内容,我们下一节再说.本章节我们先说<类和对象>,并且 ...
- Lawliet|面向对象/面向过程
1.面向对象的程序设计 对象object --包含属性和行为,通过描述属性和行为来描述一个对象,是程序的基本单元. 对象=属性(特征)+方法(行为) 类class --具有相同属性和方法的对象的集合, ...
- JAVA300集——面向对象编程-类和对象-构造方法及其重载-方法调用
本章概述 "如何开车":(由多个步骤组成),简单问题,可以使用面向过程. "如何造车":(成千上万个零件,细节很多),复杂问题,宏观上用面向对象把握,微观操作用 ...
- 22 面向对象 名称空间 类与对象
面向对象 重点:面向对象的核心体现是将数据和处理数据的程序封装到对象中 Python语言:面向对象的语言 Python 用面向过程与面向对象两种方式解决问题 函数与方法: 都是解决问题的功能 函数(属 ...
- Python使用---面向对象OOP(类和对象)--完善中
来源于此 目录 1.面向对象(OOP)基本概念 1.1 过程和函数(科普) 1.2 面相过程 和 面相对象 基本概念 2 类和对象 2.1 类 2.2 对象 2.3 类和对象的关系 3 类的设计 4 ...
- 7.1.3 Python进阶 《函数》定义、调用,参数,返回值《面向对象》概念,类,实例,对象,属性,方法《模块、包》导入,自定义,常用内置:datatime,time,random,os,sys
目录 ======== 第四部分 Python进阶 ======== 第一节 函数 4.1.1 函数定义及调用 4.1.2 函数的参数 4.1.3 函数的返回值 第二节 面向对象 4.2.1 面向对象 ...
最新文章
- java dolayout,Component
- 每日一皮:当你开始研究一个新项目时是这样的吗?
- php 接收curl json数据格式,curl发送 JSON格式POST数据的接收,以及在yii2框架中的实现原理【精细剖析】...
- 奇异值分解SVD应用——LSI
- vscode 设置保存格式化,当保存时,单引号变成了双引号,vue项目报错
- 我要学ASP.NET MVC 3.0(十六): MVC 3.0 实例系列之表格数据的分页
- 零基础学Python--------第3章 流程控制语句
- 学习中的一些牢骚。字符串栈/堆的址标准写法。
- DXperience 7.1.1
- 各种采样,上采样,下采样,欠采样,子采样
- AutoCAD打印图纸如何使参照底图灰度显示
- 占优策略名词解释_占优策略
- 注册坚果云无法连接服务器,坚果云无法连接服务器怎么办?
- android代码计时,android秒表计时代码
- PPT素材不够用,这5个网站帮你解决
- 58 同城 post 参数分析之 eval 加密
- 搜索引擎免费登录入口
- 数组与动态数组_验证步骤
- 信息系统安全个人笔记(xju)
- oracle 11gR2RAC修改public ip (不同网段)
热门文章
- JDBC:PreparedStatement 插入BLOB类型的数据,PreparedStatement 批量处理,Connection 事务处理
- 两台win 7系统电脑 一台双网卡 共享上网
- 用友NCV6.5继续服务大型企业互联网化
- 软考中级软件评测师备考详细资料
- 32位PowerPC构架通用寄存器分析及总结一
- 微信小程序——保存图片到手机相册(代码详解)
- Ubuntu 14.04 配置vim插件教程
- 6-4 使用函数求Fibonacci数
- kindle清理小工具(清理临时文件夹)
- 终于等到你!国内首条支持自动驾驶技术运用的“智慧高速”——杭甬高速复线宁波杭州湾新区段已进入实质性建设阶段!