输入与输出:
print()
用于输出内容。input()
用于获取用户输入,返回值为字符串。示例:
name = input("请输入姓名: ")
变量:
为数据(值)起别名。
命名规范: 只能包含字母、数字、下划线;不能以数字开头;不能是Python内置关键字。
赋值 vs. 比较:
=
是赋值,==
是比较(返回True
或False
)。示例:
v1 = v2 == 2
会先计算v2 == 2
的布尔结果,再赋值给v1
。
条件语句 (
if
/elif
/else
):实现程序中的条件分支逻辑。
格式:
if condition:
(条件后跟冒号,下一行开始缩进)支持多条件判断 (
elif
) 和不满足所有条件时的处理 (else
)。支持嵌套使用。
循环语句 (
while
/for
):实现重复执行代码块的功能。
while
循环:适用于未知循环次数的情况。for
循环:常与range()
结合使用,适用于已知循环次数的情况。break
关键字:用于跳出当前循环。
注释 (#
, """Docstrings"""
)
作用: 对代码进行说明或备注,被解释器忽略,不影响程序运行。
单行注释: 使用
#
。可以单独一行,也可以在代码行尾。示例:
# 这是一个单行注释
或name = "张三" # 用户姓名
多行注释: 使用三对双引号
"""
或三对单引号'''
包裹。常用于文件或功能块的开头说明。示例:
"""\n这个函数用于处理用户注册\n包含姓名、密码等信息。\n"""
快捷键: 选中代码行,按
Ctrl + /
(Windows) 或Cmd + /
(Mac) 快速添加/取消注释。
pass
关键字
作用: 占位符,表示“什么都不做”。
用途: 当语法要求在某个代码块(如
if
、while
、函数定义、类定义等)中必须有内容,但你暂时不想写任何逻辑时,可以使用pass
来保持语法的完整性,避免报错。示例:
if condition: pass
字符串格式化(拼接的替代方法)
比直接使用
+
拼接字符串更灵活、简洁。1.
str.format()
方法(推荐):占位符: 使用
{}
。位置占位符:
{0}
,{1}
等,按.format()
中参数的索引填充,可重复使用。示例:
'我叫{0},今年{1}岁。邮箱是{0}@example.com'.format('张三', 18)
不带序号占位符:
{}
,按.format()
中参数的顺序填充。示例:
'我叫{},今年{}岁。'.format('张三', 18)
命名占位符:
{name}
,通过.format(name='value')
传入具名参数。示例:
'我叫{name},今年{age}岁。'.format(name='张三', age=18)
2.
%
运算符(早期Python版本常用):类似C语言的格式化方式。
占位符:
%s
(字符串),%d
(整数)。示例:
'我叫%s,今年%d岁。' % ('张三', 18)
3. f-string(Python 3.6+ 新增):
在字符串前加
f
或F
,直接在{}
中嵌入变量名或表达式。示例:
name = '张三'; age = 18; print(f'我叫{name},今年{age}岁。')
字符串操作
每种数据类型都有其独特的存储方式和功能。
重要原则: 字符串的独有方法通常会生成新的字符串作为结果,而不改变原始字符串。
公共功能: 某些函数(如
len()
)可用于多种数据类型,返回其长度或元素数量。
字符串 (
str
) 独有方法:str.upper()
: 返回字符串的大写版本。示例:
"root".upper()
->"ROOT"
str.lower()
: 返回字符串的小写版本。示例:
"ROOT".lower()
->"root"
应用场景: 用户输入不区分大小写时的统一处理(如判断输入
q
或Q
终止程序)。
str.isdecimal()
: 判断字符串是否只包含十进制数字(True
或False
)。应用场景: 在将用户输入字符串转换为整数前进行校验,避免
ValueError
。示例:
if user_input.isdecimal(): num = int(user_input)
str.startswith(prefix)
: 判断字符串是否以指定prefix
开头(True
或False
)。示例:
"北京欢迎你".startswith("北京")
->True
str.endswith(suffix)
: 判断字符串是否以指定suffix
结尾(True
或False
)。示例:
"my_image.png".endswith(".png")
->True
str.replace(old, new)
: 将字符串中所有old
子串替换为new
子串,返回新字符串。示例:
"我是移动用户".replace("移动", "联通")
->"我是联通用户"
可以链式调用:
text.replace("移动", "联通").replace("联通", "电信")
也可以将新结果重新赋值给原变量:
text = text.replace("移动", "联通")
str.split(delimiter, maxsplit=N)
: 根据delimiter
(分隔符)将字符串切割成列表。delimiter
不传默认按空格切割。maxsplit
可限制切割次数,从左到右。str.rsplit(delimiter, maxsplit=N)
:从右往左切割。应用场景:
从文件名中提取扩展名。
示例:"file.name.ext".rsplit('.', 1)
从字符串的右侧开始分割,参数'.'
表示以点号作为分隔符,1
表示只分割一次。执行后会返回一个列表,列表的第一个元素是文件名主体(不包含最后一个点号及其后的扩展名部分),即"file.name"
,第二个元素是扩展名部分,即"ext"
。
解析逗号分隔的数据。
示例:
"张三,18,zhangsan@qq.com".split(',')
->['张三', '18', 'zhangsan@qq.com']
str.join(iterable)
: 使用字符串本身作为连接符,将可迭代对象(如列表)中的元素连接成一个新字符串。split()
和join()
互为逆操作。示例:
",".join(['张三', '李四', '王五'])
->"张三,李四,王五"
应用场景: 将注册用户列表拼接成展示字符串。