python基础语法
代码规范
-
编码
默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 也可以为源码文件指定不同的编码:
# -*- coding: cp-1252 -*- -
标识符
- 第一个字符必须是字母表中字母或下划线 _
- 标识符的其他部分由字母、数字和下划线组成
- 标识符对大小写敏感
- 在 Python 3 中,可以用中文作为变量名,非 ASCII 标识符也是允许的
-
保留字
保留字即关键字,不能用作任何标识符名称。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:命令行输入
>>> import keyword
>>> keyword.kwlist
-
行和缩进
python用缩进来写模块。缩进的空白数量是可变的,但所有代码块语句必须使用相同数目的行首缩进空格数。建议每个缩进层次使用 单个制表符 、 两个空格 或 四个空格 , 但不能混用。缩进相同的语句构成一个代码块,称之代码组
-
空行
函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。空行与代码缩进不同,空行并不是 Python 语法的一部分。书写时不插入空行,Python 解释器运行也不会出错。但空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。空行也是程序代码的一部分。
-
多行语句
- 同一行显示多条语句:用分号 ; 分开
Python语句一般以新行作为语句的结束符,也可以用斜杠( \)将一行的语句分为多行显示。
total = item_one + \ item_two + \ item_three 若语句中包含 [ ], { } 或 ( ) 就不需要使用多行连接符。
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'] -
引号
Python 可以使用引号( ' )、双引号( " )、三引号( ''' 或 """ ) 表示字符串,引号的开始与结束必须是相同类型的。其中三引号可以由多行组成,常用于文档字符串,在特定地点被当做注释。
-
注释
- 单行注释:采用 # 开头
- 多行注释:使用三个单引号(''')或三个双引号(""")
-
输入输出
-
等待用户输入
raw_input("按下 enter 键退出,其他任意键显示...\n") -
print输出
print 默认输出是换行的,如果要不换行需在变量末尾加上逗号
-
-
import 与 from...import
在 python 用 import 或者 from...import 来导入相应的模块。
将整个模块(somemodule)导入,格式为: import somemodule
从某个模块中导入某个函数,格式为: from somemodule import somefunction
从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc,thirdfunc
将某个模块中的全部函数导入,格式为: **from somemodule import ***
数据类型与变量
-
数字(Number)类型
python中数字有四种类型:整数、布尔型、浮点数和复数。
- int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long
- bool (布尔), 如 True
- float (浮点数), 如 1.23、3E-2
- complex (复数), 如 1 + 2j、 1.1 + 2.2j
-
字符串(String)
- Python 中单引号 ' 和双引号 " 使用完全相同。
- 使用三引号(''' 或 """)可以指定一个多行字符串。
- 转义符 **
- 反斜杠可以用来转义,使用 r 可以让反斜杠不发生转义。 如 r"this is a line with \n" 则 \n 会显示,并不是换行。
- 按字面意义级联字符串,如 "this " "is " "string" 会被自动转换为 this is string。
- 字符串可以用 + 运算符连接在一起,用 **** 运算符重复。
- Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 1 开始。
- Python 中的字符串不能改变。
- Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
- 字符串的截取的语法格式如下:
变量[头下标:尾下标:步长]
-
变量赋值
- Python 中的变量赋值不需要类型声明。
- 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
- 等号 = 用来给变量赋值。等号 = 运算符左边是一个变量名,等号 = 运算符右边是存储在变量中的值
-
多个变量赋值
# 多个变量赋同样的值 a = b = c = 1 # 为多个对象指定多个变量 a, b, c = 1, 2, "runoob"
运算符
列表
-
创建列表
序列是 Python 中最基本的数据结构。序列中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推。列表的数据项不需要具有相同的类型。
list1 = ['Google', 'Runoob', 1997, 2000] list2 = [1, 2, 3, 4, 5 ] list3 = ["a", "b", "c", "d"] list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black'] -
访问列表中的值
print( list[0] ) print( list[-1] ) # 读取第二位 print ("list[1]: ", list[1]) # 从第二位开始(包含)截取到倒数第二位(不包含) print ("list[1:-2]: ", list[1:-2]) -
删除列表元素
del list[2]
元组
-
创建元组
tup1 = ('Google', 'Runoob', 1997, 2000) tup2 = (1, 2, 3, 4, 5 ) tup3 = "a", "b", "c", "d" #不需要括号也可以 元组中只包含一个元素时,需要在元素后面添加逗号 , ,否则括号会被当作运算符使用
-
访问元组
与列表相同
字典
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:
d = {key1 : value1, key2 : value2, key3 : value3 } # 使用大括号 {} 来创建空字典 emptyDict = {} # 打印字典 print(emptyDict) # 查看字典的数量 print("Length:", len(emptyDict)) # 查看类型 print(type(emptyDict))
- 字典键的特性
- 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
- 键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行
集合
集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:
parame = {value01,value02,...} 或者 set(value)
-
添加元素
s.add( x ) 将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作
-
移除元素
s.remove( x ) 将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误
条件控制
if condition_1: statement_block_1 elif condition_2: statement_block_2 else: statement_block_3
- 如果 "condition_1" 为 True 将执行 "statement_block_1" 块语句
- 如果 "condition_1" 为False,将判断 "condition_2"
- 如果"condition_2" 为 True 将执行 "statement_block_2" 块语句
- 如果 "condition_2" 为False,将执行"statement_block_3"块语句
循环语句
-
while循环
while 判断条件(condition): 执行语句(statements)…… -
while 循环使用 else 语句
while <expr>: <statement(s)> else: <additional_statement(s)> 如果 while 后面的条件语句为 false 时,则执行 else 的语句块
-
-
for 语句
for <variable> in <sequence>: <statements> else: <statements> -
break 和 continue 语句及循环中的 else 子句
break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
-
pass语句
Python pass是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句
函数
-
定义一个函数
def 函数名(参数列表): 函数体 -
函数调用
# 定义函数 def printme( str ): # 打印任何传入的字符串 print (str) return # 调用函数 printme("我要调用用户自定义函数!") printme("再次调用同一函数") -
return语句
return [表达式] 语句用于退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?