编码问题:
最早的计算机编码是ASCII码。包括了英文字母(大小写)数字,标点等特殊字符!@#¥%……
UTF-8,:可变长度的unicode。每个字符最少占8位,每个字符占用的字节数不定。根据文字内容进行具体编码。比如,英文,8bit,1个字节;欧洲文字,16bit,2个字节;汉字占3个字节,这时既满足了中文,也满足了节约,也是目前使用频率最高的一种编码。
int 整数,主要用来进行数学运算
str 字符串,可以保存少量数据并进行相应的操作
bool 判断真假True False
list 列表,存储大量数据,用[ ]表示
tuple元组,不可以发生改变,用()表示
dict 字典,保存键值对,一样可以保存大量数据
set集合,保存大量数据,不可以重复,其实就是不保存value的dict。
整数可以进行的操作 bit_length() 计算整数在内存中占用的二进制码的长度
bool值:取值只有True False
转换问题:你想转换成什么,就用什么括起来
str ==> int int(str) int ==> str str(int)
int ==> bool bool(int) bool==> int int(bool) 0是False,非0是True;True是1,False是0
str ==> bool bool(str) bool==> str str(bool) 空字符串是False,非空是True; 把bool值转换成相应的“值”
字符串:把字符串连成串,在python中用','','''号引起来的内容称为字符串。
切片和索引:
索引,索引就是下标,切记,下标是从0开始,从左到右;-1是从右到左。
切片:S[起始位置:结束位置:步长]
S1 = “python最牛b”
s1[0]=p 正数第一个
s1[-1]:-1表示倒数第一个
通过切片获取到的内容还是一个字符串
语法 S[起始位置:结束位置] 包括起始位置,但是不包括结束位置,顾头不顾腚,
如果起始位置不写,则默认从头开始
如果:后面位置不写,则默认到结尾
默认是从左往右切,切出牛b,则s[-2:],如果是s[-2:-1],那么只能切出牛,因为遵从顾头不顾腚。
#步长,一次切几个
语法 S[起始位置:结束位置:步长]
s=“我是梅西,我很慌” s1 = s[1:5:2] #是西
s=[6:2:-2] #很,
字符串的常用操作
切记,字符串是不可变的对象,所以任何操作对原字符串是不会有任何影响的。
举例:s = “alex and wusir and”
s1=s.capitalize()
print(s)
那么s依然输出的是“alex and wusir and”,应为字符串是不可变对象。s1变成了首字母大写。
capitalize():首字母大写
lower():全部转为小写
casefold():全部转换为小写,对所有字母有效,lower()对某些字符支持不够好。
upper():全部转为大写
center():居中,
strip():去空格;去掉的是左右两端的内容,中间的不管
例1:
username = input(“用户名:”).strip()
password = input("密码:").strip()
if username == 'alex' and password == '123':
print("登录成功")
else:
print(“登陆失败”)
例2:
s = “aaaa呵呵a呵呵aaaa”
print(s.strip("a")) #呵呵a呵呵
replace():字符串替换replace(‘小学’,‘大学’)
如果replace(“alex”,“ab”,“2”) 数字2是替换2个,不是第2个的意思
字符串的切割
split():切完的东西是列表,列表装的是字符串。
用什么切,损失的就是什么
s = “alex_wusir_taibai”
lst= s.split("_")
print(lst) #['alex','wusir','taibai']
如果用split切边,会产生空字符串。上例子lst=s.split(“wusir_taibai”),那么结果是["alex_",""]
格式化输出
s12 = “我叫%s,今年%d岁了,我喜欢%s” % (‘sylar’,18,‘周杰伦’)#之前的写法
s12 = “我叫{},今年{}岁了,我喜欢{}”.format(“周杰伦”,28,“周润发”) #按位置格式化
s12 = “我叫{0},今年{2}岁了,我喜欢{1}”.format(“周杰伦”,“周润发”,28) # 指定位置
s12 = “我叫{name},今年{age}岁了,我喜欢{singer}”.format(name=“周杰伦”,singer=“周润发”,age=“28”)#指定关键字
startswith()#判断字符串是否以XX开头
endswith()#判断字符串是否以XX结尾
count(“a”)#计算a在字符串中出现的次数
find(“a”)#查询a在字符串中出现的位置,如果没有查找的内容,则返回-1.
find("a",3,8)#从3到8开始找a
index()#索引,index中的内容如果不存在,直接报错,而find中的内容不存在,返回-1.
isalnum( ) #判断字符串是否是由字母和数字组成
isalpha()#是否由字母组成
isdigit()#是否由数字组成,不包括小数点
isnumeric()#是否是数字
s = “壹仟叁佰伍”
print(s.isnumeric()) #输出为真
计算字符串的长度
len()
s1 = “我是你的眼,我也是”
ret = len(s1)
print(ret)
遍历:
方法1:s = “晓雪老师,你好漂亮”
count = 0
while count < len(s):
print(s[count])
count = count + 1
方法2:
for i in s:#把s中的每一个字符交给前面的i循环
print(i)