学习Python的过程中,字符串和数值是我们必须得打交道的朋友,掌握它们的特性与用法,就如同拥有了打开 Python 编程世界大门的关键钥匙,为后续探索函数、类等更广阔的编程天地奠定坚实基础。本文通过几个实用的小案例,带你理解 ASCII编码、ord()
和 chr()
函数的使用、字符串替换、以及列表求平均值 等常见操作,适合初学者阅读、实战巩固以及巩固旧知。
一、通过 ASCII 码将小写字母转为大写字母
这部分的知识点总览:
-
字符和 ASCII 编码 的关系
-
使用
ord()
获取字符编码,chr()
将编码转回字符 -
如何使用 if 进行判断是否为小写字母
-
字符串的拼接操作
k = "hello,python!" # 原始字符串
new = ''
for item in k:
if 'a' <= item <= 'z':
asa = chr(ord(item) - 32) # 小写转大写
else:
asa = item # 保持原样
new += asa
print(new) #输出结果为"HELLO,PYTHON!"
知识点说明:
- 在 ASCII 表中:
-
小写字母
'a'
~'z'
的编码为 97~122 -
对应的大写字母
'A'
~'Z'
的编码为 65~90 -
ord()函数是将这里的小写字母转换成相应的编码。而
ord(item) - 32
,得到的就是其大写字母的编码,再使用chr()
转回其大写字母。 -
这里的字符拼接是在for循环语句中,与if-else语句执行同时进行的,item在k字符串中遍历一次,new这个字符串就会增加一个字符,最后实现字符的拼接。
二、字符串中替换元音为星号 *
知识点总览:
-
如何将字符串转为列表进行修改
-
字符替换判断 (
in
操作符) -
''.join()
把字符列表重新拼接为字符串 -
k="hello,python!" A=list(k) print(A) Q=['a','e','i','o','u'] #元音列表 for i in range (len(A)): if A[i] in Q: #判断当前列表中所对应的值是否在元音列表中 A[i]='*' else: A[i]=k[i] W=''.join(A) print(W) #输出为 h*ll*,pyth*n!
知识点说明:
-
字符串是不可变对象,不能直接修改,因此用
list()
转为可变字符列表。 -
用
in
判断字符是否为元音字母。 -
使用for语句,得到列表每个元素的索引,用于if语句中进行依次判断。
-
最后通过 ' '.
join()
重新组成新的字符串。' '两个引号之间是组成新字符串每个元素之间的分隔符,在这里没有输入分隔符。
三、求列表中所有数的平均值(两种写法对比)
知识点总览:
-
使用内置函数
sum()
和len()
快速计算 -
手动累加求和的方法理解循环逻辑
-
使用
format()
保留小数点后两位
l = [22, 12, 32, 33, 67, -21, 98, 76, 54, 20, 87, 68, 55]
# 方法一:内置函数
sum_result = sum(l)
avg_result = sum_result / len(l)
print("{:.2f}".format(avg_result)) # 输出保留两位小数
# 方法二:手动累加
result = 0
for i in l:
result += i #通过for遍历得到列表数字元素累加总和result
number = len(l) 计算列表的长度(数字的个数)
av_result = result / number
print("{:.2f}".format(av_result))
知识点说明:
-
sum()
直接求和,len()
得到元素数量,组合即可得平均值。 -
第二种方法可以帮助理解变量及训练循环的写法。
-
" {:.2f}".format(x)
表示保留两位小数,常用于对内容进行格式化输出。
总结回顾:
看似简单的字符串处理和数字运算,往往是 Python 初学者最容易轻视的基础技能。掌握好 ord()
、chr()
、join()
、format()
等常用函数,才是真正写好代码的底气。持续练习、不断总结,Python 字符串和列表操作会变得得心应手!欢迎留言或交流更多问题~