day 08字符串
程序员文章站
2022-03-08 10:23:51
...
一、字符串
字符串是容器(序列),将’’、’’’ ‘’’、”“” “”“ 作为容器的标志
在引号中的每一个符号都是字符串的元素(字符串的元素又叫字符)
字符串不可变,凡是感觉像是在改变字符串的操作,其实是创建新的字符串,原来的字符串不可变
有序的
字符串的元素(字符):通过任何手段可以放入引号中的符号都可以是字符串的元素,黄脸表情都可以放进去。放不进去是你的问题,不是python的问题
#'' 和" " 表示没有区别
str1='abc'
str2="abc"
print(id(str1),id(str2))
str6 = '''abc????
'''
"""
注意:""和''引起来的字符串内容不能直接通过回车换行,''''''和""""""引起来的字符串内容可以直接通过回车换行
"""
二、字符
1)普通字符:除了转义字符依外的字符都是普通字符
2)转义字符 - 在一些特定符号前加 \ 在字符串中表示一些具有特殊功能或者特殊意义的符号
\n - 换行
\t - tab键 4个空格 水平制表符(相当于按一次tab键)
’ -表示一个单引号
" -表示一个双引号
\ -打印出\
str7 = 'abc\n123'
print(str7)
#str9 = 'abc'123'
str9="abc'123"
str10='你真好看呀\'说假话良心好痛\"'
print(str10)
print('\\我要打印反斜杠给你看,看见没,这里')
#\u 四位的十六进制编码值 - 将编码值转换对应的字符
str13="abc\u4e80123"
print(str13) #abc亀123
三、字符编码
1.字符在计算机中的存储问题
计算机只能存储数字,所以为了能够保存字符,给每一个字符对应一个固定的数字。每次需要保存字符的时候直接保存字符对应的那个数字
一个字符对应的那个固定的数字就是这个字符的编码值
2.编码表
记录字符和编码值之间一一对应关系的表,常见的编码表有两种ASCⅡ码表和Unicode编码表
1)ASCⅡ码表
共128个字符
数字在表中,数字字符在大写字母的前面,大写字母在小写字母前面,大写字母和小写字母之间有其他字符
2) Unicode编码表
unicode编码表是对ASCⅡ码表的扩充,它记录了世界上所有的国家所有的名族所有的语言的符号
中文的编码范围:4e00 ~ 9fa5
3.编码值的使用
编码值 (4位16进制)
print('\u9e01')
# chr(编码值) - 获取编码值对应的字符
```python
for x in range(0x4e00, 0x9fa5):
# 3) ord(字符) - 获取字符对应的编码值
```python
print(hex(ord('出')), hex(ord('月')))
4)字符串比较大小
#比较第一对(同位置上的是一对) 不相等的字符的 编码值的大小
print('abc' > 'ABCDEF') #True
print('abcd'>'acdb') #false
"""
数字字符:'0'<= char <= 'z'
大写字母: 'A'<=char <= 'z'
字母:'A'<= char <='Z' or 'a'<= char<='z'
中文:'\u4e00'<= char <= '\u9fa5'
"""
#字符串获取字符和列表获取元素的语法一样
str1 = 'abcde'
print(str1[-1],str1[0],str1[1:])
pw = input('请输入密码(字母和数字组成)')
for x in pw:
if not ('0' <= x <='9' or 'A' <= x <= 'Z' or 'a'<= x <= 'z'):
print('密码不合法')
break
else:
print('密码合法')