首页 / 资讯中心 / 文章详情

Python基础语法入门:68页图解变量、缩进与数据类型

Python基础语法入门:68页图解变量、缩进与数据类型 ★ FEATURED ARTICLE
简介这份68页的Python基础语法合集PDF面向Python初学者以及有一定编程基础、希望快速上手Python的开发者适合作为系统入门与日常查阅的双用途资料。合集系统梳理了Python核心语法知识涵盖标识符命名规则、严格缩进与多行语句写法、变量赋值与五大标准数据类型、流程控制、函数定义与模块导入以及输入输出操作每个知识点均配有说明和可直接运行的示例代码方便边学边练逐步搭建完整的语法框架。资源包仅含1个PDF文件压缩包大小约1.42MB轻量易存便于随时翻阅或打印学习。目前已有2048人学习下载。对初学者可借此夯实基础为后续数据分析、Web开发等方向铺垫对有经验的开发者也能快速对照Python语法特点缩短上手新语言的时间。1. 先搞懂一件事Python 基础语法到底是什么很多想学 Python 的新手第一反应不是去找教程而是先被语法两个字吓住。总觉得语法是一堵墙得先背完一堆规则才有资格写代码。其实语法更像你学一门新语言的打招呼方式——你不需要先背完一整本词典只需要知道怎么说你好谢谢几点了就已经能和别人交流了。Python 基础语法合集,就是帮你把这套打招呼方式在最短时间内认全:变量怎么取名字、数字和文字怎么表示、列表怎么装东西、字符串怎么拼接。这本合集一共 68 页,把散落在各种教程里的知识点集中成了几条主线,跟着走一遍,你就有了自己读代码、写小脚本的底气。它适合谁?完全零基础的小白,以及在别的语言里写过代码、想快速转到 Python 的人。前者需要有人把概念揉碎了讲,后者需要一份不绕弯子的速查。这份资料刚好两头都占。与其在各种视频里东看一集西看一集,不如拿一份系统的语法合集,从头到尾过一遍。这一篇,我就带你把它读薄、读透,然后动手写出你的第一个 Python 程序。2. 不急着写代码:先认识 Python 的几个怪脾气很多人第一次写 Python 代码,遇到的不是语法错误,而是我明明照着写的,为什么就报错。这往往不是因为笨,而是因为 Python 有几个和其他语言不太一样的脾气。搞清楚这几个脾气,后面写代码会顺手很多。2.1 名字不能乱起:标识符和保留字的规矩Python 里给变量、函数起名字,有一套自己的规矩。标识符由字母、数字和下划线组成,但不能以数字开头,而且区分大小写。也就是说name和Name是两个完全不同的变量,1name这种写法直接报错。我第一次学的时候总觉得不就起个名嘛,哪有那么多讲究,直到自己写了个2list被报错,才老老实实回去翻规则。下划线开头还有特殊含义:单下划线开头比如_foo,表示不要随便碰我的类属性;双下划线开头比如__foo,表示类的私有成员;而双下划线开头又结尾的__foo__,是 Python 里的特殊方法专用标识,比如__init__()就是构造函数。入门阶段你不需要全记住,只要知道下划线开头有讲究就好,别乱用。Python 还有一些保留字,也叫关键字,这些词被语言自己占用了,你不能拿来当变量名。比如if、for、while、class、def这些,看一眼有个印象就行。真用的时候,编辑器一般会把这些词高亮成不同颜色,你一眼就能认出来,不用刻意背。2.2 缩进不是排版,是语法本身这是 Python 和 C、Java 最不一样的地方。其他语言用花括号{}来划分代码块,Python 不用,它靠缩进来决定哪几行代码是一伙的。同一个代码块里的代码,缩进必须严格对齐,多一个空格少一个空格都可能报错。打个比方:缩进就像是部队里的队列,每行代码都有自己的站位。你在if下面写的代码如果缩进了,就表示只有条件成立时才执行我;如果你忘了缩进,Python 就认为这句话不属于if,逻辑就全变了。我见过太多新手在这里翻车:复制网上的代码下来,缩进变成了空格和 Tab 混用,一运行就报IndentationError。解决方法是编辑器里设置用空格代替 Tab,或者用支持 Python 的编辑器自动帮你对齐。Python 还允许你用分号;在同一行写多条语句,比如a 1; b 2,但入门阶段不建议这么写,一行一件事,读起来更清楚。如果一行太长想换行,可以用反斜杠\:# 用反斜杠把一行长语句拆成多行 total item_one \ item_two \ item_three这段代码的意思是把三个变量的值加起来赋给total。行尾的\告诉 Python这行还没完,下一行接着来。不过如果你用的是括号()[]{},就不需要反斜杠了,Python 会自动把括号内的换行当作语句的延续,这个特性在写长列表和长函数调用时特别好用。2.3 输出时换不换行,由你说了算Python 里最常用的输出函数是print()。很多新手以为print就是打印出来,忽略了它默认会在结尾加一个换行符。什么意思?就是你连续写两个print各输出一句话,它们会出现在两行里。如果你希望它们出现在同一行,给print加一个end参数就行:# 换行输出,print 默认在结尾加换行符 print(第一行) # 不换行输出,把结尾的换行符换成空字符串 print(第二行, end) print(还是第二行)运行结果第一段会输出第一行然后换行;第二段会输出第二行还是第二行,两句话挤在同一行里。end参数的意思是打印完这段话之后,用什么东西结尾,默认是换行符\n,你也可以改成空格或其他符号。初学者不用急着深究,知道有这回事,后面做文本处理时会感谢自己看过这一段。3. 变量和数据类型的底层逻辑:每个数据都有自己的盒子变量这个概念,几乎所有编程语言都有,但 Python 里有个很特殊的点:变量必须先赋值才会被创建。换句话说,在 Python 里不存在先声明一个变量,但不给它值这种操作。你写a 100,这个变量才真正存在;你光写个a,Python 根本不知道你要干嘛。3.1 变量的赋值方式和背后的机制Python 给变量赋值很简单,支持单变量赋值也支持多变量赋值:# 单变量赋值:数字、小数、字符串各来一个 counter 100 # 整型变量 miles 1000.0 # 浮点型变量 name John # 字符串变量 # 多变量赋值:所有变量都指向同一个值 a b c 1 # 多变量分别赋值:一行搞定三个变量 x, y, z 1, 2, john第一组代码创建了三个不同类型的变量,counter存整数,miles存小数,name存文本。第二组代码让a、b、c三个变量全都等于 1,方便批量初始化。第三组代码一行同时给三个变量赋值,Python 会自动把等号右边的值按顺序分给左边的变量,不用像有些语言那样写三行。这里有个新手容易忽略的点:在 Python 里,变量更像一个标签,而不是一个盒子。你把a 1再a 2,并不是把盒子里的东西换了,而是把标签从 1 这个对象上撕下来,贴到 2 这个对象上。数字、字符串这些类型是不可变的,一旦创建就不能改。所以改变变量的值本质上是让变量指向另一个新对象,这个概念现在不懂没关系,但如果你后面学函数参数传递时觉得绕,回想一下这一段会很有帮助。3.2 五种标准数据类型和它们的分工Python 有五个标准数据类型,分别是数字、字符串、列表、元组、字典。初学者先把前四个摸熟,字典可以放到第二阶段再学。数字类型里面还分几个小类:int是整型,就是没有小数点的数,比如10、-3;float是浮点型,就是带小数的数,比如70.2E-12这种科学计数法写法也属于浮点;complex是复数,比如4.53e-7j,入门阶段基本用不上,知道存在就行。数据类型的转换也是新手高频需求,比如从文件里读出来的是字符串123,你想当数字来算,就得转换:# 把字符串 123 转换成整数 123,再加 1 num int(123) 1 # 把整数转换成字符串,才能跟其他文本拼在一起 text 当前数字是 str(num) # 把小数转换成整数的小数部分会被直接丢掉 whole int(10.7) print(num) # 输出 124 print(text) # 输出 当前数字是124 print(whole) # 输出 10int()函数把括号里的内容转成整数,str()把内容转成字符串,float()把内容转成小数。这些内置转换函数是 Python 的后悔药:类型不对的时候,套一层转换就能救回来。注意int(10.7)结果是 10,不是四舍五入,它是直接截断小数部分,需要四舍五入的话得用round()函数。数学函数也是这份合集里的一大块。abs()求绝对值,max()和min()找最大值最小值,pow(x, y)算 x 的 y 次方,round(x, n)四舍五入到小数点后 n 位。还有一组随机数函数,在游戏、抽奖、数据模拟里特别常用:# 从 0 到 9 随机挑一个整数 import random print(random.choice(range(10))) # 在 1 到 100 之间生成一个随机实数 print(random.uniform(1, 100))choice(seq)是从序列里随机挑一个元素,random()生成 0 到 1 之间的随机小数,uniform(x, y)生成 x 到 y 之间的随机实数,shuffle(lst)可以把一个列表的顺序打乱。注意第一行要先写import random,意思是把 Python 的 random 工具箱拿过来用,不加这一句,后面的random都没法用。我当年第一次用随机数时,直接写random.randint(1,10),结果报错NameError,原因就是忘了import。这种倒果为因的报错看起来特别吓人,实际原因往往很简单,遇到别慌,先检查 import。4. 字符串和列表:先学会这两个最常用的容器如果说变量是存单个数据的格子,那字符串和列表就是能存一串东西的容器。字符串装文本,列表可以装任何东西:数字、字符串,甚至另一个列表。这两个类型在实战里出现频率极高,值得花最多时间。4.1 字符串的拼接、截取、格式化和三引号字符串是由数字、字母、下划线组成的字符序列。Python 里的字符串可以拼接,可以重复,可以截取,还能判断某个字符在不在里面:a Hello b Python # 加号拼接两个字符串 print(a b) # HelloPython # 乘号重复字符串 print(a * 2) # HelloHello # 通过索引取单个字符 print(a[1]) # e # 通过切片截取一段字符串 print(a[1:4]) # ell # in 和 not in 判断是否包含某个字符 print(h in a) # True print(M not in a) # True # r 开头的原始字符串不解析转义字符 print(r\n) # \n这段代码里,a[1]是取 a 的第 2 个字符,因为 Python 的索引从 0 开始,a[0]才是 H。a[1:4]是切片,取索引 1 到 3 的字符,注意含头不含尾,所以拿到的是 ell 而不是 ello。in关键字用来做成员判断,左边是字符,右边是字符串,返回的是True或False,这在写条件判断时特别好用。最后那行print(r\n),字符串前面加一个r,表示这个字符串里的反斜杠就是反斜杠,别给我转义,所以屏幕会直接显示\n这两个字符,而不是一个换行。字符串的格式化是新手绕不开的重点。Python 里最经典的方式是用%占位符,类似 C 语言里printf的写法:# %s 表示这里要放一个字符串,%d 表示这里要放一个整数 print(My name is %s and weight is %d kg! % (Zara, 21))运行结果是My name is Zara and weight is 21 kg!。%s对应字符串,%d对应整数,%f对应浮点数,后面的%加上一个括号,按顺序把值填进去。你还会在别人的代码里看到{}配合format()的写法,那是更现代的方式,但入门阶段掌握%已经够用了,至少读代码没问题。再来说说三引号。用三个单引号或三个双引号括起来的字符串,可以在里面直接写换行:hi hi there这样写和hi hi\nthere效果完全一样,但代码可读性高得多。如果你要在字符串里输出一大段带换行的文本,用三引号就不用满屏写\n了。同理,三引号也能当多行注释用,比如在代码顶部用三引号写一段功能说明,Python 会直接忽略它。字符串还配了一堆内建方法,像upper()把所有字母转大写,lower()转小写,replace(旧,新)做替换,split(,)按逗号把字符串拆成列表,strip()去掉首尾空格。这些方法入门阶段先混个脸熟,用的时候回来查,不必一次性全背下来。4.2 列表和元组:一个能改,一个不能改列表用方括号[]表示,是最灵活的数据结构。你想往里面加东西就append,想删就remove或del:# 创建一个列表 fruits [apple, banana, cherry] # 在末尾追加一个元素 fruits.append(orange) print(fruits) # [apple, banana, cherry, orange] # 通过索引直接修改某个位置的元素 fruits[1] blueberry print(fruits) # [apple, blueberry, cherry, orange] # 删除指定位置的元素 del fruits[0] print(fruits) # [blueberry, cherry, orange]append()是在列表末尾加一个元素,不用管原来的长度;del配合索引可以删掉指定位置的元素,跟remove(apple)这种按值删除的方式不一样。列表的索引规则和字符串一致,从 0 开始,也支持负数,fruits[-1]取最后一个元素,fruits[1:]从第二个元素开始一直取到末尾。列表还支持一些常用的函数:len()返回长度,max()和min()找最大最小值,sort()排序,reverse()反转,count()统计某个元素出现的次数。这些用的时候查记忆就行,但有一件事必须知道:列表元素是可以被修改的,这叫可变类型。元组和列表长得非常像,区别有两点:列表用方括号,元组用圆括号();列表元素可以改,元组元素不行。你可以把元组理解成写完之后就不能动的列表:# 创建一个元组 point (3, 5) # 访问元组里的元素,跟列表一样用索引 print(point[0]) # 3 # 想修改元组里的元素?报错 TypeError # point[0] 10 # 删除整个元组是可以的 del point注意创建只有一个元素的元组时,必须在元素后面加个逗号:t (a,),否则 Python 会认为(a)只是带括号的普通变量,而不是元组。元组不能改这个特性,在正式开发里反而是优点:当作函数返回值、字典的键时,元组比列表稳定得多。入门阶段你只需要记住元组 不可改的列表,后面自然会在合适的场景用到。5. Python 新手最容易踩的坑:缩进、赋值和引用学 Python 语法这件事,光看是看不熟的,得靠踩坑踩出肌肉记忆。以下这些都是新手最高频的翻车现场,你遇到了可以对照着排查,能省下不少跟报错信息互相瞪眼的时间。坑 1:缩进错误,报错IndentationError: unexpected indent现象:代码运行时报缩进错误,或者明明逻辑正确,输出结果却不对。原因:Python 用缩进区分代码块。最常见的是 Tab 和空格混用,或者复制别人的代码时缩进格式变了。还有的是if下面的代码忘了缩进,Python 不认为那句话属于条件分支。解决:在你的编辑器里设置Tab 键自动转成 4 个空格。遇到报错时,把报错行周围的空白字符删掉重新手动缩进。另外,整个文件里要么全用 Tab,要么全用空格,绝对不要混用。坑 2:变量名用了保留字或数字开头,报SyntaxError: invalid syntax现象:写print hello或者1st_name 张三,运行直接报语法错误。原因:print是 Python 的内置函数,虽然不是严格意义上的保留字,但你把它当变量名,后面再用print(x)就会出各种诡异问题;数字开头的标识符更是语法不允许的。解决:给变量起名字时避开这些词。判断方法很简单:变量名第一个字符必须是字母或下划线。如果你的变量名叫class或for,编辑器一般会高亮出来,换一个名字就好。坑 3:忘了写import就直接用模块里的函数,报NameError: name xxx is not defined现象:代码里写了random.choice([1,2,3]),结果报错说random没定义。原因:Python 自带的功能分为内置函数和模块。print()是内置函数,不用导入;但random、math这些模块函数,必须先写上import random才能用。这个报错信息很容易让人以为是自己的代码写错了,其实只是没把工具箱拿过来。解决:所有用到模块的文件顶部,先集中写import语句。养成习惯:写完代码先检查我用的函数是从哪个模块来的,import 了没。坑 4:以为和是一回事现象:写if a 5:时直接报语法错误,或者在循环里写死循环。原因:是赋值,把右边的值交给左边的变量;才是判断两边的值是否相等。新手经常在if条件里把写成,结果 Python 认为你在做赋值,直接不给过。解决:看到单个等号就想这是把右边的值塞给左边;看到双等号就想这是在比较,返回 True 或 False。写条件判断时,先写a 5,再回头扫一眼有没有写成a 5。坑 5:类型转换时把字符串直接当数字算,报TypeError现象:print(123 1)报错,说字符串和整数不能直接相加。原因:因为123是字符串,1是整数,两个类型不同,Python 不知道你是想拼文本还是想算加法。解决:先把123用int(123)转成整数,或者把1用str(1)转成字符串,让两边类型一致再操作。这个坑在从文件或网页读取数据时特别常见,读进来的内容默认都是字符串,千万别忘了转换。6. 下一步怎么学:把这 68 页变成你的动手清单语法学完不练,等于看了一下午菜谱还是没有饭吃。接下来你要做的,不是再去买一本更厚的语法书,而是拿这份合集当字典,边查边用。我建议你这样安排学习计划。第一周的任务是做三类小练习。第一类是变量和类型,写一个简单的计算器,让用户输入两个数,输出它们的加减乘除结果;第二类是字符串处理,写一个程序,把你的名字转成大写、算一下字符个数、把中间某个字替换成别的字;第三类是列表操作,先创建一个班级名单列表,练习往里面加人、删除人、按名字查找人。这三类练习把合集里最核心的语法全部用一遍,比抄十遍代码都管用。第二周开始试着写一个稍微完整的脚本,比如一个随机抽签程序,用random.choice()从一个列表里抽一个人名,模拟班委抽签或者作业抽查。这个小项目会逼你把变量、列表、字符串格式化、import、print全串起来用。做完之后你会有一种原来这些零散的知识点是可以连起来的的感觉,这种原来如此的瞬间,是学编程最上瘾的时刻。第三周再回头翻合集,你会发现很多第一遍觉得晦涩的内容突然变简单了。比如转义字符、字符串的内建函数这些,当时看的时候觉得是死记硬背,现在写过真实代码再回来看,每条都能在脑海里对应到一个实际场景。这就是为什么我说这份合集适合先粗读一遍,然后边写边查。它一共 68 页,不需要你从头读到尾,而是应该当成案头资料:卡住了,翻一翻对应章节,大概率能找到答案。我自己第一次学 Python 时,也是拿着一份类似的语法资料,当时觉得这么多函数怎么可能记得住。后来发现,真的不需要记。函数是给人查的,语法是给人用的,你只需要知道有这个功能,大概怎么触发,具体的拼写交给编辑器提示和这份合集就好。从那以后,我每次准备学一门新语言,都强制自己做一遍先跑通一个例子、再读语法、再回来看细节的流程,不再死磕从头读到尾,学习效率反而高了很多。希望你也能把这份基础语法合集用起来,用它铺好第一块砖,然后放心大胆地往前走。希望帮到你。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?
咨询建站