Python-字符串与元组

本文详细介绍了Python中字符串和元组的基本概念、操作方法及其应用场景。内容涵盖字符串的定义、类型、转义符号、常见操作如索引、切片等,以及字符串的常用方法介绍。同时,还深入探讨了元组的概念、定义方式及其操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字符串

一、字符串的类型

转义符号

一个反斜线加一个单一字符可以表示一个特殊字符,通常是不可打印的字符
\n: 代表换行符 \": 代表双引号本身
\t: 代表tab符 \': 代表单引号本身



##表示字符串:

第一种方式

'do you see my small bear'

第二种方式

"do you see my small bear"

第三种方式

"""do you see my small bear"""

\n  表示换行符

\t   表示tab符

\表示转移字符  (使用较多)



例题 1


答案 while 为无限循环也叫做死循环


测试结果


但是这个程序有一个bug 如果输入的是空格的话也会输出 那样子显然是不合理的我们可以这样子进行修改

cmd = raw_inoput("[server@annie]#:").strip()

一会会说到这个命令



字符串操作预览
字符串属于序列,序列支持的操作如下:
• 索引 切片
• 判断子串 重复
• 连接 计算长度

索引:

   • 索引(s[i] ):获取特定偏移的元素

    例如 s = "hello" 那么s[0]就等于h
   • 给出一个字符串,可输出任意一个字符,如果索引为负数,就是相当于从后向前数。



切片
切片S[i:j]提取对应的部分作为一个序列:
•上边界并不包含在内;
•如果没有给出切片的边界,切片的下边界默认为
0,上边界为字符串的长度;
•扩展的切片S[i:j:k],其中i,j含义同上,k为递增步
长;

很重要!!!!!

start默认是从0开始的

stop是给的值减1(不包括stop那个数)但是默认的是包括的 全部长度

step默认值是1


如下图所示 s = hello 那么s[1:4:2]就是1第二个数e(从左到右是从0开始数的)然后4左边起数到4 (o)但是不包括4 那么前两个截取的部位就是ell 2 就是步长 每两个数取一个值 那么就是e 和 第三个数l 就是el

那么s[2:]就是第二个字符往后的所有包括第二个字符

而s[:2]就是stop为2往前的所有字符 但是不包括第二个字符



[::-1]既可以实现反向输出字符(笔试题)


测试:



for循环:
for i in
可迭代的对象
    state1..
第一个可迭代的对象:
range(start,stop,step)step
可省略,默认是1 start也可省略默认是
0



例题 range迭代的方法编写99乘法表


答案:

12 for i in range(1,10):
 13    for j in range(1,i+1):
 14         print "%d" %(i*j),  ##逗号
的作用是不换行
 15    print "\n"
~




测试结果:



倒三角例题:
 12 for i in range(9,0,-1):
 13    for j in range(i,0,-1):
 14         print "%d*%d=%d"%(i,j,i*j),
 15    print "\n"
~                                                                                                                                      
输出显示:

[root@server mnt]# ./day2.py
9*9=81 9*8=72 9*7=63 9*6=54 9*5=45 9*4=36 9*3=27 9*2=18 9*1=9

8*8=64 8*7=56 8*6=48 8*5=40 8*4=32 8*3=24 8*2=16 8*1=8

7*7=49 7*6=42 7*5=35 7*4=28 7*3=21 7*2=14 7*1=7

6*6=36 6*5=30 6*4=24 6*3=18 6*2=12 6*1=6

5*5=25 5*4=20 5*3=15 5*2=10 5*1=5

4*4=16 4*3=12 4*2=8 4*1=4

3*3=9 3*2=6 3*1=3

2*2=4 2*1=2

1*1=1

字符串是可迭代对象。可以通过for语句实现



重复、连接及计算长度

重复使用“*”

连接使用“+”

计算长度使用len()




字符串常用操作


str.isalnum() //判断是否都是字母或数字
str.isalpha() //判断是否都是字母
str.isdigit() //判断是否都是数字
str.islower() //判断是否都是小写
str.isspace() //判断是否都是英文空格
str.istitle() //判断是不是都是标题(有大小写)
str.isupper() //判断是不是都为大写字母



例题


答案:


老师答案:


测试:



1、判断字符串有什么组成
    s.isdigit ......
2
、判断是否以什么开头,什么结尾
    s.startswith("http")
    s.endswith("png")


3
、去除字符串左右的空格,主要应用在有用户输入数据的地方
    s.strip 去掉全部空格
    s.lstrip  去掉左边的空格
    s.rstrip 去掉右边的空格


替换的思想十分重要!!!

    去掉所有的空格s.replace(" ","")替换的思想 十分重要 空格替换为空!!!!str.replace(old,new[,count])- 将str中的old字符串替换为new字符串,并将替换后的新字符串返回,如果count指定,则只替换前count个字



左右加字符串

s.center()


s.ljust()

s.rjust()



s.isalnum表示如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False

s.isalpha表示是不是全部都是字符

s.istitle方法检查字符串中所有可大小写的第一个字符是否为大写,所有其他可大小写的字符是否均为小写


分离按照指定分离符:默认指定分隔符为空格
ip="172.25.254.122"
ip.split(".")

                           
6
、指定分隔符链接信息
a=ip.split()
"+".join(a)


s.count('l')查看l在s中出现的次数


s.find('l')查看l在s中的位置

s.find(''),s.index('')都是将查找的字母出现的第一次的索引显示,但是在该字母不存在时,find返回-1index会报错


zip的用法



元组

元组(Tuple) 笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组。 元组是关系数据库中的基本概念,关系是一张表,表中的每行(即数据库中的每条记录)就是一个元组,每列就是一个属性。 在二维表里,元组也称为记录。

引入元组的原因

比如:打印用户的姓名
userinfo1 = "fentiao 4 male"
userinfo[0:7]
结论:字符串中操作提取姓名/年龄/性别的方式不方便,诞生元组

元组的定义


•- 定义空元组
tuple = ()
•- 定义单个值的元组
tuple = (fentiao,)
•- 一般的元组
tuple = (fentiao, 8, male)



元组的常用方法



元组可用的内置方法

max((12, 34, 56))

56

枚举的使用


自动售货机的部分代码



元组的操作
元组也属于序列,可执行的操作如下:
索引、切片、重复、连接和查看长度 成员操作符


反向输出 




元组的循环

字符串的循环


元组目前接触的第三个可迭代对象



Demo:端口扫描器模型



over~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值