python语句、表达式、对象、变量、赋值、函数传参

python语句、表达式、对象、变量、赋值、函数传参

语句(Statement)、表达式(Expression)

语句与表达式并不是一个概念,表达式可以作为语句的一部分,不过它们都应底层的若干条完整指令。

  • 表达式是有操作符(Operator)和操作数(Operand)的组合,可以只有操作数而没有操作符。
  • 语句可以认为是计算机指令的抽象表示,c语言中是通过分号来识别,python是规定有自己的语句集。

python对象(Object)、变量(Variable)/名称(Name)、赋值

  • python中的variable/name(下统称为name)是通过赋值产生的。
    当进行赋值时,先创建对象,对象具有值和类型;
    随后assign the name to the object,通常译为将object赋值给name,各人觉得译为把name指派给object更符合实际过程;
    name仅仅是对对象的引用(reference),其本身没有值和类型。
  • 当name出现在表达式中,会由它所引用的对象替代来参与运算。
  • 当对name进行新的赋值时,会使其引用新的对象
    这里写图片描述
    这里写图片描述

python函数参数传递

python函数参数传递就是一种赋值

  • Arguments are passed by automatically assigning objects to local variable names. Function arguments—references to (possibly) shared objects sent by the caller—are just another instance of Python assignment at work. Because references are implemented as pointers, all arguments are, in effect, passed by pointer. Objects passed as arguments are never automatically copied.
    这里写图片描述
  • 虽然函数参数传递都是传对象的引用(指针),而不复制对象。
    但当传递参数为不可变对象(interger string etc.)时,由于对象的值不可改变,看起来效果像传值/复制;
    当传递参数为可变对象(list etc.)时,传递的对象可以在函数中改变,看起来效果像传指针。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值