python基础语法知识3

#哪个编程工具让你的工作效率翻倍?#

四、Python 字符串(String)

1.字符串表达式

在Python中,字符串(String)是一种序列类型,用于存储和表示文本数据。有以下几种方式可以创建字符串:

  • 用单引号或双引号创建字符串:

s1 = 'Hello, world!'  
s2 = "Hello, world!"
  •  使用三引号(单三引号或双三引号)来创建多行字符串:

s3 = '''这是一个多行字符串。  
它可以跨越多行。'''

2.type结果

  • 字符串用type函数检测的结果为str
x="123abc"
print(type(x))#<class 'str'>

3.转义字符串

在Python中,字符串中的某些特殊字符具有特定的意义,比如换行符(\n)、制表符(\t)、反斜杠(\)等。如果你想在字符串中包含这些特殊字符本身,而不是让它们执行其特殊功能,你需要使用反斜杠(\)作为转义字符来"转义"这些特殊字符。常用的转义字符串如下:

  • \:反斜杠本身。因为反斜杠用作转义字符,所以如果你想在字符串中包含一个反斜杠,你需要使用\\
  • \n:换行符。
  • \t:制表符,通常用于在文本中创建水平间隔。
  • \':单引号。在单引号定义的字符串中包含单引号时,需要使用\进行转义。
  • \":双引号。在双引号定义的字符串中包含双引号时,需要使用\进行转义(尽管在双引号字符串中直接包含单引号并不需要转义,反之亦然)。
  • \r:回车符,在某些系统中用于换行。
  • 字符串前加r表示原始字符串:所见即所得,不转义。
# 包含反斜杠的字符串  
path = "C:\\Users\\YourName\\Documents"  
  
# 包含换行符的字符串  
multi_line = "这是第一行\n这是第二行"  
  
# 包含制表符的字符串  
tab_example = "姓名\t年龄\t职业"  
  
# 包含单引号和双引号的字符串  
quote_example = "She said, \'Hello, world!\'" 
double_quote_example = '他说:\"Hello, world!\"'  
  
# 使用原始字符串避免转义字符  
raw_string = r"C:\Users\YourName\Documents"  
  
print(path)                   #C:\Users\YourName\Documents  
print(multi_line)             #这是第一行
                              #这是第二行
print(tab_example)            #姓名	年龄	职业
print(quote_example)          #She said, 'Hello, world!' 
print(double_quote_example)   #他说:"Hello, world!"
print(raw_string)             #C:\Users\YourName\Documents

4.字符串运算

在Python中,字符串(str 类型)是不可变的,这意味着一旦创建了字符串,就不能更改它的内容。但是,你可以通过字符串的运算来生成新的字符串。字符串运算主要包括连接、重复、切片、查找、替换等操作。下面列举一些常见的字符串运算:

  • 可以使用加号(+)来连接(拼接)两个或多个字符串。例如:
    str1 = "Hello, "  
    str2 = "world!"  
    result = str1 + str2  
    print(result)  # 输出: Hello, world!
  • 可以使用乘号(*)来重复字符串。例如:
    str = "abc"  
    repeated = str * 3  
    print(repeated)  # 输出: abcabcabc
  • 字符串切片允许你获取字符串的一个子串。切片操作使用方括号([])并指定开始和结束索引(索引从0开始)。例如:
    str = "Hello, world!"  
    print(str[7:12])  # 输出: world  
    print(str[:6])    # 输出: Hello,  
    print(str[6:])    # 输出: , world!

5.f-string

在Python中,f-string(格式化字符串字面量)是一种非常便捷和易读的方式来嵌入表达式到字符串常量中。f-string以字母fF为前缀,后跟字符串字面量,字符串中的大括号{}内可以包含表达式,这些表达式在运行时会被其值所替换。                                                                                     f-string是在Python 3.6版本中引入的,它们提供了一种比旧式的%格式化或str.format()方法更简洁、更易于阅读的字符串格式化方式。下面是它的基本用法:

name = "NJ"  
age = 21  
  
# 使用f-string  
greeting = f"Hello, my name is {name} and I am {age} years old."  
print(greeting)  # 输出: Hello, my name is NJ and I am 21 years old.
x = 10  
y = 20  
  
# 使用表达式  
result = f"{x} + {y} = {x + y}"  
print(result)  # 输出: 10 + 20 = 30

注意:f-string不能用于字节字符串(即b'...'),但你可以使用bytes.format()方法或旧式的%格式化来格式化字节字符串。

6.字符串的常用函数API

Python 中的字符串(str 类型)提供了一系列的内建函数,这些函数可以用来执行各种字符串操作。以下是一些常用的字符串内建函数(方法):

序号方法及描述
1capitalize()将字符串的第一个字符转换为大写
2center(width, fillchar)返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
3count(str, beg= 0,end=len(string))返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
4endswith(suffix, beg=0, end=len(string))检查字符串是否以 suffix 结束,如果 beg 或者 end 指定则检查指定的范围内是否以 suffix 结束,如果是,返回 True,否则返回 False。
5expandtabs(tabsize=8)把字符串 string 中的 \t 符号转为空格,tab 符号默认的空格数是 8 。
6find(str, beg=0, end=len(string))检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
7index(str, beg=0, end=len(string))跟find()方法一样,只不过如果str不在字符串中会报一个异常。
8isalnum()非空字符串 中没有符号 就返回True
9isalpha()非空字符串 中没有符号和数字 就返回True
10isdigit()如果字符串只包含数字则返回 True 否则返回 False..
11islower() 用于检测字符串中的所有字符是否都是小写字母,字符都是小写,则返回 True,否则返回 False
12isnumeric()如果字符串中只包含数字字符,则返回 True,否则返回 False
13isspace()如果字符串中只包含空白,则返回 True,否则返回 False.
14istitle()如果字符串是标题化的(见 title())则返回 True,否则返回 False
15isupper()用于检测字符串中的所有字符是否都是大写字母,并且都是大写,则返回 True,否则返回 False
16join(seq)以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
17len(string)返回字符串长度
18ljust(width, fillchar])返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。
19lower()转换字符串中所有大写字符为小写.
20lstrip()截掉字符串左边的空格,\t,\r,\n或指定字符。
21maketrans()创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
22max(str)返回字符串 str 中最大的字母。
23min(str)返回字符串 str 中最小的字母。
24replace(old, new , max)把 将字符串中的 old 替换成 new,如果 max 指定,则替换不超过 max 次。
25rfind(str, beg=0,end=len(string))类似于 find()函数,不过是从右边开始查找.
26rindex( str, beg=0, end=len(string))类似于 index(),不过是从右边开始.
27rjust(width, fillchar)返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串
38rstrip()删除字符串末尾的空格\t,\r,\n或指定字符。
29split(sep="", maxsplit=string.count(str))以 sep为分隔符截取字符串,如果 maxsplit有指定值,则仅截取 maxsplit+1 个子字符串
30splitlines(keepends)按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
31startswith(substr, beg=0,end=len(string))检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。
32strip(chars)在字符串上执行 lstrip()和 rstrip()
33swapcase()将字符串中大写转换为小写,小写转换为大写
34title()返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写
35upper()转换字符串中的小写字母为大写
36zfill (width) 在字符串左侧填充指定数量的零,确保整个字符串达到指定长度
其中一些经常使用的函数的例子如下:
  • strip()lstrip()rstrip()

# 去除首尾空格  
s = "   Hello, World!   "  
print(s.strip())  # 输出: Hello, World!  
  
# 仅去除首部空格  
print(s.lstrip())  # 输出: Hello, World!   (注意尾部空格未去除)  
  
# 仅去除尾部空格  
print(s.rstrip())  # 输出:   Hello, World!(注意首部空格未去除)
  •  split()join()

# 分割字符串  
s = "apple,banana,cherry"  
print(s.split(","))  # 输出: ['apple', 'banana', 'cherry']  
  
# 使用join连接列表中的字符串  
parts = ["Hello", "world", "from", "Python"]  
print(" ".join(parts))  # 输出: Hello world from Python
  •  replace()
# 替换字符串中的子串  
s = "Hello, world!"  
print(s.replace("world", "Python"))  # 输出: Hello, Python!  
  
# 限制替换次数  
print(s.replace("l", "L", 2))  # 输出: HeLLo, world!(只替换了前两个'l')
  • find()index()

# 查找子串的索引  
s = "Hello, world!"  
print(s.find("world"))  # 输出: 7  
  
# 未找到时返回-1  
print(s.find("Python"))  # 输出: -1  
  
# index与find类似,但找不到时会抛出异常  
# print(s.index("Python"))  # 这会抛出ValueError
  • lower()upper()capitalize()title()swapcase()
# 转换为小写  
s = "Hello, World!"  
print(s.lower())  # 输出: hello, world!  
  
# 转换为大写  
print(s.upper())  # 输出: HELLO, WORLD!  
  
# 首字母大写  
print(s.capitalize())  # 输出: Hello, world!  
  
# 每个单词首字母大写  
print(s.title())  # 输出: Hello,  World!)  
  
# 大小写互换  
print(s.swapcase())  # 输出: hELLO, wORLD!

​​​​​五、Python输入和输出

1.python输入

在Python中,输入数据通常是通过内置的input()函数来完成的。这个函数允许用户输入一些文本,然后将这个文本作为字符串返回。如果你需要输入其他类型的数据(如整数、浮点数等),你需要在接收到字符串后,使用适当的类型转换函数(如int()float()等)来转换它。                 下面是一些基本的示例来说明如何使用input()函数:

# 请求用户输入名字  
name = input("请输入你的名字: ") #程序到这里不会继续往下执行,等待用户输入完毕后继续执行 
print("你好,", name)
# 请求用户输入一个整数  
age = int(input("请输入你的年龄: "))#程序到这里不会继续往下执行,等待用户输入完毕后继续执行  
print("你的年龄是:", age)

2.python输出

在Python中,输出通常是通过内置的print()函数来完成的。你可以传递多个参数给print()函数,它们之间默认用空格分隔,并且默认会在末尾添加一个换行符。但有时候你可能想要更精确地控制输出的格式。Python的print()函数允许你通过sep(分隔符)和end(结束符)参数来自定义输出。下是一些基本的示例来说明如何使用print()函数:

print("Hello, world!")#Hello, world
name = "Alice"  
age = 30  
print("Name:", name, "Age:", age)#Name: Alice Age: 30
# 使用sep参数设定分隔符
print("apple", "banana", "cherry", sep=", ")  # 以逗号加空格作为分隔符输出多个字符串

# 使用end参数改变输出结束符
print("Line 1", end=" --- ")
print("Line 2")  # 连续打印时,第二行不会自动换行

六、Python条件语句

1.if

if语句是一种控制流语句,它允许程序根据条件(布尔表达式)的真假来执行不同的代码块。如果条件为真(True),则执行if语句块中的代码;如果条件为假(False),则跳过该代码块,继续执行if语句之后的代码。例如:

x = 10  
if x > 5:  
    print("x 大于 5")#x 大于 5"

2.if-else

if语句还可以与else语句结合使用,以在条件为假时执行另一段代码。例如:

x = 3  
if x > 5:  
    print("x 大于 5")  
else:  
    print("x 不大于 5")#x不大于5

3.if-elif-else

当需要基于多个条件执行不同的代码块时,可以使用if-elif-else结构。elif是“else if”的缩写,它允许你检查多个表达式是否为真,并在第一个为真时执行相应的代码块。否则执行else模块的代码。例如:

x = 11  
if x > 20:  
    print("x 大于 20")  
elif x > 10:  
    print("x 大于 10")  
else:  
    print("x 不大于 10")#x大于10

七、循环语句

1.range函数

range()函数是一个非常有用的内置函数,它用于生成一个数字序列。这个序列通常用于for循环中,以迭代一系列的值。range()函数可以接收一到三个参数,分别代表序列的起始值(默认为0)、结束值和步长(默认为1)。例如:

for i in range(5):  
    print(i)  
# 输出:  
# 0  
# 1  
# 2  
# 3  
# 4

2.for-in 循环

for-in循环是一种常用的迭代结构,它允许你遍历任何序列(如列表、元组、字符串)或其他可迭代对象(如字典的键、值或项、集合、文件对象等)。例如:

  • 遍历列表
fruits = ["apple", "banana", "cherry"]  
for fruit in fruits:  
    print(fruit)  
# 输出:  
# apple  
# banana  
# cherry
  • 遍历字符串
greeting = "hello"  
for char in greeting:  
    print(char)  
# 输出:  
# h  
# e  
# l  
# l  
# o

注意:for-in循环中,变量在每次迭代时都会被重新赋值。

3.while 循环

while循环是一种基本的控制流语句,它允许你重复执行一段代码块,直到指定的条件不再为真(即条件变为假)。while循环非常适合于那些你事先不知道需要循环多少次的情况。例如:

count = 0  
while count < 5:  
    print(f"Count is {count}")  
    count += 1  # 更新条件表达式中的变量,否则会导致无限循环

在这个例子中,count从0开始,每次循环时打印当前的count值,然后count增加1。当count达到5时,条件count < 5不再为真,因此循环结束

4.循环控制

如果你不小心忘记了更新条件表达式中的变量,或者条件表达式本身就是恒真的,那么while循环将变成无限循环。可以使用break跳出循环,也可以使用continue跳过迭代

  • break:跳出当前循环。例如:
count = 0  
while True:  
    print(f"Count is {count}")  
    count += 1  
    if count >= 5:  
        break  # 当count达到5时,跳出循环
  • continue:用于跳过当前迭代,继续下一次迭代。
for i in range(1,20):
    if i%3==0:
       continue
    print(i)

注意:如果有两个或多个循环函数嵌套,使用break时仅跳出break所在的循环函数,continue同理。例如:

for i in range(5):
    for j in range(5):
        if j==3:
            break
        print(i,j)
#输出
#0 1
#0 2
#1 0
#1 1
#1 2
#2 0
#2 1
#2 2
#3 0
#3 1
#3 2
#4 0
#4 1
#4 2

for i in range(5):
    for j in range(5):
        if j==3:
            continue
        print(i,j)
#输出
#0 0
#0 1
#0 2
#0 4
#1 0
#1 1
#1 2
#1 4
#2 0
#2 1
#2 2
#2 4
#3 0
#3 1
#3 2
#3 4
#4 0
#4 1
#4 2
#4 4

可以看出只是结束和跳过了内层循环,外层循环仍在继续。

5.pass语句

在Python中,pass语句是一个空操作语句,它什么也不做,只起到一个占位符的作用。当你需要定义一个结构(如函数、类、循环或条件语句)但暂时不想在其中实现任何功能时,pass语句就显得非常有用,如果没有这条语句,系统可能会报错。

if True:  
    pass  # 这里暂时不执行任何操作  

for i in range(5):  
    pass  # 这里也是暂时不执行任何操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值