python学习笔记2--- Python基础语法

发布时间:2026/8/20 11:14:43
python学习笔记2--- Python基础语法 第3章 Python基础语法3.0字面量字面量:代码里直接写出来、一眼就能看出值的数据,是表示固定值的原始写法。简单说:写在代码中直接代表数据本身,不需要计算、调用函数就能得到值。3.1 注释注释是对代码的解释说明。提高代码的可读性。屏蔽掉暂时不需要的代码。1、单行注释# 这是一个单行注释,可以单独一行,也可以在代码的行尾(建议在#之后留1个空格再写注释内容)print("hello")# 这是一个输出语句(建议在代码与注释之间留2个空格)2、多行注释""" @Author:小新 @Time:2026/1/28 @Desc:这是文档注释,即当前源文件中的代码说明 """""" Python中3个单引号、3个双引号引起来的文本块可以被看成多行注释。 建议每一个python源文件(.py文件)顶部的文档注释使用3个双引号。 """info=""" 小新 """print(info)""" @Author:小新 @Time:${DATE} @Desc: """3.2 变量变量的本质是代表一块内存区域,这块区域中的数据可以在程序运行期间被修改。在代码中变量就是用一个标识符来表示一个数据,例如:age = 18。Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。变量创建方式:变量名=变量值多个变量的创建:变量名1=变量名2=变量名3=值#多个变量值相同变量名1,变量名2,变量名3=值1,值2,值3#多个变量值不同name="张三"age=18weight=100.5print("name = ",name,"age = ",age,"weight = ",weight)age=19#变量可以重新赋值weight=120.0#变量可以重新赋值print("name = ",name,"age = ",age,"weight = ",weight)a,b=1,2#创建多个变量c=a+bprint("a = ",a,"b = ",b,"c = ",c)x,y=1,2print("x = ",x,"y = ",y)x,y=y,x# 交换x,y变量的值print("x = ",x,"y = ",y)3.3 常量在程序中定义后就不再修改的值为常量,Python中没有内置的常量类型。一般约定使用全大写变量名来表示常量。PI=3.1415926E=2.718282print(PI)print(E)PI=3.14#实际上可以修改,只是大家“默认”不会修改print(PI)Python 的设计哲学里有一句经典的话:“We are all consenting adults here”(我们都是成年人),意思是 Python 不会强制限制开发者的任何操作,更倾向于“约定优于强制”。3.4 标识符程序中给变量、常量、函数等命名的字符序列称为标识符。换句话说,凡是需要自己命名的部分都是标识符。只能包含字母、数字和下划线,且不能以数字开头。区分大小写,即Name和name是两个不同的标识符。不能使用关键字当标识符。应既简短又具有描述性(见名知意)。注意:Python源文件不遵循命名规范不影响程序的执行,但不建议常见的命名方法有三种:大驼峰命名法(upper camel case):每个单词首字母大写,例如UpperCamelCase。一般用于类、异常、类型变量的命名。 ---- (类)小驼峰命名法(lower camel case):第一个单词首字母小写, 之后每个单词首字母大写,例如lowerCamelCase比较少。 ---- (python 一般不用)蛇形命名法(snake case):单词间用下划线连接,全小写:例如snake_case。最常见,一般用于变量、函数、包、模块等的命名。全大写:例如AGE_MAX_VALUE。一般用于常量命名。3.5 关键字Python 有一组关键字,这些关键字不能用作变量名、函数名或任何其他标识符。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:importkeywordprint(keyword.kwlist)# 一行输出#for i in keyword.kwlist: 逐个输出# print(i)运行结果:大约35个['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']记忆技巧控制流:if, elif, else, for, while循环控制:break, continue, pass函数相关:def, return, lambda, yield异常处理:try, except, finally, raise模块导入:import, from, as类与对象:class, is, del作用域:global, nonlocal逻辑运算:and, or, not, in异步编程:async, await模式匹配:match, case (Python 3.10+)特殊值:True, False, None3.6 数据类型3.6.1 Python数据类型概述Python 是一种动态类型语言,虽然Python中变量不用显式声明类型,但是变量不同的值是有不同数据类型的。Python的数据类型非常丰富,下面仅列出最常用最基础的一小部分:数值类型number:包括整数int, 浮点数float, 布尔bool, 复数complex容器类型:包括字符串str列表list元组tuple集合set字典dict特殊的类型:None上述类型按照可变性分类:不可变:数值类型number、字符串str、元组tuple可变:列表list、集合set、字典dict3.6.2 数据类型判断可以使用 type() 来查看变量类型,使用 isinstance() 来判断变量类型。type() 和 isinstance() 的区别在于 type() 不会认为子类是一种父类类型,isinstance() 会认为子类是一种父类类型。a=10b=Trueprint("a = 10的类型:",type(a))# intprint("b = True的类型:",type(b))#boolprint("type(a) == type(b)",type(a)==type(b))#Falseprint(isinstance(a,bool))# Falseprint(isinstance(a,int))# Trueprint(isinstance(b,bool))# Trueprint(isinstance(b,int))# True, Python3中bool是int的子类型3.6.3 整数intPython可以处理任意大小的整数,包括负整数。Python3.6+版本支持,书写很大的数时可使用下划线将其中的数字分组,使其更清晰易读,又不影响计算。a=10print(a)a=323_352_202_896_214_563_213_456_789print(a)Python对待小整数和大整数有所不同:小整数池:Python将 [-5, 256] 的整数维护在小整数对象池中。这些整数提前创建好且不会被垃圾回收,避免了为整数频繁申请和销毁内存空间。不管在程序的什么位置,使用的位于这个范围内的整数都是同一个对象。不同的 Python 实现:小整数池的范围和实现细节可能因 Python 的不同实现(如 CPython、Jython、IronPython 等)而有所不同。上述提到的[-5, 256]范围是 CPython 的默认实现。常量折叠 — 只在编译期间,会将相同内容常量,只开辟一块空间,进行内存优化.其他环境依旧遵从小整数池.大整数池:一开始大整数池为空,每创建一个大整数就会向池中存储一个。有时连续赋值的相同大整数也可能指向同一对象,这是因为Python环境的优化机制,但是这个优化不是绝对的,也取决于解释器以及交互式脚本环境。a=10b=10print(a==b)print(id(a)==id(b))a=300b=300print(a==b)print(id(a)==id(b))3.6.4 小数float和DecimalPython将所有带小数点的数称为浮点数。Python也支持使用科学计数法表示浮点数。要注意在使用浮点数进行计算时可能会存在微小误差。如果对计算精度要求比较高,可以使用decimal.Decimal类型。a=3.1415926print(a)a=3.1415926e7# 科学计数法表示print(a)a=3.14_15_926#使用下划线作为数字分隔符print(a)a=0.1b=0.2print(a+b)# 计算有误差,在使用浮点数进行计算时可能会存在微小误差fromdecimalimportDecimal a=Decimal('0.1')b=Decimal('0.2')print(a+b)#计算更精确3.6.5 布尔bool布尔型变量只有 True 和 False,用于真假的判断。Python3中,bool 是 int 的子类,True 和 False 可以和数字相加。(True为1,False为0)。在Python中,能够解释为假的值不只有False:False00.0None所有的空容器(空列表、空元组、空字典、空集合、空字符串)a=Trueb=1c=Falsed=0print(a==b)print