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

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:面向对象的基本知识

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

python - 面向对象

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

python 面向对象、类、对象

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

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

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

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

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

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

[Python3]Python面向对象

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

python面向对象,类

1:类和对象    是面向对象中的俩个重要概念,类是对事物的抽象,比如人类,球类。对象是事物的实例,比如足球,篮球。球类可以对球的特征和行为进行抽象,然后可以实例化一个真实的球体出来。2:类的定义    类把需要的变量和函数组合成一起,这种
2023-01-31

python面向对象(一)

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

编程热搜

  • 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动态编译

目录