第四十八节 对象作为参数Objects as Arguments

  • 前言
  • 实践

前言

函数的参数不一定都是变量,有时候也可以指定一个对象作为参数传给函数。

实践

我们先定义一个Car类:

class Car:color = None

可见该类有一个color属性。接下来我们便定义一个函数来改变车辆的颜色:

def Change_Color(car, color):car.color = color

可见Change_Color函数需要传入两个参数,一个是car对象,一个是color字符串。接下来我们对两个汽车对象实例化:

car_1 = Car()
car_2 = Car()

此时这两个汽车对象的color属性均为None:

print(car_1.color)
print(car_2.color)
>>> None
>>> None

接着我们通过Change_Color函数改变这两个对象的颜色:

Change_Color(car_1, "red")
Change_Color(car_2, "white")print(car_1.color)
print(car_2.color)
>>> red
>>> white

可见汽车对象的颜色变为我们指定的颜色了。

class Car:def __init__(self, color=None):self.color = colordef view(self):print("The Car's color is {}".format(self.color))def Change_Color(car, color):car.color = colorcar_1 = Car()
car_2 = Car()Change_Color(car_1, "red")
Change_Color(car_2, "white")car_1.view()
car_2.view()
>>> The Car's color is red
>>> The Car's color is white

以上便是对象作为参数的全部内容,感谢大家的收藏、点赞、评论。我们下一节将介绍鸭子类型(Duck Typing),敬请期待~

Python编程基础:第四十八节 对象作为参数Objects as Argument相关推荐

  1. Python编程基础:第二十八节 随机数Random Numbers

    第二十八节 随机数Random Numbers 前言 实践 前言 我们在编程过程中有时候需要用到随机数,例如模拟掷骰子,模拟抽签等等.Python为我们提供了random包帮助我们生成随机数. 实践 ...

  2. Python编程基础:第十八节 字典Dictionaries

    第十八节 字典Dictionaries 前言 实践 前言 字典的定义方式与集合相似,也是通过花括号{}进行定义的,不同的是字典中的每一个元素由两部分构成,分别是键和值.字典中的元素都是无序的,并且元素 ...

  3. Python编程基础:第二十五节 args参数*args

    第二十五节 args参数*args 前言 实践 前言 我们目前学习到的函数的参数个数都是固定的,那么我们是否可以指定任意多个参数呢?其实是可以的,这里就用到了args参数,它可以将用户指定的任意多个参 ...

  4. Python编程基础:第二十六节 kwargs参数**kwargs

    第二十六节 kwargs参数**kwargs 前言 实践 前言 上一节我们尝试传入任意多的参数,我们这一节来学习传入任意多具有参数名称的参数.kwargs参数将用户传入的参数打包为字典传入函数中用于进 ...

  5. Python编程基础:第二十四节 作用域Scope

    第二十四节 作用域Scope 前言 实践 前言 在Python中每一个变量都有其自己的生命周期,我们一般将变量分为全局变量与局部变量,全局变量是指在整个代码内部都可以访问到的变量,局部变量是指只有在函 ...

  6. Python编程基础:第十四节 列表Lists

    第十四节 列表Lists 前言 实践 前言 列表是一种非常常用的数据结构.我们可以用它来存储各种类型的数据. 实践 我们先来创建一个名为food的列表,里面存储了一系列我喜欢的食物名称: food = ...

  7. Python编程基础 第四章 编程练习 请定义一个Circle类,具体要求为:(1)每个Circle类对象可以存储圆心和半径信息;(2)具有设置圆心和半径的方法SetCenter和SetRadius

    题目内容: 请定义一个Circle类,具体要求为:(1)每个Circle类对象可以存储圆心和半径信息:(2)具有设置圆心和半径的方法SetCenter和SetRadius:(3)具有计算圆面积的方法G ...

  8. Python编程基础 第四章 编程练习 请定义一个Cylinder类,具体要求为:(1)每个Cylinder类对象可以存储一个圆柱体;2)具有用于初始化半径和高的构造方法;(3)具有计算圆柱体体积

    题目内容: 请定义一个Cylinder类,具体要求为:(1)每个Cylinder类对象可以存储一个圆柱体(包括半径和高):(2)具有用于初始化半径和高的构造方法:(3)具有计算圆柱体体积的方法GetV ...

  9. Python编程基础:第二十九节 异常Exception

    第二十九节 异常Exception 前言 实践 前言 我们在写代码时不可避免地会出错,这时候编译器便会抛出异常并中断程序的执行.针对这种情况,我们可以采用异常处理的方式捕捉程序中的异常信息,并将异常信 ...

最新文章

  1. Gemini 3D双目结构光深度相机在Android平台上深度数据噪点非常多的问题
  2. 临沂机器人火锅_临沂知名智能无人火锅前景
  3. how to covid free at cambridge?
  4. Question | 网站被黑客扫描撞库该怎么应对防范?
  5. bind blz mysql_MySQ DBAL重点剖析课程 企业级MySQL系统安全与DBA运维日常事务管理 运维DBA必备宝典...
  6. SSM+easyUI(框架的搭建)
  7. 前端:CSS/11/CSS浮动和清除,CSS继承性,CSS优先级
  8. Server 2016DC查看五种AD角色的方法
  9. Deno 是面向代码的浏览器?
  10. 微信小程序CSS之Flex布局
  11. Cordova 插件详解
  12. 电视与电脑连接html线,电视机与电脑连接的方法
  13. 基于微信小程序的小说阅读系统(小程序+Nodejs)
  14. 千岛湖自助游记--给力
  15. asp.net使用Aspose.Cells实现excel预览
  16. Origin怎样让坐标轴标签置于曲线顶层/上方
  17. SortArrayDistanceLessK
  18. OpenPLC61850: An IEC 61850 MMS compatible open source PLC for smart grid research
  19. File.separator 详解
  20. Git Github

热门文章

  1. 像证券交易员一样思考和行动_3纪律与心态
  2. 面试浅谈 c++ 的空间两级配置器
  3. mysql 报错注入 读文件_SQL注入-读写文件
  4. java如何画出表格_Java利用iText7画个性化表格
  5. bootstrap 彈窗默認打開_Bootstrap 手册 07 - JS 组件篇
  6. sdn智能互联系统及开发平台_聊天交友平台系统APP开发
  7. 启动服务错误5拒绝访问_【Go API 开发实战 5】基础1:启动一个最简单的 RESTful API 服务器...
  8. 数据查询和业务流分开_数据仓库介绍与实时数仓案例
  9. mysql 自动停止_MySQL数据库之mysql自动停止的完美解决方法
  10. 视频在计算机中的存储