zoukankan      html  css  js  c++  java
  • python第二十二天(面向对象)

    1、面向过程编程:

      核心就是过程两个字,过程是指解决问题的步骤,即先干什么后做什么。

      基于该思想编写程序就好比在编写一条流水线,是一种机械式的思维方式

      优点:复杂的问题流程化、进而简单化

      缺点:可扩展性差

    2、面向对象

      核心是对象两个,对象指的是特征与技术的结合体

      基于该思想编写程序就好比在创造一个世界,你就是这个世界的上帝,是一种上帝式的思维方式

      优点:可扩展性强

      缺点:编程的复杂度高于面向过程

    重点:面向对象的核心提现是将数据和处理数据的程序封装到对象中去

     #函数与方法:都是解决问题的功能

     #函数:通过函数名直接调用

     #方法:通过附属着,语法来调用

     #变量:通过变量名访问变量值

     #属性:通过附属者,语法来访问变量值

    名称空间的操作:

      #所有能产生名称空间对应的对象(存放地址的变量)有__dict__值

      #__dict__值向就是附属对象的名称空间

    import re
    print(re.__dict__)
    re.__dict__['name'] = 're模块'
    print(re.__dict__['name'])
    re.__dict__['action'] = lambda x: x
    print(re.__dict__['action'](10000))
    print(re.__dict__)
    print('==============================')
    def fn():
    pass
    print(fn.__dict__) #{}
    fn.name = 'fn函数'
    print(fn.name) #fn函数
    def test():
    print('可以成为test功能的函数')
    fn.action = test
    fn.action() #可以成为test功能的函数
    print(fn.__dict__) # {'name': 'fn函数', 'action': <function test at 0x0000019116B59950>}
    类与对象的概念
      类:具有相同特征与行为个体集合的抽象
      对象:有特征、行为的具体个体。就是类的具体体现
      区别:两个人同时思考一个名字,想到的一定是同一个物体,就一定时对象,反之就是类

     语法:

      

    class 类名:   #class定义类语法的关键字
    pass
    # 对象的产生:对象的实例化
    对象1 = 类名()
    对象2 = 类名()
    对象3 = 类名()
    # 类与对象都有自己独立的名称空间,每一个别实例化出来的对象,名称空间也是各自独立
    # 所以类和对象都可以额外添加属性(变量)和方法(函数)
    # 重点:类一旦被加载(随这所属文件的加载就加载),就会进入类的内部执行类中的所有代码
    对象查找属性顺序
    # 优先加载自身的名字,如果没有再加载类,类没有就报错
    class people:
    # 类自带(不同在外界额外添加)的属性与方法
    identify='人类'
    def sleep(self):
    print('睡觉')
      p1 = people()
      p2 = people()
      print(p1.identify) #人类  #访问类de
      p1.identify = '新人类'
      print(p1.identify) #新人类  #访问自己的
      p1.__dict__.clear()  #删除自己的
      print(p1.identify) #人类  #访问自己的已经被清楚了,访问类的值
      print(p2.identify) #人类  #p2没有自己的就访问类的
  • 相关阅读:
    C# 实现 Snowflake算法生成唯一性Id
    kafka可视化客户端工具(Kafka Tool)的基本使用(转)
    docker 安装kafka
    Model类代码生成器
    使用docker 部署rabbitmq 镜像
    Vue 增删改查 demo
    git 提交代码到库
    Android ble蓝牙问题
    mac 配置 ssh 到git (Could not resolve hostname github.com, Failed to connect to github.com port 443 Operation timed out)
    okhttp
  • 原文地址:https://www.cnblogs.com/yangzhaon/p/10725869.html
Copyright © 2011-2022 走看看