Python-字符串与元组

字符串

一、字符串的类型

转义符号

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

Python-字符串与元组

Python-字符串与元组

##表示字符串:

第一种方式

'do you see my small bear'

第二种方式

"do you see my small bear"

第三种方式

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

\n  表示换行符

\t   表示tab符

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

Python-字符串与元组


例题 1

Python-字符串与元组

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

Python-字符串与元组

测试结果

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

cmd = raw_inoput("[[email protected]]#:").strip()

一会会说到这个命令

Python-字符串与元组


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

索引:

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

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

Python-字符串与元组


切片
切片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往前的所有字符 但是不包括第二个字符

Python-字符串与元组

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

Python-字符串与元组

测试:

Python-字符串与元组


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

Python-字符串与元组


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

Python-字符串与元组

答案:

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


Python-字符串与元组


测试结果:

Python-字符串与元组


倒三角例题:
 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"
~                                                                                                                                      
输出显示:

[[email protected] 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语句实现

Python-字符串与元组


重复、连接及计算长度

重复使用“*”

连接使用“+”

计算长度使用len()

Python-字符串与元组

Python-字符串与元组


字符串常用操作


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

Python-字符串与元组


例题

Python-字符串与元组

答案:

Python-字符串与元组

老师答案:

Python-字符串与元组

测试:

Python-字符串与元组


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

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

Python-字符串与元组

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

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

Python-字符串与元组


左右加字符串

s.center()

Python-字符串与元组

s.ljust()

s.rjust()

Python-字符串与元组


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

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

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


分离按照指定分离符:默认指定分隔符为空格
ip="172.25.254.122"
ip.split(".")
Python-字符串与元组
                           
6
、指定分隔符链接信息
a=ip.split()
"+".join(a)
Python-字符串与元组

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

Python-字符串与元组

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

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

Python-字符串与元组

zip的用法

Python-字符串与元组


元组

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

引入元组的原因

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

元组的定义


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

Python-字符串与元组


元组的常用方法

Python-字符串与元组


元组可用的内置方法

max((12, 34, 56))

56

枚举的使用

Python-字符串与元组

自动售货机的部分代码

Python-字符串与元组


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

Python-字符串与元组

反向输出 

Python-字符串与元组

Python-字符串与元组


元组的循环

字符串的循环

Python-字符串与元组

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

Python-字符串与元组


Demo:端口扫描器模型

Python-字符串与元组


over~