我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python 初识面向对象

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python 初识面向对象

1. 类与对象

class Car:  #类名首字母大写,严格遵守驼峰命名规范
    pass

#造车
c = Car() #类名()  #创建对象
##出场之后进行改装
c.color = "红色"  #对象属性  . : 的  当属性不存在的时候相当于添加一个属性
c.pai = "冀F8888" #   对象属性
c.pailiang = "1.5T"

print(c.color)  #此车是红颜色
print(c.pai)
print(c.pailiang)

c.color = "绿颜色"  #当属性存在时候是修改属性信息

#对象.属性 = xxx  设置属性信息

print(c.color)

#相当于字典的改的操作

 class Car: #类名首字母大写,严格遵守驼峰命名规范

    #__init__方法是一个特殊的方法.初始化的方法.(构造方法)

    #在创建对象的时候会有自动的调用 __init__()

    #self就是你创建出来的那个对象

class Car:
    def __init__(self,color,pai,pailiang): init初始化方法.在创建对象的时候.
    self.color = color
    self.pai = pai
    self.pailiang = pailiang

#跑:动作,功能 -> 函数
#在类中写的函数 -> 方法
#self 当前类的对象
    def pao(self):
        print('%s是我的车,能跑' % self.color)

    def jump(self):
        print('哈哈 搞笑')

c = Car('红色','冀F88888','1.5T')  #创建Car类型对象.此时self参数不需要我们管
c2 = Car("蓝色",'冀F66666','1.8T')
print(c.color)
print(c2.color)
c.pao() #车c 跑
c2.jump()  #c2跳
class Phone:
    def __init__(self,color,dianchi,num,price)
    self.color = color
    self.dianchi = dianchi
    self.num = num
    self.prince = prince

    def call(self,ren):
        print('使用手机给%s打电话' % ren)
    
    def play(self):
        print('电话可以打游戏')

sj = Phon('黑色',''5W'','110','9W欧元')
sj.call('嫂子')
sj.play()

2. 练习

# 1. 创建⼀个武松. 武松可以打老虎, 杀嫂⼦, 替天⾏道
# 2. ⽤⾯向对象的思维来模拟LOL⾥的盖伦上阵杀敌.
# 3. ⽤⾯向对象的思维来完成⽤户登录.

1. 
class Haohan:
    def __init__(self,waihao,name,adress)
    self.waihao = waihao
    self.name = name
    self.adress = adress
    
    def dalaohu():
        print("打老虎")

    def shashaozi():
        print("这个人喜欢杀嫂子")

    def titianxingdao():
        print("替天行道")

ws = Person('行者','武松','景阳冈')
ws.dalaohu()
ws.shasaozi()
ws.titianxingdao()
2.
class Hero:
    def __init__(self,waihao,name,story)
    self.waihao = waihao
    self.name = name
    self.story = story

    def q(self):
        print("拿着宝剑DuangDuang跑")

    def w(self)
        print("护盾")

    def e(self)
        print("电风扇")

    def r(self)
        print("大宝剑")

qw = Hero("德玛西亚之力",'盖伦','5000年之前盖伦拿着一个破棍子捅破....')

qw.q()
qw.w()
qw.r()
2.
class Hero:
    def __init__(self,waihao,name,story)
    self.waihao = waihao
    self.name = name
    self.story = story

    def q(self):
        print("拿着宝剑DuangDuang跑")

    def w(self)
        print("护盾")

    def e(self)
        print("电风扇")

    def r(self)
        print("大宝剑")

qw = Hero("德玛西亚之力",'盖伦','5000年之前盖伦拿着一个破棍子捅破....')

qw.q()
qw.w()
qw.r()
3.
#用户的登陆问题 逻辑是活的

class User:
    def __init__(self,username,password):
        self.username = username
        self.password = password

    def login(self):
        uname = input("请输入你的用户名")
        upwd = input("请输入你的密码")

        if uname == self.username and upwd == self.password:
            print("登陆成功")
        else:
            print("登录失败")

u = User
u.login()

3. 面向对象和面向过程的对比

  面向过程更多的是写一些功能简单的脚本语言,不需要构思整个程序的概况 

  函数式编程.比脚本麻烦.对功能有了概况

  面向对象编程,对整个系统进行分析,分析出需要哪些对象.然后给对象进行分类.先写类.然后使用类创建对象.最后用对象去执行相关的操作

  函数侧重的是功能 类侧重的是归类.使用类不需要像以前一样传递一样的参数了,结果相对清晰.  

  缺点:代码量比原来大,上手太难

如果写一个定时任务, 半夜12点. 给老板发送财务报表(一张图)
# class Messager:
#     def __init__(self, name, title, content):
#         self.name = name
#         self.title = title
#         self.content = content
#
#     def send_email(self, address):
#         print("发送邮件")
#
#     def send_wechat(self, wechat_num):
#         print("发送微信")
#
#     def send_chat(self, phone_num):
#         print("发送短信")
#
#     def send_dd(self, dd_num):
#         print("发送钉钉")
#
#     def send_oa(self, oa_num):
#         print("发送OA")

用面向对象就比面向过程稍微好一些.
可维护性比原来好

 python同时支持面向对象和面向过程

java : 纯面向对象 => 可以把一个微型项目. 做成巨型项目

4. 封装

  1.对属性的封装

  2.对功能的封装

  3.模块(将很多类写在一个py文件中)

  4.包(讲很多的py文件放到一起)

5.继承

  子类自动拥有父类除了私有的内容外的其他所有内容

  目的:对父类进行扩展

当出现xxx是一种yyy类型的东西. 可以使用继承关系

class Foo:
#     def getMoney(self):
#         print("拿钱")
#
#
# class Bar(Foo):
#     pass
#
#
# b = Bar()
# b.getMoney() # 此时调用的是父类中的方法

# python支持多继承
class Foo1:
    def getMoney(self):
        print('给你个大嘴巴子')

    def play(self):
        print("玩儿")

class Foo2:
    def getMoney(self):
        print('给多点儿')

class Bar(Foo1, Foo2): # 离当前类最近的是亲爹, 后面的是干爹.
    pass

b = Bar()  # 就近原则, MRO的C3算法
b.getMoney() # Foo1里的

6. 多态

  多态性: 同一个对象. 多种形态.
   python支持的是鸭子类型. 会嘎嘎叫的东西就是鸭子
  为了程序能够正常执行. 本来需要传递进来一只鸭子. 但是我只需要传递一个会嘎嘎叫的东西就可以了

class Animal:
#     def chi(self):
#         print("会吃")
#
# class GoldenMonkey(Animal):
#     def chi(self):
#         print("用手拿着吃, 五花八门")
#
# class Tiger(Animal):
#     def chi(self):
#         print("老虎吃肉")
#
# class Elephant(Animal):
#     def chi(self):
#         print("大象吃香蕉")
#
# class QiE(Animal):
#     def chi(self):
#         print("企鹅吃人民币")
#
# # 以下代码是饲养员
# # 优点:超强的可扩展性. 面向对象的核心就是多态
# def wei_animal(ani): # 传进来的东西要会吃就行
#     ani.chi()
#
# # 动物园
# t = Tiger()
# m = GoldenMonkey()
# e = Elephant()
#
# wei_animal(t)
# wei_animal(m)
# wei_animal(e)

python中万事万物都是对象,object(对象)

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python 初识面向对象

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python 初识面向对象

1. 类与对象class Car: #类名首字母大写,严格遵守驼峰命名规范 pass#造车c = Car() #类名() #创建对象##出场之后进行改装c.color = "红色" #对象属性 . : 的 当属性不存在的时候
2023-01-30

面向对象初识

一、面向对象(OOP)基本概念    面向对象编程 —— Object Oriented Programming 简写 OOP1.1 过程和函数过程 是早期的一个编程概念过程 类似于函数,只能执行,但是没有返回值函数 不仅能执行,还可以返回
2023-01-30

Python面向对象的初级知识是什么

Python面向对象的初级知识是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。概述面向过程:根据业务逻辑从上到下写垒代码函数式:将某功能代码封装到函数中,日后便无需重复编写
2023-06-04

python之初始面向对象

1. 初识面向对象   面向过程:     一切以事务的发展流程为中心.   面向对象:     一切以对象为中心. 一切皆为对象. 具体的某一个事务就是对象 2. 类. 对象
2023-01-30

python--初始面向对象:类的相关知识,对象的相关知识

引子假设你是一个开发人员,现在需要你开发一款叫做当然很简单,两个角色,1个人物,1个boss,且人物和boss都有不同的技能,比如人物用觉醒技能秒了boss,掉了xx装备,boss用大招秒了人物,人物死亡,怎么描述这种不同的人物和他们的功能
2023-01-30

详解Python面向对象知识点

本文我以python为例,带大家快速搞定面向对象中的核心概念并通过代码实现的方式来帮助大家对其加深理解!
Python2024-12-10

python:面向对象的基本知识

#类是现实世界或思维世界的实体在计算机中的反映#它将数据以及这些数据上的操作封装在一起# 属性-特征 # 方法(函数)-行为 # 构造函数-__init__() 初始化类的特征 构造函数是自动被调用的,也可显式调用,但不
2023-01-31

python 面向对象、类、对象

class 类 object 对象 object-oriented programming 面向对象,简称OOP attribute 属性 method 方法inheritance 继承 python中通过类和对象来实现 面向对象的编程面向
2023-01-31

python - 面向对象

#python面向对象 - 类定义  注意:特殊方法"__init__"前后分别有两个下划线!!!   __init__方法可以理解成定义属性的方法,编辑器中会默认将属性都绑定到self中,在使用时直接self.shuxing 即可哟;  
2023-01-31

Python面向对象知识点有哪些

今天就跟大家聊聊有关Python面向对象知识点有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。类: 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性
2023-06-17

python面向对象

python面向对象目录:1.类的定义和使用2.类的封装3.类的继承4.多态 1.类的定义和使用查、增加、修改、删除、初始化方法、实例化__init__()方法是一种特殊的方法,被称为类的构造函数或初始化方法,当创建了这个类的实例时就会调用
2023-01-30

python 面向对象

面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序
2023-01-30

Python|面向对象

#一、类、对象定义及使用#定义类语法:class 类名(父类):代码块注意:()可有可无#class Student:#class Student():#创建对象(实例)语法:对象名=类名() 注意:Java语言在实例化对象是,采用n
2023-01-30

Python面向对象编程知识点总结

这篇文章主要讲解了“Python面向对象编程知识点总结”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python面向对象编程知识点总结”吧!面向对象编程和函数式编程(面向过程编程)都是程序设
2023-06-16

Python面向对象之面向对象基本概念

面向过程和面向对象概念过程和函数:过程类似于函数,只能执行,但是没有返回结果;函数不仅能执行,还能返回结果。面向过程和面向对象 基本概念面向过程-怎么做把完成某一个需求的所有步骤从头到尾逐步实现;根据开发需求,将某些功能独立的代码封装成一个
2023-01-31

python学习之面向对象【入门初级篇】

前言 最近在学习Python的面向对象编程,以前是没有接触过其它的面向对象编程的语言,因此学习这一部分是相当带劲的,这里也总结一下。 概述python支持多种编程范式:面向过程、面向对象、面向切面(装饰器部分)等。面向过程:根据业务逻辑从上
2022-06-04

[Python3]Python面向对象

一、面向对象的程序设计的由来1.第一阶段:面向机器,1940年以前最早的程序设计都是采用机器语言来编写的,直接使用二进制码来表示机器能够识别和执行的指令和数据。简单来说,就是直接编写 0 和 1 的序列来代表程序语言。例如:使用 0000
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录