习题练习
1.个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单,如“Hello Eric, would you like to learn some Python today?”。
name = 'GHope'
str0 = 'Hello %s, would you like to learn some Python today?'%(name)
print(str0)
输出结果:
Hello GHope, would you like to learn some Python today?
2.调整名字的大小写: 将一个人名存储到一个变量中,再以小写、大写和首字母大写的方式显示这个人名。
name1 = 'Luners'
print('以小写方式显示:',name1.lower())
print('以大写方式显示:',name1.upper())
print('以首字母大写方式显示:',name1.capitalize())
输出结果:
以小写方式显示: luners
以大写方式显示: LUNERS
以首字母大写方式显示: Luners
答案中所调用的函数解释:
lower():转换字符串中所有大写字符为小写。
upper():转换字符串中的小写字母为大写。
capitalize():将字符串的第一个字符转换为大写
3.名言: 找一句你钦佩的名人说的名言,将这个名人的姓名和他的名言打印出来。输出应类似于下面这样(包括引号):G Hope once said, “一生所爱皆自由.”
name2 = 'G Hope'
print('%s once said,"一生所爱皆自由。"'%(name2))
输出结果:
G Hope once said,"一生所爱皆自由。"
4.名言2: 重复练习,但将名人的姓名存储在变量famous_person 中,再创建要显示的消息,并将其存储在变量message 中,然后打印这条消息。
famous_person = 'G Hope'
message = '%s once said,“一生所爱皆自由。”'%(famous_person)
print(message)
输出结果:
G Hope once said,“一生所爱皆自由。”
5.剔除人名中的空白: 存储一个人名,并在其开头和末尾都包含一些空白字符中务必至少使用字符组合"\t" 和"\n" 各一次。 打印这个人名,以显示其开头和末尾的空白。然后,分别使用剔除函数lstrip() 、rstrip() 和strip() 对人名进行处理,并将结果打印出来。
user_name = '\t纳兰\n\t性德 \t'
print(user_name)
print(user_name.lstrip())
print(user_name.rstrip())
print(user_name.strip())
输出结果:
纳兰
性德
纳兰
性德
纳兰
性德
纳兰
性德
调用函数方法解释:
lstrip():截掉字符串左边的空格或指定字符。
rstrip():删除字符串字符串末尾的空格。
strip([chars]):在字符串上执行 lstrip()和 rstrip()。
学习笔记
反省:通过今天的学习,对字符串有了更清晰的认识。尤其是字符串相关方法这块,算是对知识盲区的一个补充。不过对于相关方法这块,对于调用方法和是否使用参数以及如何使用参数等感觉有些吃力,应该多加练习。而且相关方法的数量和其作用决定了需要依靠查阅资料来使用。值得一提的是,刚开始写作业的时候犯了一个超级低级的错误,而且报错信息不能理解意思。错误是给name赋值的时候没有给值加引号,会报一个Traceback (most recent call last)的错误。嗯,经验的积累就是对错误的积累,尽量避免错误,但如果错误发生了也应该能知道错在什么地方,怎么改。
初识字符串
定义:使用单引号或双引号括起来的字符集就是字符串。
字符的定义:引号中单独的符号、数字、字母等叫字符。
转义字符:可以用来表示一些有特殊功能或者是特殊意义的字符(通过在固定的字符前加)。
常见转义字符及其作用:
\' | ' |
---|---|
\\ | \ |
\n | 换行 |
\t | 制表符 |
\" | " |
阻止转义 可以通过在字符串前面加r或R,来阻止转义(多用于正则表达式的表达)
Python中字符串中的字符是Unicode编码。
Unicode编码:使用16位对一个字符进行编码。
Unicode编码中包含了ASSCII码,可以表示世界上所有的语言。
字符串运算符
- + :字符串拼接
字符串1+字符串2 - * :让字符串重复
字符串*整数 - in
字符串1 in 字符串2: 判断字符串是否在字符串2中 --->结果返回bool值 - not in
字符串1not in 字符串2: 判断字符串是否不在字符串2中 - 格式字符串
格式:'占位符1占位符2'%(值1,值2)
%s --->字符串占位符(格式符)
%d --->整数占位符(格式符)
%f --->浮点数占位符(格式符)
%c --->长度是一的字符串占位符(字符占位符)---可以给字符,也可以给字符的编码值
%p --->用十六进制格式化地址
字符串相关方法
字符串相关方法的通用格式:字符串.函数()
1.capitalize:将字符串的第一个字符转换为大写,并创建一个新的字符串
str0 = 'abc'
new_str0 = str0.capitalize()
print(str0,new_str0)
2.center(width,fillchar):返回一个指定的宽度width居中的字符串,fillchar为填充的字符,默认为空格,并创建一个新的字符串
new_str1 = str0.center(10,'*')
print(str,new_str1)
3.rjust(width,fillchar):返回一个指定的宽度width右对齐的字符串,fillchar为填充的字符,默认为空格,并创建一个新的字符串
new_str2 = str0.rjust(10,'*')
print(new_str2)
# 产生学号
number = 9 #py1805009
# str(数据):将任何其它的数据转换成字符串
num_str = str(number)
print(num_str,type(num_str))
new_str3 = num_str.rjust(3,'0')
print(new_str3)
new_str4 = 'py1805'+new_str3
print(new_str4)
4.ljust(width,fillchar):返回一个指定的宽度width左对齐的字符串,fillchar为填充的字符,默认为空格,并创建一个新的字符串
str1 = 'qf'
new_str5 = str1.ljust(5)+new_str4
print(new_str5)
5.str1.join(str2):在str2相邻两个字符中插入str1
print('*'.join("123456789"))
6.maketrans()
print(str.maketrans('abc','bbb'))
7.max(str)/min(str):返回字符串中最大、最小的字母
print(max('abdsf'),min('abdsf'))