IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> day9-字符串 -> 正文阅读

[Python知识库]day9-字符串

day9-字符串

1字符和字符串

1.什么是字符串(str)

? 1)字符串是容器型数据类型:将’’、""、’’’’’’、“”“”“”作为容器标志。里面直接是多个符号,每个符号就是字符串的一个元素:‘元素1元素2元素3…’

? 2)字符串是不可变的;字符串是有序的

? 3)对元素的要求:所有的符号都可以作为字符串的元素;字符串中的元素又叫字符,字符分为普通字符和转义字符

# 1)字符串的元素(字符)可以是任意符号
str1 = '123adfSACVD😀$%我的未来不是梦'
# 2)空字符串
# 单引号和双引号没区别(换行可借助转义字符)
str1 = ''   
str2 = ""
# 三个单引号和三个双引号没区别,可以不借助转义字符直接换行
str3 = """"""
str4 = ''''''
# 3)多行字符串
str1 = """abc
123
456"""
# 4)字符串是有序的
print('abc' == 'acd')  # False
2字符串中的元素 - 字符

? 1)普通字符:符号在字符串中表示符号本身的字符就是普通字符

? 2)转义字符:在特定符号前加\表示特殊的功能或者特殊意义的字符

"""
\n  - 换行
\t  - 水平制表符(相当于Tab键)
\'  - 表设计一个普通的单引号
\"  - 表示一个普通的双引号
\\  - 表示一个普通的反斜杠\
"""
str1 = 'abc\n123'
str2 = '\tabc\t123\n456'
# \u四位的十六进制数 -  编码字符(四位的十六进制的字符编码)
str1 = '\u4e00abc'
print(str1)    # 一abc
3字符编码

? 1)计算机在存储数据的时候只能存数字(数字的二进制补码)

? 2)为了能够让计算机存储字符,给每一个字符对应一个固定数字。每次在存储这个字符的时候就存储这个字符对应的数字,每个字符对应的数字就是这个字符的编码值

4编码表

常用的编码表:ASCII码表、Unicode编码表(Python)

? 1)ASCII码表

? a.只记录了美国的符号(没有记录中文)

? b.数字字符(48 ~ 57)在大写字母(65 ~ 90)的前面,大写字母在小写字母(97 ~ 122)的前面,并且这三类符号之间不连续。

? 2)Unicode编码表:

? a.是ASCII码表的扩展(包含了ASCII码表),记录了世界上所有国家所有民族的所有语言的符号。

? b.中文范围:4e00 ~ 9fa5

a = 0x9fa5 - 0x4e00
print(a)  # 20901
5编码值的使用

? 1)chr函数

? chr(编码值) :获取编码值对应的字符

print(chr(97))   # a
print(chr(0x5fa5))   # 徥
# 练习;打印所有的中文
count = 0
for x in range(0x4e00, 0x9fa5 + 1):
    count += 1
    print(chr(x), end=' ')
    if count == 20:
        print()
        count = 0

? 2)ord函数

? ord(字符) :获取字符对应的编码值

print(ord('a'))  # 97

? 3)编码字符

? \u四位的十六进制编码值

print('a\u0061')    # aa
# 判断下列字符是否是中文
c = '是'
if '\u4e00' <= c <= '\u9fa5':
    print('是中文')

补充:进制

? 1)十进制

"""
十进制
基数:0 ~ 9
表示方式:直接写
转换函数:直接用print(数据)函数进行打印即可
"""
num = 123
print(num)  # 123

? 2)二进制

"""
基数:0 ~ 1
表示方式:加前缀0b/0B
转换方式:bin(数据) - 将数据转换成二进制
"""
num = 0b101
print(num)  # 5
print(bin(6))  # 0b110

? 3)八进制

"""
基数:0 ~ 7
表示方式;0o/0O
转换函数:oct(数据)
"""
num = 0o23
print(num)  # 19
print(oct(19))  # 0o23

? 4)十六进制

"""
基数:0 ~ 9,a ~ f (A ~ F)
表示方式:加前缀0x/0X
转换函数:hex(数据)
"""
num = 0xaf2
print(num)   # 2802
print(hex(15))   # 0xf
6字符串相关操作和相关函数

1.查 - 获取字符

? 字符串获取字符和列表获取元素的语法一样

? 注意:一个转义字符的长度是1

str1 = 'how are you? i am fine! thank you! and you?'
print(str1[2:])       # w are you? i am fine! thank you! and you?
print(str1[1:7:2])   # o r
print(str1[1:6])     # ow ar
print(str1[-1:2])    # 空字符串

2.+、*

print('abc' + 'hello')  # abchello
print('abc' * 3) # abcabcabc

3.比较运算

? 1)两个字符串比较大小:比较的是第一对不相等字符的编码值得大小

? 2)两个字符比较大小,比较的是字符的编码值的大小

"""
一个字符x:
判断是否是数字字符 - '0' <= X <= '9'
判断是否是小写字母 - 'a' <= x <= 'z'
判断是否是大写字母 - 'A' <= x <= 'Z'
判断是否是字母:'a' <= x <= 'z' or 'A' <= x <= 'Z'
判断是否是中文:'\u4e00' <= x <= '\u9fa5'
"""
print('abc' == 'acb')  # False
print('abc' > 'Abc123')  # True
print('你好' > 'hello')  # True
# 练习1;已知一个字符串,统计字符串中文出现的次数
str1 = '-==sh是uM09K你好!'
count = 0
for x in str1:
    if '\u4e00' <= x <= '\u9fa5':
        count += 1
print('str1中中文出现的次数为:', count)
# 练习2:判断指定字符串是否是纯数字字符串
# '234445' --> 是  '122h333' -->不是
str2 = input('请输入字符串:')
for x in str2:
    if not '0' <= x <= '9':
        print('不是纯数字字符串')
        break
else:
    print('是纯数字字符串')

4.in 和 not in

? 字符串1 in 字符串2 :判断字符串1是否是字符串2的子串

print('a' in 'abc123')   # True
print('ac' in 'abc123')  # False
print('abc' in 'abc123')  # True

5.相关函数

? 1)len(字符串) :获取字符串的长度

? 2)str(数据) :将数据转换成字符串(python中的任何类型的数据都可以转换成字符串,转换的时候直接在数据的打印值外面加引号)

print(str([10, 20]))  # '[10, 20]'
print(str{'a': 10, 'b': 20})   # "{'a': 10, 'b': 20}"
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-27 14:02:00  更:2021-09-27 14:03:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 6:30:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计