• 面向对象和面向过程

      面向过程:以吃饭为例,即为 煮饭、洗菜、洗碗、切菜、炒菜、出锅、吃饭
      面向对象:目标对象做完,直接吃
      疑问点:1、面向对象就是把过程用函数封装起来,随时调用?;2、面向过程就是每次都把逻辑程序再走一遍?

      【初次接触,仅了解,上述疑问有待考证】

    • 如果定义一个类

      class 类名(首字母大写):

      代码块(类属性定义)

      举个栗子:

      class MyFruit :
              name = '疏楼龙宿'
          age = 31
      这就是一个类

    • 调用类

      第一种方法是:类名.属性,即MyFruit.name,需要print;

      第二种方法是:

      实例化

      f = MyFruit()

      f.name

      f.age      同样需要print

    • 属性概念和私有属性

      类中的定义变量即为属性,该例子中的name、age即为属性

      私有属性是在变量名前面有下划线的(分一个下划线和两个下划线)

      class Person:
              name = '疏楼龙宿'
          _age = 31
          __money = 10000

      区别:

      print(Person.name)  #普通属性
      print(Person._age)  #前面有一个下划线,可以直接调用,和普通属性区别不大
      print(Person._Person__money)    #私有属性加强版,前面两个下划线,需要单下划线加类名加私有属性来使用

    • 方法

      即封装在类中的函数

      举个栗子:

      class Student:
              name = 'xxxx'
          def study(self):
              print('%s真帅'%(self.name))

      该类中的函数即是称作方法,最后是print还是return没有区别

    • 方法的调用

      通过实例化来调用

      a = Student()
      a.study()

    • 关于方法中的self参数

      谁调用了该方法,这个self就是哪个值self.name即这个值就是name的值,如果全局变量没有,就去类中寻找默认值(局部变量)【与函数的相反】

      举个栗子:

      longshou = Student()
      longshou.name = '疏楼龙宿'
      longshou.study()

      self所在的study函数被longshou调用,那么'self'就是'longshou',可见上述方法中的‘self.name’即为 ‘longshou.name’,全局变量中又有定义longshou.name = '疏楼龙宿',所以,按照格式化的规则传入该值

    • 魔法方法__init__(双下划线)

      意思是初始化,其作用其实是赋值,即在类下面定义一个魔法方法,然后如果在实例化的同时,类的()被传入了值,就会自动运行__init__方法处理,然后运行其他方法得出结果

      举个栗子:

      class Student:
              name = 'xxxx'
          def __init__(self,name,age):
              self.name = name
              self.age = age
          def study(self):
              print('%s已经%d岁了,但仍然是人间至帅'%(self.name,self.age))
      #=============假装自己是封装线?=================

      s = Student('疏楼龙宿',31)
      s.study()

      解释该代码块:

      在实例化该类的同时,传入“疏楼龙宿”和31两个值,符合触发__init__方法的条件,__init__方法开始运行,处理这两个参数,分别赋值,然后运行下一步的study方法,并提供刚刚赋值的结果。可以视作__init__的作用就是定义class的属性

    • 析构
      li = [1,2,3,4,5]
      del li
      print(li)   #报错
      pop、clear remove等是删除元素,del是删除列表指向,即内存中列表本身,或者说是取消列表定义
      del其实就是调取的‘ __del__’魔法方法
      class MyFriend:
          pass
      longshou = MyFriend()
      print(longshou) #输出是个内存地址
      del longshou
      print(longshou) #报错

      class MyFriend:
          def __del__(self):
              print("人间至帅-疏楼龙宿")
      longshou = MyFriend()       #实例化
      print(111111)
      del longshou               #删除该实例化的时候,会触发__del__方法,输出“人间至帅-疏楼龙宿”
      print(22222)

      当某个类中有__del__方法的时候,在py文件执行结束后,会自动触发。
      del是将该内存解放掉

python基础学习之类的更多相关文章

  1. Day1 Python基础学习

    一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...

  2. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  3. Day1 Python基础学习——概述、基本数据类型、流程控制

    一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...

  4. Python 基础学习 总结篇

    Python 基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结 ...

  5. (一)python基础学习

    根据廖雪峰老师的python教程写一些学习总结! Python基础学习 1.使用list和tuple (1)list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时 ...

  6. python基础学习(起步)

    目录 python基础学习(起步) 变量 常量 变量的内存管理 python垃圾回收机制 变量的其他赋值方式 今日编程小题 本人能力有限,若有偏颇之处请读者大大不吝赐教! 祝大家每天都在成长! pyt ...

  7. Python基础学习二

    Python基础学习二 1.编码 utf-8编码:自动将英文保存为1个字符,中文3个字符.ASCll编码被囊括在内. unicode:将所有字符保存为2给字符,容纳了世界上所有的编码. 2.字符串内置 ...

  8. Python基础学习一

    Python基础学习一 1.变量与常量 变量名:大小写英文.数字.下划线的组合,数字不能开头 常量名:习惯上常量用大写字母命名,例如"PI" 2.多行输出 转义符:反斜杠(),如果 ...

  9. Python基础学习五

    Python基础学习五 迭代 for x in 变量: 其中变量可以是字符串.列表.字典.集合. 当迭代字典时,通过字典的内置函数value()可以迭代出值:通过字典的内置函数items()可以迭代出 ...

  10. Python基础学习四

    Python基础学习四 1.内置函数 help()函数:用于查看内置函数的用途. help(abs) isinstance()函数:用于判断变量类型. isinstance(x,(int,float) ...

随机推荐

  1. 宏&一个简单的宏病毒示例

    基于VisualBasicForApplications 其一:录制宏 在word,视图,宏,录制宏选项. 操作比较简单,不再赘述. (注意根据需求选择normal还是当前文档) 例如:录制宏:快捷键 ...

  2. docker-compose All In One

    docker-compose All In One docker-compose 多容器应用 $ docker-compose -h Define and run multi-container ap ...

  3. Tumult Hype

    Tumult Hype hype generated script https://tumult.com/hype/documentation/ HTML5 animation editor http ...

  4. React Hooks: useCallback All In One

    React Hooks: useCallback All In One useCallback https://reactjs.org/docs/hooks-reference.html#usecal ...

  5. React Hooks vs React Class vs React Function All In One

    React Hooks vs React Class vs React Function All In One React Component Types React Hooks Component ...

  6. CSS Box Model All In One

    CSS Box Model All In One CSS 盒子模型 All In One CSS Box Model CSS Box Model Module Level 3 W3C Working ...

  7. IoT & Raspberry Pi

    IoT & Raspberry Pi https://www.raspberrypi.org/ https://www.raspberrypi.org/training https://pro ...

  8. how to watch vuex state update

    how to watch vuex state update watch https://vuex.vuejs.org/api/#watch https://vuex.vuejs.org/guide/ ...

  9. 「NGK每日快讯」2021.1.8日NGK第66期官方快讯!

  10. (转)linux下的系统调用函数到内核函数的追踪

    转载网址:http://blog.csdn.net/maochengtao/article/details/23598433 使用的 glibc : glibc-2.17使用的 linux kerne ...