详细介绍:Python基础_01


一、输入与输出

1. 输出函数:print ()

用于在控制台打印内容,支持输出单个或多个值,多个值之间用逗号分隔,默认以空格分隔并换行。

输出单个值

print("Hello, Python!")  # 结果:Hello, Python!

输出多个值

print("姓名", "年龄", "性别")  # 结果:姓名 年龄 性别

自定义分隔符(sep)和结束符(end)

print("a", "b", "c", sep="-", end="!!!")  # 结果:a-b-c!!!

2. 输入函数:input ()

用于接收用户从控制台输入的内容,默认将输入内容转换为字符串类型,若需其他类型需手动转换。

基础输入

name = input("请输入你的姓名:")
print("你的姓名是:", name)  # 输入“张三”,结果:你的姓名是:张三

带类型转换的输入(如转换为整数)

age = int(input("请输入你的年龄:"))
print("明年你将满", age + 1, "岁")
# 输入“20”,结果:明年你将满 21 岁

二、数据类型转换

Python 中常见数据类型包括字符串(str)、整数(int)、浮点数(float)、布尔值(bool),可通过特定函数实现类型转换。

转换函数功能描述示例结果
int(x)将 x 转换为整数,x 需为数字或可解析的字符串int("25")int(3.8)25、3
float(x)将 x 转换为浮点数float("3.14")float(5)3.14、5.0
str(x)将 x 转换为字符串str(123)str(True)“123”、“True”
bool(x)将 x 转换为布尔值,0、空值为 False,其余为 Truebool(0)bool("abc")False、True

▲ 示例:不同类型转换

num_str = "100"
num_int = int(num_str)
num_float = float(num_int)
print(type(num_str), type(num_int), type(num_float))
# 结果:<class 'str'> <class 'int'> <class 'float'>

三、字符串格式化输出

用于将变量嵌入字符串中,实现动态内容展示,常见方式有%格式化、f 字符串、str.format()。

1. % 格式化输出

通过%搭配格式符(如%s字符串、%d整数、%f浮点数)指定变量类型,多个变量需用元组包裹。

name = "李四"
age = 22
score = 95.5

(1) 单个变量

print("姓名:%s" % name)  # 结果:姓名:李四

(2)多个变量(元组)

print("姓名:%s,年龄:%d,成绩:%f" % (name, age, score))
# 结果:姓名:李四,年龄:22,成绩:95.500000

(3)控制浮点数小数位数(%.2f表示保留2位小数)

print("成绩:%.2f" % score)  # 结果:成绩:95.50

2. f 字符串(Python 3.6+)

在字符串前加f或F,变量用{}包裹,语法简洁且支持表达式计算,是最常用的格式化方式。

name = "王五"
age = 21
height = 1.75

(1)基础使用

print(f"我叫{name},今年{age}岁")  # 结果:我叫王五,今年21岁

(2)支持表达式

print(f"明年我{age + 1}岁,身高米数的平方是{height ** 2:.2f}")
# 结果:明年我22岁,身高米数的平方是3.06
# 注:{height ** 2:.2f}中,**表示幂运算,:.2f控制保留2位小数

3. str.format()

通过字符串的format()方法,用{}作为占位符,可指定位置或关键字匹配变量,兼容性强(支持 Python 2.x)。
(1)按位置匹配(默认顺序,或指定索引)

print("{} {} {}".format("苹果", "香蕉", "橙子"))  # 结果:苹果 香蕉 橙子
print("{1} {0} {2}".format("苹果", "香蕉", "橙子"))  # 结果:香蕉 苹果 橙子

(2)按关键字匹配

print("姓名:{name},年龄:{age}".format(name="赵六", age=23))
# 结果:姓名:赵六,年龄:23

四、流程控制语句

1. 条件判断语句

(1)if 语句(单条件)

满足条件则执行缩进内的代码块,不满足则跳过。

score = 85
if score >= 60:
print("成绩合格,顺利通过!")  # 结果:成绩合格,顺利通过!

(2)if-else 语句(双条件)

满足条件执行if块,不满足执行else块,二者必执行其一。

score = 55
if score >= 60:
print("成绩合格")
else:
print("成绩不合格,需补考")  # 结果:成绩不合格,需补考

(3)if-elif-else 语句(多条件)

依次判断多个条件,满足第一个条件则执行对应块,后续条件不再判断;所有条件都不满足则执行else块。

score = 88
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")  # 结果:良好
elif score >= 60:
print("合格")
else:
print("不合格")

2. 循环语句

(1)while 循环

满足条件时重复执行代码块,需注意避免 “死循环”(需在循环内修改条件变量)。

▲ 示例1:打印1-5

num = 1
while num <= 5:
print(num)  # 依次输出1、2、3、4、5
num += 1  # 变量自增,避免死循环

▲ 示例2:死循环(需谨慎,可按Ctrl+C终止)

while True:
print("无限循环")

(2)for 循环

用于遍历可迭代对象(如字符串、列表、元组),或通过range()生成的数字序列。

① 遍历字符串

text = "Python"
for char in text:
print(char)  # 依次输出P、y、t、h、o、n

② 遍历列表

fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
print("我喜欢吃", fruit)  # 依次输出对应水果

(3)for-range 循环

range() 生成整数序列,语法:range(起始值, 结束值, 步长),结束值不包含在内,默认起始值为 0、步长为 1。

① 示例1:range(5) → 0-4

for i in range(5):
print(i)  # 输出0、1、2、3、4

② 示例2:range(2, 8) → 2-7

for i in range(2, 8):
print(i)  # 输出2、3、4、5、6、7

③ 示例3:range(1, 10, 2) → 1、3、5、7、9(步长为2,即每次加2)

for i in range(1, 10, 2):
print(i)

(4)break 与 continue

break:立即终止当前循环,跳出循环体,执行循环后的代码。
continue:跳过当前循环的剩余代码,直接进入下一次循环。

① break示例:找到数字5后终止循环

for i in range(10):
if i == 5:
break
print(i)  # 输出0、1、2、3、4

② continue示例:跳过偶数,只打印奇数

for i in range(10):
if i % 2 == 0:
continue
print(i)  # 输出1、3、5、7、9

五、字符串操作

字符串是 Python 中不可变序列(不能直接修改单个字符),支持下标、切片、查找、替换等操作。

1. 字符串下标(索引)

用于获取单个字符,下标从0 开始(正向索引),也可从 - 1 开始(反向索引,-1 表示最后一个字符)。

text = "Hello, World!"

(1)正向索引:0→H,1→e,2→l,…,11→!

print(text[0])  # 结果:H
print(text[4])  # 结果:o(第5个字符)

(2)反向索引:-1→!,-2→d,…,-12→H

print(text[-1])  # 结果:!
print(text[-6])  # 结果:W(从后数第6个字符)

2. 字符串切片

用于获取字符串的子串,语法:字符串[起始下标:结束下标:步长],结束下标不包含在内,默认步长为 1。

text = "Hello, World!"

(1)示例1:获取从下标2到5的子串(不包含5)

print(text[2:5])  # 结果:llo

(2)示例2:省略起始下标(默认从0开始)

print(text[:5])  # 结果:Hello

(3)示例3:省略结束下标(默认到字符串末尾)

print(text[7:])  # 结果:World!

(4)示例4:步长为2(隔一个字符取一个)

print(text[::2])  # 结果:Hlo ol!

(5)示例5:反向切片(步长为-1,实现字符串反转)

print(text[::-1])  # 结果:!dlroW ,olleH

3. 字符串查找方法

find(sub):从左向右查找子串sub,返回第一次出现的下标;未找到返回-1。
rfind(sub):从右向左查找子串sub,返回第一次出现的下标;未找到返回-1。
index(sub):与find()类似,但未找到子串时会抛出ValueError。

text = "Python is a powerful language, Python is easy to learn."

find()

print(text.find("Python"))  # 结果:0(第一个Python的起始下标)
print(text.find("Java"))    # 结果:-1(未找到)

rfind()

print(text.rfind("Python")) # 结果:28(最后一个Python的起始下标)

index()

print(text.index("powerful"))  # 结果:10
print(text.index("Java"))
# 报错:ValueError: substring not found

4. 字符串替换方法:replace (old, new, count)

将字符串中的old子串替换为new子串,count(可选)指定替换次数,默认替换所有。

text = "I like apple, apple is delicious."

(1)替换所有apple为banana

print(text.replace("apple", "banana"))
# 结果:I like banana, banana is delicious.

(2)只替换第一个apple

print(text.replace("apple", "banana", 1))
# 结果:I like banana, apple is delicious.

5. 字符串拆分方法:split (sep, maxsplit)

按指定分隔符sep(默认空格)拆分字符串,返回列表;maxsplit(可选)指定最大拆分次数。

text1 = "Python Java C++ JavaScript"
text2 = "name:张三,age:20,city:北京"

(1)默认按空格拆分

print(text1.split())
# 结果:['Python', 'Java', 'C++', 'JavaScript']

(2)按指定字符拆分

print(text2.split(","))
# 结果:['name:张三', 'age:20', 'city:北京']

(3)按指定字符拆分,且只拆分1次

print(text2.split(",", 1))
# 结果:['name:张三', 'age:20,city:北京']

6. 字符串连接方法:join (iterable)

将可迭代对象(如列表、元组)中的字符串元素,用当前字符串连接成一个新字符串。

(1)用"-"连接列表中的元素

fruits = ["苹果", "香蕉", "橙子"]
print("-".join(fruits))  # 结果:苹果-香蕉-橙子

(2)用空字符串连接(实现列表转字符串)

chars = ["P", "y", "t", "h", "o", "n"]
print("".join(chars))  # 结果:Python

7. 字符串其他常用方法

方法功能描述示例结果
upper()转换为大写字母"python".upper()"PYTHON"
lower()转换为小写字母"PYTHON".lower()"python"
strip()去除字符串两端的空白字符(空格、换行等)" hello \n".strip()"hello"
startswith(prefix)判断是否以指定前缀开头,返回布尔值"Python".startswith("Py")True
endswith(suffix)判断是否以指定后缀结尾,返回布尔值"Python".endswith("on")True
isdigit()判断字符串是否全为数字,返回布尔值"123".isdigit()、"12a".isdigit()True、False

示例:

text = "  Hello, Python!  "
print(text.strip().upper())  # 结果:HELLO, PYTHON!
print(text.strip().endswith("!"))  # 结果:True
posted on 2025-11-13 17:03  ljbguanli  阅读(0)  评论(0)    收藏  举报