104. lower()函数-将大写字母转换为小写

104. lower()函数-将大写字母转换为小写

【目录】


【正文】

1. lower( )函数的功能

lower [ˈləʊə]:较低的,下游的。

lower的中文意思是较低的,下游的。

lower( )函数用于将Python字符串对象中的所有大写字母转换为小写字母,并返回转换后的新字符串。

【功能】将字符串中的所有大写字母转换为小写字母。

2. lower( )函数的语法

【语法】

string.lower()

lower( )函数由4部分组成:

    1. 要操作的字符串对象:string
    1. 英文小圆点.
    1. 函数名:lower
    1. 英文小括号:( )

【参数】

lower( )函数无需传入参数。

【返回值】

lower( )函数不改变原始字符串,而是返回一个新的字符串

字符串在Python中是不可变的,所以任何对字符串的操作都会返回一个新的字符串。

3. 代码示例

【代码示例1】

# 示例1:将字符串中的大写字母转换为小写字母
string = "Hello World"
result = string.lower()
print(result)  # 输出:hello world

【终端输出】

hello world

【代码解析】

  • 第1行代码我们定义了一个字符串变量string
  • 第2行代码然后使用lower()函数将字符串中的大写字母H转换为小写字母h,并将转换后的字符串赋值给result变量。
  • 第3行代码打印输出结果。

【代码示例2】

# 示例2:lower()函数不改变原始字符串,而是返回一个新的字符串
string = "HELLO"
result = string.lower()
print(string)  # 输出:HELLO
print(result)  # 输出:hello

【终端输出】

HELLO
hello

【代码解析】

  • print(string)输出的是原始字符串,内容为HELLO
  • print(result)输出的是改变后的字符串,内容为hello

【温馨提示】

  • lower()函数返回一个新的字符串,而不会修改原始字符串。

  • 因为字符串在Python中是不可变的,所以任何对字符串的操作都会返回一个新的字符串。

4. 知识回顾-字符串变量

【定义】用引号【单/双/三引号】包裹起来的内容叫字符串。

    1. 【单引号】定义不含单引号的字符串。
    1. 【双引号】定义任意字符串。
    1. 【三引号】定义有换行的字符。

定义没有单引号的字符串变量,单双引号均可使用。

【代码示例1-单引号】

s = 'Take me to your heart. '
print(s)

【终端输出】

Take me to your heart. 

【代码示例2-双引号】

s = "Take me to your heart. "
print(s)

【终端输出】

Take me to your heart. 

定义单引号的字符串变量,只能用双引号。

【代码示例3-双引号】

# 字符串变量i后面有一个单引号'
s ="i'm old"
print(s)

【终端输出】

i'm old

使用引号定义一个包含单引号的字符串变量,字符串中的单引号会被程序默认为是字符串变量中的内容。

【代码示例4-单引号】

s = 'i'm old'
print(s)

【终端输出】

  Input In [13]
    s = 'i'm old'
           ^
SyntaxError: invalid syntax

【报错解析】

  • ^箭头表示出错的位置。

  • SyntaxError表示语法错误。

  • invalid character译为非法字符,无效字符。

syntax[ˈsɪntæks]:语法。

invalid [ɪnˈvælɪd ]:无效的。

character[ˈkærəktə]:字符。

这里报错是因为使用引号定义一个包含单引号的字符串变量,程序会识别前2个单引号里的内容为字符串,无法识别后面的字符,因此程序会报错。

【参考链接】

1. Python 的 print( )输出函数

4. Python 字符串

使用三引号可以定义有换行的字符串。

【代码示例5-三引号】

s = '''
Take me to your heart.    
Take me to your soul.    
Give me your hand before i'm old.     
Show me what love is.   
'''
print(s)

【终端输出】

Take me to your heart.    
Take me to your soul.    
Give me your hand before i'm old.     
Show me what love is.   

【代码示例6-双引号】

s = "
Take me to your heart.    
Take me to your soul.    
Give me your hand before i'm old.     
Show me what love is.   
"
print(s)

【终端输出】

  Input In [18]
    s = "
         ^
SyntaxError: EOL while scanning string literal

【报错解析】

字符串中有换行,但未使用三引号,则程序会报错。

  • SyntaxError: EOL while scanning string literal 翻译为:语法错误:扫描字符串文字时出现EOL

  • SyntaxError: EOL while scanning string literal 是一个常见的语法错误,它表示在扫描字符串时遇到了行尾(End of Line)。

这个错误通常发生在以下情况下:

  • 字符串没有正确的结束引号。例如,一个字符串中使用了单引号作为引号开始,但忘记了在同一行的结尾处添加单引号.

  • 字符串中包含了换行符,但没有正确的转义。在字符串中使用换行符是允许的,但如果没有正确地使用转义字符(\)或者(''' ''')也会导致这个错误。

5. 知识回顾-读取文件

【参考链接】

70. with open( ) as 以自动关闭文件的方式打开文件

81. read readline readlines 读取文件的三种方法

6. 实操练习

【目标任务1】

将下面这段英文中的大写字母转换为小写字母:

Take me to your heart.
Take me to your soul.
Give me your hand before i’m old.
Show me what love is.

【代码示例】

# 定义1个字符串变量
# 
string = '''Take me to your heart.
Take me to your soul.
Give me your hand before i'm old.
Show me what love is.
'''

# lower() 函数将大写字母转换为小写字母
# 语法:string.lower()
result = string.lower()
print(result)  

【终端输出】

take me to your heart.
take me to your soul.
give me your hand before i'm old.
show me what love is.

【目标任务2】

《哈姆雷特》是莎士比亚的一部经典悲剧作品,我将该故事的文本文件命名为hamlet.txt
文件的存储路径为D:\安迪笔记\1.基础语法\104.lower函数\hamlet.txt
任务是用代码读取该文件,并将该文件中的所有大写字母转换为小写字母。

【代码示例】

# file_path变量名,存储的是hamlet.txt文件的相对路径
file_path = "hamlet.txt"

# 使用open函数打开文件
# 参数file_path传入的是文件路径
# 参数r是以只读模式打开文件
# 使用with语句可以确保文件在使用完后会被正确关闭
# 语法:open(file, mode='r', encoding='None', errors='None')
with open(file_path, "r") as f:
    # 使用read方法读取文件的内容
    text = f.read()
    # 使用lower函数将大写字母转换为小写字母
    # 语法:string.lower( )
    text = text.lower()

# 打印转换后的文本
print(text)

【代码解析】

这段代码的作用是读取名为"hamlet.txt"的文件,并将文件内容转换为小写字母形式后打印出来。

首先,使用with open()语句打开文件,传入文件路径"hamlet.txt"和打开模式"r"(只读模式)。

接下来,使用file.read()方法读取文件的全部内容,并将其赋值给变量text。

然后,使用lower()方法将text中的所有字符转换为小写字母形式。

最后,使用print()函数打印转换后的文本。

xyz77520520 备注【哈姆雷特】取txt文档。