一.编码
1.最早的计算机编码是ASCII,ASCII 是8位,1个字节
2.GBK国标码 16位 2个字节
3.万国码 unicode 32位 4个字节
utf-2: 16位 2个字节
utf-8:可变长度的unicode 英文是 8 bit 1个字节
欧洲文字 16 bit 2个字节
中文是 24bit 3个字节
常见的单位换算:
8 bit = 1 byte
1024 byte = 1 kb
1024 kb = 1mb
1024 mb = 1 gb
1024 gb = 1 tb
二.基本数据类型的概述
常用的类型主要有:
int 整数 str 字符串 bool 布尔 list 列表 tuple 元组 dict 字典 set 集合(存储不重复的内容) 保存大量内容
1.整数int 主要是求二进制长度
例如:
a = 3 # 1+1=10+1=11
print(a.bit_length())
2.布尔值bool
例如:
s = "128"
i = int(s) ==><class'int'>
print(type(i))
例如:
i = 128
ss = str(i) ==><class'str'> 综上得出:你想转换成什么就用什么把目标括起来
print(type(ss))
例如:
b = False
c = int (b) ==> 0 bool类型转换成数字 True:1 False:0
print(c)
例如: int转换成bool 0=False 非0=True
a = 0
b = bool (a) ==>False
print(b)
例如:
while 1: ==>True # 1的效率比true稍微高一点点
print("我很漂亮")
例如:
s = " "
if s:
print("哈哈") ==> 哈哈 空字符串表示False 非空字符串表示True
else:
print("呵呵")
例如:
m= None None表示空 真空
if m:
print("a") ==> b
else:
print("b")
3.字符串str 把字符连成串,在Python中用' '," ",''' '''把连接起来
①索引:索引就是下标, 切记:下标就是从0开始 (顺序是从左到右)
如果是-1时 (顺序是从右到左)
例如:
s = "123456"
print(s[4]) ==>5 如果索引超出范围则会出现 string index out of range
通过索引获取到的内容还是一个字符串
②切片:切片可以对字符串进行截取
语法:s[起始位置:结束位置] 特点是:顾头不顾尾
例如:
s = "我和你在一起"
s1=s[3:5] ==>在一
print(s1)
例如;
s = "我和你在一起"
s1=s[1:3]+s[4:5] ==>和你一
print(s1)
例如:
s = "我和你在一起"
s1 = s[:6] ==>我和你在一起 从头开始
print(s1)
例如:
s = "我和你在一起"
s1 = s[2:] ==>你在一起 默认到结束
print(s1)
③步长 语法:s[起始位置 : 结束位置 : 步长]
例如:
s = "我是梅西,我很慌"
s1 = s [1:5:2] ==>是西 从1开始,到5结束,每2个取1个
print(s1)
例如:
s = "我是梅西,我很慌"
s1 = s [-1:-5:-2] ==>慌我
print(s1)
例如:
s = "我是梅西,我很慌"
s1 = [6:2:-3] ==>很西
print(s1)
三.字符串的常用方法 字符串是不可变的对象
①大小写转来转去
例如:
s ="alex and wusir"
s1=s.capitalize() (首字母大写)
print(s) ==>alex and wusir
print(s1) ==>Alex and wusir
例如:
s = "alex is A Good Man" s = "alex is A Good Man"
print(s.upper()) (全部大写) ==> ALEX IS A GOOD MAN ==> s1 = s.upper()
lower() (全部小写) print(s1)
casefold() 全部小写,对所有字母都有效
例如:
while True:
content = input("请输入:")
if content.upper() == 'Q': ==> Q
print("你喷了:"content.upper())
break
②切来切去
1.居中 center
例如:
s = "麻花藤"
print(s.center(9)) ==>***麻花藤*** 补齐
print(s.conter(9,"*"))
2.去空格 strip
例如:
username = input ("用户名:").strip()
password = input ("密码:").strip()
if username == 'alex' and password == '123' ==>如果输入过程中不小心输入空格,就可以去掉空格,密码账户还是输入正确
print("成功")
else:
print("失败")
例如:
s = "麻花藤马虎腾马虎腾马布里麻都不理"
print(s.strip(麻都不理)) ==> 去掉麻花藤马虎腾马虎腾马布里 #去掉麻都不理
strip ==> 只去掉左右两端的,中间的不管
lstrip 去掉左边的 rstrip 去掉右边的
3.字符串的转换 replace
例如:
s = "alex wusir alex taibai"
s.replace("alex","小雪") ==>alex wusir alex taibai
print(s)
例如:
s = "alex wusir alex taibai"
s1=s.replace("alex","小雪") ==>小雪 wusir alex taibai
print(s1)
4.字符串切割 split
例如:
s = "alex_wusir_taibai_bubai"
lst=s.split("_") ==>['alex','wusir','taibai','bubai'] 此处刀是_,切完的东西后是列表,列表里装的是字符串
print(lst)
如果切割左右两端,左右会出来两个空字符 ==>'',''
③格式化输出 format 格式化
例如:
1.s = "我叫{},我今年{}岁了,我喜欢{}".format("xxx",22,"吃") ==>我叫xxx,我今年22岁了,我喜欢吃
2.s = "我叫{2},我今年{0}岁了,我喜欢{2}".format(22"xxx","吃") ==>我叫xxx,我今年22岁了,我喜欢吃
3.s = "我叫{name},我今年{age}岁了,我喜欢{gansha}".format(name="xxx",gansha="吃",age=22) ==>我叫xxx,我今年22岁了,我喜欢吃
4.s ="我叫%s,我今年%s岁了,我喜欢%s" % ("xxx",22,"吃") ==>我叫xxx,我今年22岁了,我喜欢吃
④查找
例如:
1.print(s.startswith("张舒文")) ==>True #判断字符串是否以.......开头
print(s.endswith("张舒文")) ==>False #判断字符串是否以.......结尾
2.s = "我爱我"
print(s.count("我")) ==>2次 计算我在字符串中出现的次数
3.print(s.find("爱")) ==>1 计算我字符串在原字符串中出现的位置 如果没有出现返回 就等于-1 (没有)
4.print(s.index(" ")) ==> 报错 #index中的内容如果不存在,直接报错
⑤条件判断
例如:
1.s = "123"
print(s.isdigit()) ==>True 是否由数字组成
2.s = "123"
print(s.iisalpha()) ==>False 是否由字母组成
3.s = "123"
print(s.isalnum()) ==>False 是否由字母和数字组成
4.s = "一二三"
print(s.isnumeric()) ==>True 可以识别数字(中文大写数字也可以)
例如:
1.s = "你今天怎么样"
i = len(s) ==>6 输出字符串长度 #input() print() len() python的内置函数
print(i)
2.s = "你今天怎么样"
i = s.__len__() ==>6 字符串长度 len()函数执行的时候,实际执行的就是它
print(i)
例如:把字符串从头到尾进行遍历
s = "小学老师,你好漂亮"
print(s[0])
print(s[1])
print(s[2]) ==>分行的"小学老师,你好漂亮" 长度是9 索引到8
.......
print(s[8])
例如:
[1]使用while循环来进行遍历
s = "小学老师,你好漂亮"
count = 0
while count <=8: 8==>len(s) 这个时候 =号 去掉
print(s[count]) ===>分行的小学老师,你好漂亮
count = count + 1
[2]用for循环来遍历字符串 for的优势:简单 劣势:没有索引
s = "小学老师,你好漂亮"
for c in s: ==>分行的小学老师,你好漂亮 把s中的每一个字符交给前面的c循环
print(c)
重点:for语法:
for 变量 in 可迭代对象
循环体
break (存在break,else不执行)
else:
全部循环后,才执行else