


Detailed graphic explanation of Python variables and assignments
This time I will bring you a detailed graphic explanation of Python variables and assignments. What are the precautions when using Python variables and assignments? Here are practical cases, let’s take a look.
Python is a unique language, which is very different from the C language. Many newbies who are new to Python say they don’t understand variables and assignment. Anyone who has studied C knows that when assigning a value to a variable, you need to specify it first. Data type, at the same time, a memory area will be opened for storing values, for example:
int a = 1;
a is a small area in the memory space, It's like a small box in a large room. Assignment is to load the integer 1 into the box.
Now reassign the value of variable a
a = 2;
The box is still the same box, which means that the memory address has not changed, but the value in the memory has changed. Yes, it became 2.
Let’s look at it again:
int b = a;
When assigning variable a to another variable b, it is equivalent to copying the value and passing it to variable b. b is a newly opened memory area
In Python, the strict name of "variable" is "name (name)", which can also be understood as a label, just like our people's names, the name is A label attached to a person.
>>> 10-a Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'a' is not defined</module></stdin>
For example, the error reported above is that name 'a' is not defined, but is not called variable.
In Python, assigning a value to a variable is equivalent to labeling an object, just like we give names to people. The variable itself has no meaning. It has no type information, and the real information is in the object.
For example:
a = 1
Python will first allocate a memory space to create an integer object 1, and then label this 1 with the name a .
Then execute
a=2
Python will then create the integer object 2 in another memory area, and then tear off the label a from 1 and paste it on 2. At this time, we can no longer pass a to get the value 1.
Now assign the name a to another name b
b = a
It is equivalent to attaching it to the 2 just now A new label b. Note that this is completely different from the C language. There is no need to allocate memory space when defining b. In this way, we can access 2 through a or 2 through b. The accesses are the same. An object is just like when we name a baby with both a nickname and a big name, they actually name the same person.
Although we usually use the term "variable" in Python (because this is a common term in Programming languages), we need to understand that variables in Python are different In other languages, a variable is just a name.
After understanding variables and assignments in Python, let’s look at function parameterspassing, as shown below:
>>> def fun_a(a): ... a = a+4 ... >>> g = 0 >>> fun_a(g) >>> g 0
When the global variable g is passed to the function fun_a, it is quite The parameter a in the function will also be attached to 0 as a label, and then a will be reassigned (a=a 4), which is equivalent to tearing off the label a from 0 and attaching it to 4, and then g will still be the label on 0.
Let’s look at this function again. What is passed is a list object
>>> def fun_b(names): ... names[0] = ['x', 'y'] ... >>> n_list = ['a','b','c'] >>> fun_b(n_list) >>> >>> n_list [['x','y'], 'b', 'c']
与前面的步骤还是一样的,names 和 n_list 都是['a','b','c']上的一个标签,只是列表中的第0个元素被重新赋值了,但是names和 n_list 依然都贴在这个列表对象身上,虽然 n_list的值更新了,但对象依然是原来那个对象。就好比张三和小张都是同一个人,现在给小张换件衣服时,其实就是给张三换件衣服,人还是那个人,只是它身上的东西发生了变化。
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
The above is the detailed content of Detailed graphic explanation of Python variables and assignments. For more information, please follow other related articles on the PHP Chinese website!

Arraysarebetterforelement-wiseoperationsduetofasteraccessandoptimizedimplementations.1)Arrayshavecontiguousmemoryfordirectaccess,enhancingperformance.2)Listsareflexiblebutslowerduetopotentialdynamicresizing.3)Forlargedatasets,arrays,especiallywithlib

Mathematical operations of the entire array in NumPy can be efficiently implemented through vectorized operations. 1) Use simple operators such as addition (arr 2) to perform operations on arrays. 2) NumPy uses the underlying C language library, which improves the computing speed. 3) You can perform complex operations such as multiplication, division, and exponents. 4) Pay attention to broadcast operations to ensure that the array shape is compatible. 5) Using NumPy functions such as np.sum() can significantly improve performance.

In Python, there are two main methods for inserting elements into a list: 1) Using the insert(index, value) method, you can insert elements at the specified index, but inserting at the beginning of a large list is inefficient; 2) Using the append(value) method, add elements at the end of the list, which is highly efficient. For large lists, it is recommended to use append() or consider using deque or NumPy arrays to optimize performance.

TomakeaPythonscriptexecutableonbothUnixandWindows:1)Addashebangline(#!/usr/bin/envpython3)andusechmod xtomakeitexecutableonUnix.2)OnWindows,ensurePythonisinstalledandassociatedwith.pyfiles,oruseabatchfile(run.bat)torunthescript.

When encountering a "commandnotfound" error, the following points should be checked: 1. Confirm that the script exists and the path is correct; 2. Check file permissions and use chmod to add execution permissions if necessary; 3. Make sure the script interpreter is installed and in PATH; 4. Verify that the shebang line at the beginning of the script is correct. Doing so can effectively solve the script operation problem and ensure the coding process is smooth.

Arraysaregenerallymorememory-efficientthanlistsforstoringnumericaldataduetotheirfixed-sizenatureanddirectmemoryaccess.1)Arraysstoreelementsinacontiguousblock,reducingoverheadfrompointersormetadata.2)Lists,oftenimplementedasdynamicarraysorlinkedstruct

ToconvertaPythonlisttoanarray,usethearraymodule:1)Importthearraymodule,2)Createalist,3)Usearray(typecode,list)toconvertit,specifyingthetypecodelike'i'forintegers.Thisconversionoptimizesmemoryusageforhomogeneousdata,enhancingperformanceinnumericalcomp

Python lists can store different types of data. The example list contains integers, strings, floating point numbers, booleans, nested lists, and dictionaries. List flexibility is valuable in data processing and prototyping, but it needs to be used with caution to ensure the readability and maintainability of the code.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

Zend Studio 13.0.1
Powerful PHP integrated development environment

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),
