(In the finishing)
In Python, a type belongs to an object, and a variable is of no type:
A=[1,2,3]a="Runoob"
In the above code, [All-in-one] is a list type,"Runoob" is a String type, and the variable A is no type, she is simply a reference to an object (a pointer), either a list type object, or a point to Stri Ng type Object.
Can change (mutable) and non-changing (immutable) objects
In Python, strings, tuples, and numbers are objects that cannot be changed, and List,dict are objects that can be modified.
immutable Type: variable assignment a=5 and then assign value a=10, here is actually reborn into an int value object 10, then a point to it, and 5 is discarded, not change the value of a, the equivalent of a new student into a.
Variable type: variable assignment la=[1,2,3,4] after assigning a value la[2]=5 is to change the value of the third element of List LA, itself LA is not moving, but its internal part of the value has been modified.
Parameter passing of the Python function:
immutable types: values such as C + + are passed, such as integers, strings, and tuples. such as fun (a), passing only a value, does not affect the A object itself. For example, in Fun (a) to modify the value of a, just modify another copy of the object, does not affect the a itself.
mutable types: references such as C + + are passed, such as lists, dictionaries. such as Fun (LA), is the real transfer of LA, the modified fun outside of LA will also be affected
Everything in Python is an object, strictly meaning we can't say value passing or reference passing, we should say immutable objects and pass mutable objects.
Python-Pass Immutable object instance
#!/usr/bin/python#-*-coding:utf-8-*-defchangeint():=Ten=2 Changeint(b)print# result is 2
The instance has int object 2, the variable that points to it is B, and when passed to the Changeint function, the variable b,a and B both point to the same int object, and at a=10, the new int value Object 10, and a points to it.
Passing a Mutable object instance
#!/usr/bin/python#-*-Coding:utf-8-*- # Writable Function DescriptionDefChangeme(MyList): "Modify Incoming List"MyList.Append([1,2,3,4 print "function value:" , MyList return # call changeme function MyList = [1020,30]; Changeme MyList print "function out of value:" , mylist
The same reference is used for the object passing in the function in the instance and adding new content at the end, so the output is as follows:
Value in function: [10, 20, 30, [1, 2, 3,4] out-of-function values: [10 , 20, 30, [1 2, 3 , 4] [
Parameter passing of Python and JavaScript functions