参考链接: Python 变量 |表达式 |条件和函数
python语句、表达式、对象、变量、赋值、函数传参
python语句表达式对象变量赋值函数传参
语句Statement表达式Expressionpython对象Object变量Variable名称Name赋值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.)时,传递的对象可以在函数中改变,看起来效果像传指针。