高阶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

创新互联建站长期为1000多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为和田企业提供专业的成都网站制作、成都网站建设、外贸营销网站建设和田网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。高级编程学习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

    	@classmethod
    	def showAge(cls):
        	print(f'~~~~共享的年龄是{cls.age}')
方法二:static静态方法
就是一个不需要写cls和self关键字也能存在于类中的方法
静态方法的作用和类方法作用一致~~~
	@staticmethod
    	def 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__ 属性。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


文章标题:高阶Day1:面向对象,面向过程,类和对象的属性和方法创建-创新互联
路径分享:http://myzitong.com/article/dccgoo.html