面向过程:核心是过程二字,过程指的是解决问题的步骤。编程的时候先把解决问题的步骤分析出来,然后用函数把这些步骤实现,在一步一步的具体步骤中再按顺序调用函数。适合简单任务,不需要过多协作。
面向对象:核心是对象二字,对象是由属性和方法组成的。编程的时候首先思考的是怎么设计这个事物。 比如思考造车,我们就会先思考“车怎么设计?”,而不是“怎么按步骤造车的问题”。找轮胎厂完成制造轮胎的步骤,发动机厂完成制造发动机的步骤;这样,发现大家可以同时进行车的制造,最终进行组装,大大提高了效率。
生活中的例子
总结:
在编程中,不同的编程范式(面向过程,面向对象)不分好与坏,中国的菜系,不同的菜系也有不同的,他们之间没有高低之分,编程也是一样的,不同的编程场景使用不同的范式去做
类和对象:使用大驼峰命名,(所有单词首字母大写)
定义类之后没有实例对象:执行代码,类中代码执行
定义在类中的变量n称为属性,定义的函数v称为方法
语法一:class 类名:
pass
语法二:class 类名:
类代码(属性,行为)
class Ren: # 创建了一个人的类
创建一个实例对象语法:object对象对象名 = 类名()
类名():创建了一个对象 通过等于号赋值给了指定的变量
pp = Ren()
pp:就是一个人的对象
类(类对象)和实例对象总结:类是类型,对象是类型的数据在python中创建的类(类对象) 其实就是创建的一个自定义的类型 也可以认为是一个大的分类
在python中 根据类(类对象)创建的实例对象 就是该自定义类型的一个数据
pp = Ren() pp对象就是Ren类的一个数据
类对象是一个大的分类 那么实例对象是这个分类的其中一个数据
方式一:使用对象名 赋值新属性
实例对象名n.属性名n = 属性值;
如:pp = Ren() # 这个pp对象有具体指向哪一个人吗 ?
pp.name = ‘小清’
pp.sex = ‘男’
pp.height = 175
pp.weight = ‘120斤’
pp.idCard = ‘432503199911245678’
注:
①给实例添加的属性 叫做实例属性 这个实例属性只能当前这个对象才能使用
②在类中创建的属性叫做类属性 根据这个类产生的实例都能共享到这个属性
如:class Dog:
age = 6
③类属性只能通过类对象来进行修改
④如果类属性和实例属性同名 两者互不相干 实例对象优先使用自己的
init前后都是两根下换线 init是固定的方法名
def __init__(self):
self.nickName = "小花"
self.strain = "中华田园犬"
self.color = "棕黄色"
①每一个实例对象 都会有一个隐藏起来的构造方法 显示调用这个构造方法为这个实例对象添加属性
②构造函数的作用:给对象添加属性
③在创建实例对象的同时给对象添加默认的属性
语法:
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表示的是当前访问的对象
实例方法:属于实例对象的方法
①函数型建议小写
②定义在函数中的参数叫做形参 调用函数的时候传递的数据叫做实参
③方法的用法和函数一致
④位置参数 不定长参数
_init_初始化注意事项:
写一个易混的代码:
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)
# 查看字典属性print(类名.__dict__)
注:
①在 Python 类的内部,无论是类属性还是实例属性,都是以字典的形式进行存储的,其中属性名作为键,而值作为该键对应的值。
②为了方便用户查看类中包含哪些属性,Python 类提供了__dict__ 属性。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
本文标题:高阶Day1:面向对象,面向过程,类和对象的属性和方法创建-创新互联
URL地址:https://www.cdcxhl.com/article0/dccgoo.html
成都网站建设公司_创新互联,为您提供定制开发、建站公司、Google、虚拟主机、标签优化、全网营销推广
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联