1.字符串
字符串就是一系列字符,在Python中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号,如下所示:
"This is a string."
'This is also a string.'
这种灵活性让你能够在字符串中包含引号和撇号:
'I told my friend, "Python is my favorite language!"'
"The language 'Python' is named after Monty Python, not the snake."
"One of Python's strengths is its diverse and supportive community."
1.1 使用方法修改字符串的大小写
1.1.1.使用title()方法,将字符串中的每一个单词的首字母变成大写,比如:
name = "ada lovelace"
print(name.title())
执行结果如下图:
在这个示例中,变量name指向小写的字符串"ada lovelace"。在函数调用print()中,方法title()出现在这个变量的后面。方法是Python可对数据执行的操作。在name.title()中,name后面的句点(.)让Python对变量name执行方法title()指定的操作。每个方法后面都跟着一对圆括号,这是因为方法通常需要额外的信息来完成其工作。这种信息是在圆括号内提供的。函数title()不需要额外的信息,因此它后面的圆括号是空的。方法title()以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写。这很有用,因为你经常需要将名字视为信息。例如,你可能希望程序将值Ada、ADA和ada视为同一个名字,并将它们都显示为Ada。
1.1.2. upper()方法,将英文单词所有字母都变成大写。lower()方法,将英文单词全部变为小写。
例如:
name = "Ada Lovelace"
print(name.upper())
print(name.lower())
存储数据时,方法lower()很有用。很多时候,你无法依靠用户来提供正确的大小写,因此需要将字符串先转换为小写,再存储它们。以后需要显示这些信息时,再将其转换为最合适的大小写方式。
1.2 在字符串中使用变量
在有些情况下,你可能想在字符串中使用变量的值。例如,你可能想使用两个变量分别表示名和姓,然后合并这两个值以显示姓名:
first_name = "ada"
last_name = "lovelace"
full_name = f"{first_name} {last_name}"
print(full_name)
要在字符串中插入变量的值,可在前引号前加上字母f,再将要插入的变量放在花括号内。这样,当Python显示字符串时,将把每个变量都替换为其值。这种字符串名为f字符串。f是format(设置格式)的简写,因为Python通过把花括号内的变量替换为其值来设置字符串的格式。上述代码的输出如下:
ada lovelace
使用f字符串可完成很多任务,如利用与变量关联的信息来创建完整的消息,如下所示:
first_name = "ada"
last_name = "lovelace"
full_name = f"{first_name} {last_name}"
print(f"Hello, {full_name.title()}!")
在这里,一个问候用户的句子中使用了完整的姓名,并使用方法title()来将姓名设置为合适的格式。这些代码显示一条格式良好的简单问候语:Hello, Ada Lovelace!
上述代码也显示消息Hello, Ada Lovelace!,但将这条消息赋给了一个变量,这让最后的函数调用print()变得简单得多。
注意 f字符串是Python 3.6引入的。如果你使用的是Python 3.5或更早的版本,需要使用format()方法,而非这种f语法。要使用方法format(),可在圆括号内列出要在字符串中使用的变量。对于每个变量,都通过一对花括号来引用。这样将按顺序将这些花括号替换为圆括号内列出的变量的值,如下所示:
full_name = "{} {}".format(first_name, last_name)
1.3 使用制表符或换行符来添加空白
在编程中,空白泛指任何非打印字符,如空格、制表符和换行符。你可以使用空白来组织输出,让用户阅读起来更容易。
要在字符串中添加制表符,可使用字符组合\t。
要在字符串中添加换行符,可使用字符组合\n。
字符串"\n\t"让Python换到下一行,并在下一行开头添加一个制表符.
1.4 删除字符串空白
在程序中,额外的空白可能令人迷惑。对程序员来说,'python’和’python '看起来几乎没什么两样,但对程序来说,它们却是两个不同的字符串。Python能够发现’python '中额外的空白,并认为它意义重大——除非你告诉它不是这样的。
空白很重要,因为你经常需要比较两个字符串是否相同。一个重要的示例是,在用户登录网站时检查其用户名。不过在非常简单的情形下,额外的空格也可能令人迷惑。所幸,在Python中删除用户输入数据中的多余空白易如反掌。
方法rstrip(),可以删除字符串末尾的空白。
方法strip(),可以删除字符串开头的空白。
方法lstrip(),可以删除字符串两边的空白。
但需要注意的是,这种删除是临时性的,但变量引用了该方法后,并不会改变变量的实际值,需要重新对变量进行赋值。
动手试一试
完成下面的每个练习时,都编写一个独立的程序,并将其保存为名称类似于name_cases.py的文件。
练习1:个性化消息 用变量表示一个人的名字,并向其显示一条消息。
显示的消息应非常简单,下面是一个例子。
Hello Eric, would you like to learn some Python today?
练习2:调整名字的大小写
用变量表示一个人的名字,再以小写、大写和首字母大写的方式显示这个人名。
练习3:名言
找一句你钦佩的名人说的名言,将其姓名和名言打印出来。输出应类似于下面这样(包括引号)。Albert Einstein once said, “A person who never made a mistake never tried anything new.”
练习4:剔除人名中的空白
用变量表示一个人的名字,并在其开头和末尾都包含一些空白字符。务必至少使用字符组合"\t"和"\n"各一次。打印这个人名,显示其开头和末尾的空白。分别使用剔除函数lstrip()、rstrip()和strip()对人名进行处理,并将结果打印出来。
下一篇:python基本数据类型(二)-数