经验分享
共同学习

Python入门教程 持续更新

文章简介

这篇文章我会把python入门学习的经验,以及心得分享出来,其中内容不少是我在学习中的一些笔记,与大家分享,希望用这种文字的方式,能让大家快速了解这门编程语言,或者对这门语言产生兴趣以及学习的入门方式。一个人想学习任何的技术或者知识,只要你想学,能坚持的去学习,在这个世界上根本就不存在学不会的,以本人水平为例,我的水平只是一个**文凭,很多人会说这种人不可能学得会编程,其实非也,因为爱好的执行力很强,睡觉做梦都会去思考这个事情,坚持不懈的去研究,其实都一样都能学得会,我从接触互联网至今从未把一种技术当做功利性去学习,仅是对它的好奇心和兴趣,因为好奇,研究它的动力就很强,正好遇到了它几年后流行,就用得上了。也就是一直把学习作为主动,至于是否赚钱是被动的。哪怕学了不赚钱也不会因为学习这门编程语言而后悔,最起码它能为我个人的工作中提供很多的帮助。

现在ChatGPT已经非常热门,对于我这种自学编程语言来说真是大大的福利了,因为我几乎遇到不懂的问题,或者很难的问题不需要去请教大佬,我会把我的想法告诉它,把不懂没有学明白的问题讲给它听,自然会得到解决办法,效率高还不会嫌我啰嗦,同时也建议大家都去使用这类工具,会对我们的学习有非常大提升。

每天抽空就会写一点,持续更新的文章。

Python简介

python是著名的“龟叔”Guido van Rossum 在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。最初Python只是一个项目,没想到后来竟然发展壮大,成为如今举世知名的编程语言。直到2023年6月Python在TIOBE排行榜已经成为流行度榜首。

牛人就是牛人,为了打发无聊的时间竟然写了一个这么牛的编程语言。

以下是2023年6月编程语言TOP20榜单。

排名 编程语言 流行度 对比上月 年度明星
1 Python 12.46%
-0.99%
2021, 2020
2 C 12.37%
-0.98%
2019, 2017
3 C++ 11.36%
-0.6%
2022, 2003
4 Java 11.28%
-0.94%
2015, 2005
5 C# 6.71%
-0.72%
6 Visual Basic 3.34%
-0.5%
7 JavaScript 2.82%
0.38%
2014
8 PHP 1.74%
0.15%
2004
9 SQL 1.47%
-0.01%
10 Assembly language 1.29%
0.09%
11 Delphi/Object Pascal 1.26%
0.25%
12 MATLAB 1.11%
0.23%
13 Scratch 1.02%
0.07%
14 Go 1.00%
0.01%
2016, 2009
15 Fortran 0.99%
0.21%
16 Classic Visual Basic 0.96%
0.21%
17 R 0.94%
0.12%
18 Ruby 0.94%
0.14%
2006
19 Swift 0.93%
0.02%
20 Rust 0.91%
0.09%

TOP10编程语言TIOBE指数走势(2002-2023)

总的来说这些编程语言各有千秋,但不难看出,最近几年的Python发展速度非常快,特别近几年流行的机器学习,数据分析,自动化测试、爬虫等更让Python快速的发展起来。

Python是高级编程语言,它有一个特点就是能快速的开发。Python为我们提供了非常完善的基础代码库,涵盖了网络、文件、GUI、数据库、文本等大量内容,被形象地称作“内置电池(batteries included)”。用Python开发,功能不必从零编写,直接使用现成的即可。而且Python还能开发网站,很多大型网站就是用Python开发的,例如youtube、instagram,还有国内的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美国航天局)都大量的使用Python。

当然,任何一种编程语言都有优缺点,Python也不例外。

缺点一:运行速度慢,和C程序相比它非常慢。因为Python是解释性语言,你的代码在执行时会一行一行的翻译成CPU能理解的机器码,这个翻译的过程相比C程序非常耗时,所以它比C程序慢,而C程序是运行直接编译成CPU能执行的机器码,没有解释翻译的过程,所以C程序就非常快。

缺点二:代码不能加密。如果你发布你的Python程序,实际上就是发布源代码。像JAVA,C这些编译型语言,都没有这个问题,而解释型语言,则必需把源码发布出去。

对于如今缺点的解释如下

速度缺点并非致命性的,其中运行速度慢的情况主要出现在大量计算的场景,在日常脚本以及wbe等方面,速度完全是够用,我们只是说相对于C程序。随着Python解释器不断地优化,速度也在不断地提高,3.x和2.x相比已经大幅提升。对于计算密集型任务,可以采用Python于C交互的方式来来有效提升速度。

加密对许多用户来说不太重要,对于需要保护的用户,可以采用混淆编码或者外部函数等方式,有效增加反编译的难度,也可以用Cython将PYthon代码编译为加密的字节码。

学习的目的和动力

IT行业相对于一般传统行业,因为发展速度太快,一旦停止了学习,很快就会被行业所淘汰,但是我们要清楚,淘汰的永远只是那些初级水平的从业者,技术过硬的从业者永远都是稀缺的。因此对于学习,我们还是要踏踏实实的。

自学Python也是一样的,不要一开始因为头脑发热就不停地收藏各种资料网站,购买各种书籍,下载了大量的教学视频,过了几天,学习的热情开始褪去,再过几个星期,终于完成了学习课程——《从入门到放弃》。所以学习Python需要一步一个脚印踏踏实实的去学,一分耕耘一分收获,当然了有时候耕耘也不一定有收获。

学习编程最好的动力是:爱好,因为爱好不会去关心收入,目的只有成就感和责任感。你并不会因为市场不景气,或者其他外在原因导致你半途而废,你并不会找不到工作而不去学习,在我认识程序员当中的大佬们,那些真正稀缺的大牛们,内心对未知的好奇,喜欢探索,而不是功利性的学习,当然我说的这个并非绝对,仅供参考。

当然了,成年人基本都是功利性较大,得考虑收入养活家庭,不管哪种目的也好,我们都需要把这件事给想清楚,到底自己属于功利还是爱好,然后去指定自己的学习计划。

Python安装

python是跨平台的,它可以运行在Windows/Mac/Linux/Unix系统上。目前Python有两个版本,一个是2.x版本,一个是3.x版本,这两个版本是不兼容的。我安装的是3.10.6版本。

Windows系统下安装配置

官网地址:https://www.python.org/

点击Downloads对应选择自己的操作系统Windows

选择安装程序64位,点击进行下载安装包。因为版本太多你可以通过Ctrl+f来进行快速找到对应版本进行下载。

如果是Windows系统,下载安装包后直接勾选Add Python 3.10 to PATH,然后点击Install Now即可完成安装。

如果你一时手快,忘记勾选Add Python 3.10 to Path也没问题,只需要手动配置一下环境变量就OK。

在命令提示框中cmd输入:

path=%path%;C:\Python

特别要注意:C:\python是python的安装目录,如果你的安装目录是其他路径,就得对应填写。

安装完毕后,打开命令提示符,输入python回车后,出现下面的信息,证明python安装成功,

而你看到提示符>>>就表示我们已经在python交互式环境中了,可以输入任何python代码,回车后会立刻得到执行结果。

Mac系统安装配置

MAC系统一般都自带了Python2.x版本的环境,不过现在都不用2.x的版本了,所以直接在python官网下载最新版本即可。

先查看当前环境变量

echo $PATH

然后打开~/.bash_profile(没有请新建)

vi ~/.bash_profile

我装的是python3.7,python路径为:/Library/Frameworks/Python. Framework/Versions/3.7/bin 于是写入

export PATH="/Library/Frameworks/Python. Framework/Versions/3.7/bin:$PATH"

最后保存退出,激活运行一下文件:

source ~/.bash_profile

第一个Python程序

现在我们就来写第一个Python程序了,一开始写Python程序,个人不太建议用专门的工具来写,不方便熟悉语法,所以这里我先用Sublime Text来写,后期熟悉了可以改为用PyCharm。

第一个Python程序当然是打印Hello Python啦。

如果你没有编程经验,什么都不懂,第一个Python程序,只要跟着做,留下一个印象,尝试一下就OK。

Sublime Text

用Sublime Text新建文件,右下角设置为Python

输入print('Hello Python')  按Ctrl+s保存文件至自定义目录。命名为print('Hello Python').py,注意是以.py为后缀的文件。

最后我们按Ctrl+B就可以直接运行了,运行结果如下。

集成开发环境(IDE)PyCharm

我本人一直是建议在学习周期使用文本编辑器或者是Sublime Text 这个工具来写 Python 程序的,因为这样有利于我们了解整个流程。

当然,如果你有一定的编程基础,是可以使用集成的开发环境的,这样基本数据类型和变量可以提高效率。这时,你可以选择 PyCharm ,PyCharm 是由 JetBrains 打造的一款 Python IDE,支持 macOS、 Windows、 Linux 系统。

PyCharm 下载地址 : https://www.jetbrains.com/pycharm/download/

集成开发环境(IDE)VScode

VS code下载地址:https://code.visualstudio.com/

基本数据类型和变量

Python语法简要说明

每种语言都有自己的语法,不管是自然语言(英语/中文)还是计算机编程语言。

Python也不例外,它也有自己的语法规则,然后编辑器或者解释器根据符合语法的程序代码转换成CPU能够执行的机器码,然后执行。

Python的语法比较简单,采用缩进方式。

如上图的代码截图,以#开头的语句是注释,其他每一行都是语句,当语句以冒号:结尾时,缩进的语句视为代码块。

要主要的是Python程序是分大小写的,如果写错了程序也会直接报错。

print()函数

这里先说一下print()函数,如果你是新手,可能对函数不太了解,没关系,这里你只要了解他的组成部分和作用就可以了,后面函数这一块会详细说明的。

print()函数由两部分构成:

  1. 指令:print
  2. 指令的执行对象,在print后面的括号里的内容

print()函数的作用是让计算机把你给它的指令结果显示在屏幕的终端上。这里的指令就是在print()函数里的内容。

比如在上一章节中我们第一个Python程序,打印print('Hello Python')

它的执行流程如下

  1. 读取代码:计算机读取我们编写的Python代码print(‘Hello Python’)。
  2. 分析代码:计算机分析代码,把代码分解成一个个词素,比如print和’Hello Python’。
  3. 转换代码:计算机将这些词素转化成它自己能理解的形式。
  4. 执行代码:计算机按照转换后的代码一个个地执行,遇到print,就打印出’Hello Python’。
  5. 显示结果:计算机将打印的’Hello Python’显示在屏幕上。
  6. 结束运行:计算机运行完成,整个程序结束。

可能有人会问,为什么要加单引号,直接print(Hello Python)不行吗?

如果你写代码过程中,有这样疑问,直接写一下代码,自己验证一下是最好的。

显然,去掉单引号后,运行结果就会报错,证明这是不可以的。

主要是因为这不符合Python的语法规则,去掉单引号后,Python解释器根本没办法看懂你写的是什么。

所以就报SyntaxError:invalid syntax的错误,意思是:语法错误。说明你的语句不合规则。

命名规范

模块

模块尽量使用小写命名,首字母保持小写,尽量不要用下划线(除非多个单词且数量不多的情况)

# 正确的模块名
import decoder
import html_parser

# 不推荐的模块名
import Decoder

类名

类名使用驼峰(CamelCase)命名风格,首字母大写,私有类可用一个下划线开头

class Farm():
pass

class AnimalFarm(Farm):
pass

class _PrivateFarm(Farm):
pass

将相关的类和顶级函数放在同一个模块里,不像Java,没必要限制一个类一个模块.

函数

函数名一律小写,如有多个单词,用下划线隔开

def run():
pass

def run_with_env():
pass

私有函数在函数前加一个下划线_

class Person():

def _private_func():
pass

变量名

变量名尽量小写,如有多个单词,用下划线隔开

if __name__ == '__main__':
count = 0
school_name = ''

常量采用全大写,如有多个单词,使用下划线隔开

MAX_CLIENT = 100
MAX_CONNECTION = 1000
CONNECTION_TIMEOUT = 600

常量

常量使用下划线分割的大写命名

MAX_OVERFLOW = 100

Class FooBar:

def foo_bar(self, print_):
print(print_)

注释

块注释

“#”号后加一个空格,段落件用空行分开(同样需要’#’号)

# 块注释
# 块注释
#
# 块注释
# 块注释

行注释

至少使用两个空格和语句分开,注意不要使用无意义的注释

# 正确的写法
x = x + 1 # 边框加粗一个像素

# 不推荐的写法(无意义的注释)
x = x + 1 # x加1

建议

  • 在代码的关键部分(或比较复杂的地方)能写注释的要尽量写注释
  • 比较重要的注释段,使用多个等号隔开,可以更加醒目,突出重要性
app = create_app(name, options)


# =====================================
# 请勿在此处添加 get post等app路由行为 !!!
# =====================================


if __name__ == '__main__':
app.run()

文档注释

作为文档的Docstring一般出现在模块头部,函数和类的头部,这样在Python中可以通过对象的_doc_对象获取文档.编辑器和IDE也可以根据Docstring给出自动提示

文档注释”””开头和结尾,首行不换行,如有多行,末行必需换行,以下是Google的Docstring风格实例

# -*- coding: utf-8 -*-
"""Example docstrings.

This module demonstrates documentation as specified by the `Google Python
Style Guide`_. Docstrings may extend over multiple lines. Sections are created
with a section header and a colon followed by a block of indented text.

Example:
Examples can be given using either the ``Example`` or ``Examples``
sections. Sections support any reStructuredText formatting, including
literal blocks::

$ python example_google.py

Section breaks are created by resuming unindented text. Section breaks
are also implicitly created anytime a new section starts.
"""

不要在文档注释复制函数定义原型,而是具体描述其具体内容,解释具体参数和返回值等

# 不推荐的写法(不要写函数原型等废话)
def function(a, b):
"""function(a, b) -> list"""
... ...


# 正确的写法
def function(a, b):
"""计算并返回a到b范围内数据的平均值"""
... ...

对函数参数、返回值等的说明采用numpy标准,如下所示

def func(arg1, arg2):
"""在这里写函数的一句话总结(如: 计算平均值).

这里是具体描述.

参数
----------
arg1 : int
arg1的具体描述
arg2 : int
arg2的具体描述

返回值
-------
int
返回值的具体描述

参看
--------
otherfunc : 其它关联函数等...

示例
--------
示例使用doctest格式, 在`>>>`后的代码可以被文档测试工具作为测试用例自动运行

>>> a=[1,2,3]
>>> print [x + 3 for x in a]
[4, 5, 6]
"""
  • 文档注释不限于中英文,但不要中英文混用
  • 文档注释不是越唱越好,通常一两句话能把情况说清楚即可
  • 模块、公有类、公有方法,能写文档注释的,应该尽量写文档注释

Python的基本数据类型

字符串

字符串英文string是Python中随处可见的数据类型,字符串的识别也非常的简单,就是用它[引号]括起来的。

引号包括单引号' ' 双引号" "和三引号''' ''',比如'abc',"123"等等。

这里请注意,单引号' '或双引号" "和三引号''' '''本身只是一种表示方式,不是字符串的一部分,因此字符串'abc'只有a,b,c这三个字符。

如果善于思考的你,一定会问?

为什么要有单引号' ',双引号" "和三引号''' '''啊,直接定死一个不就好了,搞这么麻烦干什么?

是的,一般来说一种语法只用一个规则来表示是最好的,竟然现在字符串有三种不同的表示,证明是有原因的。

那么我们先看一下这三种方式,来定义同样内容的字符串,再把它打印出来,看看是怎样的。

可以看到,打印的结果都是一样的。

可是如果我们想要在打印的内容中包含引号呢?例如两'点'水这样呢?

我们可以看到结果,直接就给报错了。

这个时候,双引号的作用就来了。可以看到打印的结果也跟预期是一样的。

至于三引号,也是同理,要打印双引号内容时,就需要用三引号''' '''

那么用单引号,双引号定义的字符串就不能表示这样的内容吗?

并不是的,你可以使用转义字符。

比如单引号,你可以使用\'来表示,双引号可以用\"来表示

这里请注意,这里的是反斜杠\并不是斜杠/

了解之后,直接程序测试一下:

最后也提示一下,三引号”’ ”’是直接可以分行的。

整数

整数英文为integer。代码中的整数跟我们平常认识的整数一样,包括正整数、负整数和零,是没有小数点的数字。

Python可以处理任意大小的整数,例如:1,100-6060,0,等等。

当然要注意,如果数字你用引号括起来了,那就属于字符串了,而不适于整数。比如'100',这个100是字符串,不是整数。

在现实世界中,整数我们通常会做计算,因此代码世界也是一样,整数可以直接加减乘除。

比如:

这里提醒大家,看看上面的例子,有没有发现什么?

看一下int4打印出来的结果,是0.5,是一个小数。

而我们上面对整数的定义是什么?

是没有小数点的数字。

因此int4肯定不是一个整数。

这里我们可以使用type()函数来查看它的类型。

可以看到int4是float类型,而int1int2,都是int整数类型。

那么float是什么类型呢?

float是浮点数类型,是我们下面会说到的。

在说浮点数之前,各位可以看一下Python的算术运算符都有哪些,有个印象。

浮点数

浮点数的英文名是float,是指带小数点的数字。

浮点数跟整数有很多类似的地方,但是浮点数是最折磨人的,也是最难让人琢磨透的。

就好比世界级的大佬Herb Sutter说:「世上的人可以分为3类:一种是知道自己不懂浮点运算的;一种是以为自己懂浮点运算的;最后一种是极少的专家级任务,他们想知道自己是否有可能,最终完全理解浮点运算。」

为什么这么说呢?

看下面这个例子,像整数一样,只是基本的浮点数加法运算。

这个运算结果对于初学者来说,可能会接受不了。

对于第一个还好,0.55+0.41等于0.96,运算结果完全一致。可是后面两个,你会发现怎么出现了那么多个零。

这是因为计算机对浮点数0.1和0.4不能准确的表示,计算机会使用近似值进行存储。保存在计算机中的是二进制数,二进制对有些数字不能准确的表达,只能非常接近这个数。

所以我们在对浮点数做运算和比较大小的时候就要小心了。

布尔值

布尔值和布尔代数的表示完全一致,一个布尔值只有TrueFalse两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(注意大小写),也可以通过布尔运算计算出来。

布尔值可以用andornot运算

and运算是与运算,只有所有都为True,and运算结果才是True

or运算是或运算,只要其中有一个为True,or运算结果就是True

not运算是非运算,它是一个单目运算符,把True变成False,False变成True

需要注意,and、or、not有优先级关系:not最高,然后是and,or最低。这个会影响复合判断的结果。

布尔值在编程中有着重要的意义,作为基础数据类型,是实现程序逻辑和流程控制的核心工具。

True代表“真”,表示一个条件为真,结果为肯定的情况。

False代表“假”,表示一个条件为假,结果为否定的情况。

2 > 1 返回True,因为2确实大于1,这个条件判断为真

1 == 2 返回False,因为1不等于2,这个条件判断为假

空值

基本上每种编程语言都有自己的特殊值——空值,在 Python 中,用 None 来表示。

None表示无值,可以把它看成一个空对象。当一个变量被赋值为None时,它就变成一个空值,不再指向任何对象。例如:

所以Python中的None表示空值,类似于其他语言中的null、nil等概念。但是它只有一个值None

字符串的编码问题

我们都知道计算机只能处理数字,如果要处理文本,就必需先把文本转换为数字才能处理。最早的计算机在设计时用8个比特(bit)作为一个字节(byte),所以一个字节表示的最大的整数就是255(二进制11111111=十进制255),0-255被用来表示大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大小写字母A的编码是65,小写字母z的编码是122.

如果要表示中文,显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以中国制定了GB2312编码,用来把中文编进去。

类似的日文和韩文等其他语言也有这个问题。为了统一所有文字的编码,Unicode应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有编码乱码的问题了。

Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填为0就可以了。

我举一个例子:

以字母’A’为例:在ASCII编码中,’A’用1个字节表示,二进制代码是:0100 0001在Unicode中,’A’需要2个字节表示,变成:0000 0000 0100 0001

因为Python的诞生比Unicode标准发布的时间还要早,所以最早的Python只支持ASCII编码,普通的字符串’abc’在Python内部都是ASCII编码的。

Python在后来添加了对Unicode的支持,以Unicode表示的字符串用u'...'表示

不过在最新的Python 3 版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言。就像上面的例子一样,我的代码中没有u'...',也能正常显示。

不过由于Pyhton源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

第一个注释是为了告诉Linux/OS X系统,这是一个Python 可执行程序,Windows系统会忽略这个注释;

第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。

申明了UTF-8 编码并不意味着你的.py文件就是 UTF-8编码的,必需且要确保文本编辑器正在使用 UTF-8 without BOM编码。

基本数据类型转换

python中基本数据类型转换的方法有下面几个。

方法 说明
int(x [,base ]) 将x转换为一个整数
float(x ) 将x转换到一个浮点数
complex(real [,imag ]) 创建一个复数
str(x ) 将对象 x 转换为字符串
repr(x ) 将对象 x 转换为表达式字符串
eval(str ) 用来计算在字符串中的有效 Python 表达式,并返回一个对象
tuple(s ) 将序列 s 转换为一个元组
list(s ) 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个字符
unichr(x ) 将一个整数转换为 Unicode 字符
ord(x ) 将一个字符转换为它的整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串

注意:在Python 3 里,只有一种整数类型int,表示为长整型,没有 python 2 中的 Long。

这里我们可以尝试一下这些函数方法。

比如int()函数,将符合规则的字符串类型转化为整数。

注意:这里是符合规则的字符串类型,如果文字形式等字符串是不可以被int()函数强制转换的。因为int是整数型,只有整数才能使用这个函数。其中也包含了浮点数的字符串也是不能用int()函数转换的。

但是这并不意味着浮点数不能转化为整数,而是小数形式的字符串不能强转为字符串。

浮点数还是可以通过int()函数转换的。

但是你会发现,结果是15,后面的小数点0.52被去掉了。

这是因为int()函数是将数据转为整数。如果是浮点数转为整数,那么int()函数就会做取整的处理,只取整数部分。所以输出的结果为15.

其余的方法就不一一列具,只要多用,多试,这些方法都会慢慢熟悉,还有如果是初学者,完全可以每个方法都去玩玩试试,写一写,随便写,然后看运行结果,反正电脑也不会折腾坏。

Python中的变量

变量的创建和赋值

在Python程序中,变量是用一个变量名表示,可以是任意类型的数据,变量名必需是大小写英文、数字、下划线(_)的组合,且不能用数字开头,比如:

a=88

这里的a就是一个变量,代表一个整数,注意一点是Python是不用生命数据类型的。 在Python中= 是赋值语句,跟其他的编程语言也是一样的,因为Python定义变量时不需要声明数据类型,因此可以把任意数据类型赋值给变量,且同一个变量可以反复赋值,而且可以是不同的数据类型。

这种变量本身类型不固定的语言称之为动态语言,预支对应的是静态语言,静态语言在定义变量时必需指定变量类型,如果赋值的时候类型不匹配,就会报错,例如Java是静态语言。

变量的指向问题

我们来看一下这段代码,发现最后打印出来的变量b是Hello Python

这主要是变量 a 一开始是指向了字符串Hello Pythonb=a 创建了变量b,变量b也指向了a指向的字符串Hello Python,最后a=123,把变量a重新指向了123,所以最后输出变量b是Hello Python

如果再简单的说就是最终结果显示b的赋值,而b=a,默认第一次出现的a,至于第二次出现的a是a的问题,和b没任何关系。所以结果就是b=第一次出现的aHello Python

我做一张图,你会再次理解它的执行原理。数字代表执行的的次序,最后的a被重新赋值,和B一点关系没有。

我们再加一个print(a),就更加理解了这个原理。最后的打印命令的位置,也会影响它们的打印结果。

多动手尝试有利于我们更加理解它的原理,不要害怕敲错,就算是一个成熟的程序员每天也会出错。错误是我们成长的老师,多试错。

多个变量赋值

Python允许同时为多个变量赋值,例如:

a = b = c = 1

以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。

当然也可以为多个对象指定多个变量,例如:

a,b,c = 1, 2, "laotie"

以上实例,两个整型对象1和2的分配给变量a和b,字符串对象”laotie”分配给变量c

-=||=-收藏赞 (0)

评论 抢沙发

评论前必须登录!

立即登录   注册

登录

找回密码

注册