美文网首页python自学Python生活不易 我用python
字符串学习笔记及相关习题练习

字符串学习笔记及相关习题练习

作者: GHope | 来源:发表于2018-07-18 20:06 被阅读90次

习题练习

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. + :字符串拼接
    字符串1+字符串2
  2. * :让字符串重复
    字符串*整数
  3. in
    字符串1 in 字符串2: 判断字符串是否在字符串2中 --->结果返回bool值
  4. not in
    字符串1not in 字符串2: 判断字符串是否不在字符串2中
  5. 格式字符串
    格式:'占位符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'))

相关文章

网友评论

    本文标题:字符串学习笔记及相关习题练习

    本文链接:https://www.haomeiwen.com/subject/sllapftx.html