一 回顾

(一)定义函数

def 函数名():
    '''注释'''
    代码块

(二)定义函数的三种形式

1.空函数

2.有参函数

3.无参函数

(三)函数的返回值

1.没有返回值,默认返回None

2.return可以返回多个值

3.return可以终止函数

(四)函数的参数

1.形参

(1)位置形参

从左到右一个一个写

(2)默认形参

给位置形参添加一个默认值,如果给他传值,用的是传值的值

2.实参

(1)位置实参

从左到右给位置形参传值

(2)关键字实参

按照位置形参名给位置形参传值

二 面向过程编程

面向过程编程:按照流程/步骤敲代码,一步一步(一个一个函数),上一个函数的输出时下一个函数的输入

优点:代码的独立性提高,流程清晰

缺点:一个错误,程序直接崩掉

编程

控制变量不断的变化

三 面向对象过程

对象与对象之间交互

优点:互不干扰

缺点:异常复杂

四 类和对象

对象:一系列特征(属性)和技能(方法)的结合体

类:(模板/类别)划分对象,通过具有相同的属性和技能的对象属于同一类

现实世界中现有对象才会有类,但是python中先有类后有对象

(一)定义类语法

class 类名(驼峰体):
    school = 'oldboy' #给类添加属性
    '''文件名''' # __doc__
    def
    choose_course(slef): # 定义在类内发的函数一般称为方法(给类增加技能)
        pass

stu = 类名.__dict__ # 获取类的所有属性和方法
print(stu_dict['school'])#获取学校
stu_dict['choose_course'](123)#传值
print(Student.__doc__)

##函数对象(补充)

def x():
    print('x')

y = x

函数定义阶段:检测语法,不执行代码

类定义阶段:执行代码

(二)定义对象(实例化对象)

stu1 = Student() #stu就是一个对象

对象使用类中的方法,不需要加参数,因为实例化对象调用该方法时,python会自动将实例化对象传给self

五 定制化对象独有特征

class OldboyStudent:
    school = 'oldboy'

    def __init__(self, name, age, gender):
        """调用类的时候自动触发"""
        self.name = name
        self.age = age
        self.gender = gender
        print('*' * 50)

    def choose_course(self):
        print('is choosing course')

python中一切皆对象,一切皆数据类型

作为对象:

  1. 引用x = 10,y = x
  2. 作为容器类元素
  3. 作为函数参数
  4. 作为函数返回值

day10整理(面对对象,过程,类和对象)的更多相关文章

  1. js之数组,对象,类数组对象

    许久不写了,实在是不知道写点什么,正好最近有个同事问了个问题,关于数组,对象和类数组的,仔细说起来都是基础,其实都没什么好讲的,不过看到还是有很多朋友有些迷糊,这里就简单对于定义以及一下相同点,不同点 ...

  2. python-面向对象-02_类和对象

    类和对象 目标 类和对象的概念 类和对象的关系 类的设计 01. 类和对象的概念 类 和 对象 是 面向对象编程的 两个 核心概念 1.1 类 类 是对一群具有 相同 特征 或者 行为 的事物的一个统 ...

  3. Java知识系统回顾整理01基础07类和对象01引用

    一.引用的定义 引用的概念,如果一个变量的类型是 类类型,而非基本类型,那么该变量又叫做引用. 二.引用和指向 new Hero(); 代表创建了一个Hero对象 但是也仅仅是创建了一个对象,没有办法 ...

  4. js面向(基于)对象编程—类(原型对象)与对象

    JS分三个部分: 1. ECMAScript标准--基础语法 2. DOM  Document Object Model 文档对象模型 3. BOM  Browser Object Moldel 浏览 ...

  5. 0604-面向对象、类与对象、类、static、构造方法/析构方法

    一.面向对象 1.面向过程:一个人分步骤完成某个事情 2.面向对象:某件事情拆分为多个任务,由每个对象独立完成,最后调用整合为一个完整的项目 3.三要素:继承.封装.多态. 封装:私有化属性 提供公共 ...

  6. python--面向对象:类和对象命名空间

    一.一个类可以定义两种属性:静态属性和动态属性 (一)对于不可变数据类型来说,类变量最好用类名操作,也可以用对象操作,但是只能查,不能改,对象改的都只是相当于在自己的命名空间里重新建立了一个 clas ...

  7. 简述JavaScript对象、数组对象与类数组对象

    问题引出 在上图给出的文档中,用JavaScript获取那个a标签,要用什么办法呢?相信第一反应一定是使用document.getElementsByTagName('a')[0]来获取.同样的,在使 ...

  8. 【PHP面向对象(OOP)编程入门教程】2.什么是类,什么是对象,类和对象这间的关系

    类的概念:类是具有相同属性和服务的一组对象的集合.它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分.在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属 ...

  9. [Effective JavaScript 笔记]第58条:区分数组对象和类数组对象

    示例 设想有两个不同类的API.第一个是位向量:有序的位集合 var bits=new BitVector(); bits.enable(4); bits.enable([1,3,8,17]); bi ...

随机推荐

  1. VM虚拟机,如何放大虚拟机屏幕,如何导出虚拟机ovf

    放大屏幕:,第一打开虚拟机,第二在需要放大的虚拟机上安装VMware tools   第三步查看>自动调节大小>自适应客户机.这样就可以放大屏幕了. 没有放大的屏幕 找到安装VMware  ...

  2. 基于windows的Redis后台服务安装卸载管理

    首先,需要你进入你的Redis解压根目录,例如,类似于我下图的这样子: 接着打开你的cmd,使用cd命令切换到该目录,或者直接在上图的地址栏输入“cmd”并回车.这里为什么让你先使用资源管理器找到你的 ...

  3. 创建FTP访问的YUM源

    创建FTP访问的YUM源 一.安装vsftpd(步骤详见“在linux中搭建vsftpd.docx”) 在主机A上安装FTP,安装后的ftp信息如下:ftp://192.168.43.300  账号密 ...

  4. MongoDB4.0支持事务管理

    ​ 背景 最后我们看一下MongoDB的事务管理,本来是没这一篇的,因为网上大部分资料太老,都为MongoDB之前的版本,的确在MongoDB 4.0版本之前是没有事务管理,但是今天年初MongoDB ...

  5. 03-body标签中的部分标签

    一.字体标签 标题标签h1-h6 h1定义最大的标题,h6定义最小的标题,一般一个页面中h1只能出现一次,尽量标题不要超过三级.h标签具有align属性,属性值分别是:left.center.righ ...

  6. vue中"‘webpack-dev-server’不是内部或外部命令,也不是可运行的程序"的报错

    在vue项目中发现了这个报错  解决办法将项目里的“node_modules”文件夹删除,然后重新运行cnpm install

  7. Python集训营45天—Day08 (文件操作)

    目录 1. 文件操作介绍 2. 文件的读写 2.1 文本文件 2.2 二进制文件 2.3 JSON文件 3. 文件的定位,重命名和删除 4. 文件夹的相关操作 1. 文件操作介绍 大家应该听说过一句话 ...

  8. R-forestplot包| HR结果绘制森林图

    本文首发于“生信补给站”微信公众号,https://mp.weixin.qq.com/s/2W1W-8JKTM4S4nml3VF51w 更多关于R语言,ggplot2绘图,生信分析的内容,敬请关注小号 ...

  9. tomcat容器是如何创建servlet类实例

    当容器启动时,会读取在webapps目录下所有的web应用中的web.xml文件,然后对xml文件进行解析,并读取servlet注册信息. 然后,将每个应用中注册的servlet类都进行加载,并通过反 ...

  10. python编程基础之二十四

    函数: def 函数名([参数1],[参数2],[参数3], ... ,[参数n]): 函数体代码 函数名命名规则:同标识符命名相同,但是多了一点,不要和系统函数重名,其实所有命名都是一样只要符合标识 ...