高阶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:面向对象,面向过程,类和对象的属性和方法创建相关推荐

  1. 【Java开发语言 03】第三章 面向对象编程(面向对象与面向过程+类和对象+类成员一:属性+类成员二:方法+对象的创建和使用+封装和隐藏+构造器+关键字this,package,import)

    面向对象编程 1 面向对象与面向过程 1.1 java类及类的成员 2 java语言的基本元素:类和对象 2.1 类的语法格式 2.2 创建Java自定义类 2.3 对象的创建及使用 3 类的成员之一 ...

  2. 类和对象,属性和方法

    1. 定义 类:把某一类事物的属性提取出来,形成类,类有属性(也叫成员变量/field字段)和行为 对象:一个具体的实例 注意:从类到对象的说法:1)创建一个对象2)实例化一个对象3)把类实例化 成员 ...

  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 ...

  4. 初阶C++——C++第二节——类和对象(大全篇)

    想必大家都听过这样一个段子: 编程界最不缺少的就是对象.因为编程世界,一切皆对象.没有对象怎么办?我可以new一个出来. 关于new的内容,我们下一节再说.本章节我们先说<类和对象>,并且 ...

  5. Lawliet|面向对象/面向过程

    1.面向对象的程序设计 对象object --包含属性和行为,通过描述属性和行为来描述一个对象,是程序的基本单元. 对象=属性(特征)+方法(行为) 类class --具有相同属性和方法的对象的集合, ...

  6. JAVA300集——面向对象编程-类和对象-构造方法及其重载-方法调用

    本章概述 "如何开车":(由多个步骤组成),简单问题,可以使用面向过程. "如何造车":(成千上万个零件,细节很多),复杂问题,宏观上用面向对象把握,微观操作用 ...

  7. 22 面向对象 名称空间 类与对象

    面向对象 重点:面向对象的核心体现是将数据和处理数据的程序封装到对象中 Python语言:面向对象的语言 Python 用面向过程与面向对象两种方式解决问题 函数与方法: 都是解决问题的功能 函数(属 ...

  8. Python使用---面向对象OOP(类和对象)--完善中

    来源于此 目录 1.面向对象(OOP)基本概念 1.1 过程和函数(科普) 1.2 面相过程 和 面相对象 基本概念 2 类和对象 2.1 类 2.2 对象 2.3 类和对象的关系 3 类的设计 4 ...

  9. 7.1.3 Python进阶 《函数》定义、调用,参数,返回值《面向对象》概念,类,实例,对象,属性,方法《模块、包》导入,自定义,常用内置:datatime,time,random,os,sys

    目录 ======== 第四部分 Python进阶 ======== 第一节 函数 4.1.1 函数定义及调用 4.1.2 函数的参数 4.1.3 函数的返回值 第二节 面向对象 4.2.1 面向对象 ...

最新文章

  1. java dolayout,Component
  2. 每日一皮:当你开始研究一个新项目时是这样的吗?
  3. php 接收curl json数据格式,curl发送 JSON格式POST数据的接收,以及在yii2框架中的实现原理【精细剖析】...
  4. 奇异值分解SVD应用——LSI
  5. vscode 设置保存格式化,当保存时,单引号变成了双引号,vue项目报错
  6. 我要学ASP.NET MVC 3.0(十六): MVC 3.0 实例系列之表格数据的分页
  7. 零基础学Python--------第3章 流程控制语句
  8. 学习中的一些牢骚。字符串栈/堆的址标准写法。
  9. DXperience 7.1.1
  10. 各种采样,上采样,下采样,欠采样,子采样
  11. AutoCAD打印图纸如何使参照底图灰度显示
  12. 占优策略名词解释_占优策略
  13. 注册坚果云无法连接服务器,坚果云无法连接服务器怎么办?
  14. android代码计时,android秒表计时代码
  15. PPT素材不够用,这5个网站帮你解决
  16. 58 同城 post 参数分析之 eval 加密
  17. 搜索引擎免费登录入口
  18. 数组与动态数组_验证步骤
  19. 信息系统安全个人笔记(xju)
  20. oracle 11gR2RAC修改public ip (不同网段)

热门文章

  1. JDBC:PreparedStatement 插入BLOB类型的数据,PreparedStatement 批量处理,Connection 事务处理
  2. 两台win 7系统电脑 一台双网卡 共享上网
  3. 用友NCV6.5继续服务大型企业互联网化
  4. 软考中级软件评测师备考详细资料
  5. 32位PowerPC构架通用寄存器分析及总结一
  6. 微信小程序——保存图片到手机相册(代码详解)
  7. Ubuntu 14.04 配置vim插件教程
  8. 6-4 使用函数求Fibonacci数
  9. kindle清理小工具(清理临时文件夹)
  10. 终于等到你!国内首条支持自动驾驶技术运用的“智慧高速”——杭甬高速复线宁波杭州湾新区段已进入实质性建设阶段!