补充上篇:字符串的常用函数API
序号 | 方法及描述 |
---|---|
4 | endswith(suffix, beg=0, end=len(string))检查字符串是否以 suffix 结束,如果 beg 或者 end 指定则检查指定的范围内是否以 suffix 结束,如果是,返回 True,否则返回 False。 |
5 | expandtabs(tabsize=8)把字符串 string 中的 \t 符号转为空格,tab 符号默认的空格数是 8 。 |
8 | isalnum()非空字符串 中没有符号 就返回True |
9 | isalpha()非空字符串 中没有符号和数字 就返回True |
10 | isdigit()如果字符串只包含数字则返回 True 否则返回 False.. |
11 | islower() 用于检测字符串中的所有字符是否都是小写字母,字符都是小写,则返回 True,否则返回 False |
12 | isnumeric()如果字符串中只包含数字字符,则返回 True,否则返回 False |
13 | isspace()如果字符串中只包含空白,则返回 True,否则返回 False. |
14 | istitle()如果字符串是标题化的(见 title())则返回 True,否则返回 False |
15 | isupper()用于检测字符串中的所有字符是否都是大写字母,并且都是大写,则返回 True,否则返回 False |
18 | ljust(width, fillchar])返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。 |
19 | lower()转换字符串中所有大写字符为小写. |
20 | lstrip()截掉字符串左边的空格,\t,\r,\n或指定字符。 |
21 | maketrans()创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。 |
22 | max(str)返回字符串 str 中最大的字母。 |
23 | min(str)返回字符串 str 中最小的字母。 |
25 | rfind(str, beg=0,end=len(string))类似于 find()函数,不过是从右边开始查找. |
26 | rindex( str, beg=0, end=len(string))类似于 index(),不过是从右边开始. |
27 | rjust(width, fillchar)返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串 |
38 | rstrip()删除字符串末尾的空格\t,\r,\n或指定字符。 |
30 | splitlines(keepends)按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。 |
31 | startswith(substr, beg=0,end=len(string))检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。 |
32 | strip(chars)在字符串上执行 lstrip()和 rstrip() |
33 | swapcase()将字符串中大写转换为小写,小写转换为大写 |
34 | title()返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写 |
35 | upper()转换字符串中的小写字母为大写 |
36 | zfill (width) 在字符串左侧填充指定数量的零,确保整个字符串达到指定长度 |
一. Python 输入和输出
1、输出
print()内置函数提供在控制台输出打印数据
# 传入 数据直接量
print(10)
print(3.14)
print(10+2j)
print("asfefa")
# 传入 变量(打印变量是一种取值操作)
a = 20
print(a)# 如果没有声明会报错,报错是为了阻止取值指向系统中的变量(野指针),保护系统。
# 可以传入多个数据,用逗号隔开(传入的直接量或者变量都叫做数据)
x = 1
y = 2
print("x:",x,"y:",y)
# 使用sep参数设定分隔符,默认为空格。
print("apple", "banana", "cherry", sep=", ") # 以逗号加空格作为分隔符输出多个字符串
# 使用end参数改变输出结束符,默认为换行。
print("Line 1", end=" --- ")
print("Line 2") # 连续打印时,第二行不会自动换行
2、输入
input() 内置函数从标准输入读取文本,默认的标准输入是键盘。
# 输入
print("请输入:")
x = input()
# 1.会让程序停止,暂时不执行后面的代码。
# 2.等待用户在控制台输入,输入完毕后(用户敲回车)
# 3.这个函数就会生成结果。
# 4.input每次执行是独立的,返回一次执行一次。
print(f"输入的结果是:{x}")
二.条件语句
# 条件语句(复合语句) # if 表达式: # 执行体代码(一行或多行),每一行都要对齐,不能和if这个单词对齐。 # 1.if后的表达式会判定为布尔值。判定:隐式代码bool(表达式)。 # 2.如果判定结果为True,就会执行if语句的执行体。如果为False,就不会执行if语句的执行体
1.if
# 表达式
# 条件语句(复合语句)
# if 表达式:
# 执行体代码(一行或多行),每一行都要对齐,不能和if这个单词对齐。
# 1.if后的表达式会判定为布尔值。判定:隐式代码bool(表达式)。
# 2.如果判定结果为True,就会执行if语句的执行体。如果为False,就不会执行if语句的执行体。
if 20:# 20是数据直接量表达式
print(666)
a = 22
b = 10
c = a and b #如果bool(a)是真c = b,如果bool(a)是假c = a。==>c = 10
if c: # 隐式代码bool(a and b)==>True
print(c)
print(111)
if 11:
a = 20 # 声明变量并赋值
print(a)
2.if-else
a = 2
b = 3
if a > 1:
if b>2:# 嵌套
print(1.0)
print(1)
else:
print(0)
3.if-elif-else
格式
if condition:
# 当条件为真时执行这里的代码
elif another_condition:
# 当上面条件为假,而这个条件为真时执行这里的代码
else:
# 如果前面的条件都为假,执行这里的代码
注意
# if_elif,可以防止执行某一循环体时改变了判定表达式导致后面错误的判断。
# 整个if_elif_elif_..._else是一个复合语句。
# if_elif,可以防止执行某一循环体时改变了判定表达式导致后面错误的判断。
# 整个if_elif_elif_..._else是一个复合语句。
vip = 1
if vip == 1:# 条件表达式执行后的布尔判定结果为真后,不会执行后面的elif的条件表达式。
print("vip1")
vip = 2
elif vip == 2:
print("vip2")
elif vip == 2:
print("vip2")
else:
print("啥也不是")
三.循环语句
1.range函数
用于生成一个整数序列,序列中的每个元素按照指定的步长递增(默认步长为1)。这个函数并不会真正创建一个列表,而是返回一个可迭代的对象——range
对象。当你在循环中使用它时可以遍历内部的元素。
range(stop) range(start, stop) range(start, stop, step)
参数说明:
-
start
(可选):序列的起始值,默认是0。 -
stop
:序列的停止值,序列不会包含此值。 -
step
(可选):每次迭代增加的步长,默认是1。
# 循环语句有两种:1.已知循环次数。2.已知循环结束条件。
# range(b,a,c)有三个参数:
# 填一个参数(range(a)):0-a,不包含a,即[0,a)
# 填两个参数(range(b,a)):b-a,不包含a,即[b,a)
# 填一个参数(range(b,a,c)):c为步长,默认为1。
arr = range(10,30)# arr是一个数据容器(迭代器),可以用循环语句去取出里面的数据。
print(arr)
for i in arr:
print(i,"1111")
2.for-in 循环
for 循环 用于迭代遍历可迭代对象(如列表、字符串、字典等):
# for-in 循环
arr = [10,23,23,4,234,34]
for i in arr:# arr的位置可以是字符串,可以是range(),可以是列表
print(i)
if i%2 == 0:
print(f"{i}-偶数")
else:
print(f"{i}-奇数")
# 数字列表求和
arr = [1,23,2,3,2,3,2,3,34]
sum1 = 0
for i in arr:
sum1 += i
print(sum1)
for i in range(1, 10, 2):
# 隐式代码 第一次 i = 1,第二次i = 3
print(i)
i += 3 # 因为隐式代码的原因,对下个循环的i没有影响。
#可以反向递减的
for i in range(20, 10, -2):
print(i)
i += 2
3.while 循环
while 循环 在条件为真时重复执行代码块
# 某人有100,000元,每经过-次路口,需要交费,规则如下:
# 1)当现金> 50000时每次交5%
# 2)当现金< = 50000时,每次交1000,
# 编程计算该人可以经过多少次路口,
money = 100000
n = 0
while money >= 1000:
n += 1
money = 0.95*money if money > 50000 else money - 1000
print('共可以过桥' + str(n) + '次')
# 如果n为1,判断它是否大于1000且是闰年,不是的话n加17,求满足这个条件的最小数字是多少
n = 1
for i in range(10000):# 不能确定循环次数,只能取一个较大的值
if n > 1000 and ((n%4 == 0 and n%100 != 0) or n%400 == 0):
print(n)
break
else:
n += 17
n = 1
while n <= 1000 or not ((n%4 == 0 and n%100 != 0) or n%400 == 0):
n += 17
print(n)
4.循环控制
-
break:用于跳出当前循环。
-
continue:用于跳过当前迭代,继续下一次迭代。
# break
for i in range(3):
for j in range(4):
if j == 2:
break# 直接终止循环
print(j)
# continue
for i in range(5):
if i == 3:
continue# 当次循环中任务执行到此为止,直接进入下个循环。
print(i)
四.pass 语句
pass是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句
for x in range(10):
if x == 7:
pass
else:
print(x)