字符串类型及操作

字符串类型及操作

一,概述

  • 字符串类型的表示
  • 字符串操作符
  • 字符串处理函数
  • 字符串处理方法
  • 字符串类型的格式化

二,字符串类型的表示

由0各或多个字符组成的有序字符序列
  • 字符串由一对单引号或一对双引号表示:“请输入带有符号的温度值:” 或者 ‘C’
  • 字符串是字符的有序序列,可以对其中的字符进行索引:“请” 是“请输入带有符号的温度值”的第0个字符
字符串有2类共4种表示方法
  • 由一对单引号或双引号表示,仅表示单行字符串:“请输入带有符号的温度值:”或者 ‘C’
  • 由一对三单引号或三双引号表示,可表示多行字符串
```
python
    语言
```
 
  • 如果希望在字符串中包含双引号或单引号呢?‘这里有个双引号(‘’)’或者 “这里有个单引号(’)”
  • 如果希望在字符串中既包括单引号又包括双引号呢?:’‘’这里既有单引号(‘)又有双引号(“)’‘’
 

2.1 字符串的序号

正向递增序号和反向递减序号
 

2.2 字符串的使用

使用[]获取字符串中一个或多个字符
  • 索引:返回字符串中单个字符<字符串>[M]:"请输入带有符号的温度值:"[0]或者TempStr[-1]
  • 切片:返回字符串中一段字符子串<字符串>[M:N]:"请输入带有符号的温度值:"[1:3]或者TempStr[0:-1]

2.3 字符串切片高级用法

使用[M:N:K]根据步长对字符串切片
  • <>[M:N],M缺失表示至开头,N缺失表示至结尾:”0一二三四五六七八九十“[:3]结果是”0一二“
  • <字符串>[M:N:K],根据步长K对字符串切片:
    • ”0一二三四五六七八九十“[1:8:2] 结果是”一三五七“
    • "0一二三四五六七八九十"[::-1] 结果是”十九八七六五四三二一“

2.4 字符串的特殊字符----转义符

  • 转义符表达特定字符的本意:“这里有各双引号(")” 结果为 这里有各双引号(“)
  • 转义符形成的一些组合,表达一些部可打印的含义:”\b“ 回退”\n“ 换行(光标移动到下行首) ”\r“ 回车(光标移动到本行首)

三,字符串操作符

3.1 由0个或多个字符组成的有序字符序列

3.2 获取星期字符串

  • 输入:1-7的整数,表示星期几
  • 输出:输入整数对应的星期字符串
  • 例如:输入3,输出星期三
 

四,字符串处理函数

一些以函数形式提供的字符串处理功能
 

4.1 Unicodeb编码

python字符串的编码方式
  • 统一字符编码,即覆盖几乎所有字符的编码方式
  • 从0到1114111(0x10FFFF)空间,每个编码对应一个字符
  • python字符串中每个字符都是Unicode编码字符

4.1.1 一些有趣的例子

五,字符串处理方法

”方法“在编码中式一个专有名词
  • ”方法“特指<a>.<b>() 风格中的函数<b>()
  • 方法本身也是函数,但与<a>有关,<a>.<b>() 风格使用
  • 字符串及变量也是<a>,存在一些方法

六,字符串内置方法

一些方法形式提供的字符串处理功能
”ytho“ str.join(iter)|在iter变量除最后元素外每个元素后增加一个:str ",".join("12345") 结果为”1,2,3,4,5“ # 主要用于字符串分隔符
 

七,字符串类型的格式化

格式化是对字符串进行格式表达的方式
  • 字符串格式化使用.format()方法,用法如下:<模板字符串>.format(<逗号分隔的参数>)
  • 字符串格式化使用f-string方法,用法如下:f<模板{<逗号分隔的参数>}字符串>

7.1 f-string方法的格式控制

{<参数序号>:<格式控制标记>}
 

八,单元小结

  • 正向递增序号,反向递减序号,<字符串>[M:N:K]
  • +, *, len(), str(), hex(), oct() ord() chr()
  • .lower(), .upper(), .split(), .count(), .replace()
  • .center(), .strip(), .join() , .format()格式化
 

代码编写部分

定义一个值的,打印出这个值和类型和ID

# 定义变量
s1 = "高富帅"
s2 = "白富美"
 
# 打印出定义的值
print(s1)
# 打印出这个值的类型
print(type(s1))
# 打印出这个值得ID
print(id(s1))
# 打印出定义的值
print(s2)
# 打印出这个值的类型
print(type(s2))
# 打印出这个值得ID
print(id(s2))
 
得到的结果为
高富帅
<class 'str'>
2381723127696
白富美
<class 'str'>
2381722438128

切片取值

# 定义一个变量
s1 = "但是用户的个人文档/资料/工作空间等不"
# 取出在位置2的值(计算机从0开始计算)
print(s1[2])
# 取出右边往左边数的第六个值(负一开始计算)
print(s1[-6])
# 取出在位置2到左边往右边数十位之间的值(反向取值)
print(s1[2:-10])
# 取出在位置2到位置9的值(正向取值)
print(s1[2:9])
# 取出在位置5以后的值
print(s1[5:])
 
得到的结果为
用户的个人文档
用户的个人文档
个人文档/资料/工作空间等不
 

用户名登陆

#  定义一个变量并且让用户输入参数(.strip是忽略两边的空格)
name = input("请输入您的用户名:").strip()
# 添加的一条作为比较
con_name = input('请输入您的用户名:')
# 打印出用户输入的参数的长度或项目个数
print(len(name))
# 打印出用户输入的参数的长度或项目个数并且标记
print(len(con_name))
# 定义一个变量
if name == '小颜':
# 如果用户输入是定义的变量则显示下面
        print('登陆成功')
# 如果不是输入的变量
else:
# 则显示下面
        print('登陆失败')
 
得到的结果为
请输入您的用户名:   小颜
请输入您的用户名:      小颜
2
8
登陆成功
 

判断是否是成年人

# 让用户输出自己的年龄并且无视两边的空格
age = input("请输入您的年龄:").strip()
# 输入的参数为整数
age = int(age)
# 如果输入的参数小于这个值
if age < 18:
# 打印出这一段文字
    print('小妹妹你好')
# 如果大于或者等于下面的这个值
elif age >=18:
# 打印下面这段文字
    print('小姐姐你好')
 
当输入大于或等18时得到的结果
请输入您的年龄:18
小姐姐你好
 
当输入的值小于18时得到的结果
 
请输入您的年龄:17
小妹妹你好
 
 
 
 
 
 

posted on 2019-10-24 18:59  Everuse  阅读(587)  评论(0编辑  收藏  举报

导航