第三天 python的初始编码,基本数据类型(int,str,bool),字符串的操作
初始编码
电脑的传输, 还有储存的实际都是01010101010
美国 :ascii码 只能表示256可能,太少
为了解决这个全球化的文字问题,创建了万国码,unicode
中文有9万多字,16位表示一个字符不够用,32位表示一个字符
A 0100 0001 0100 0001 0100 0001 0100 0001
ascii 码 : 1个字节表示所有的英文,特殊字符,数字等等
unicode : 2个字节,16位表示一个中文,不够用。Unicode一个中文要用四个字节表示
Unicode 升级 utf-8(一个中文要用3个字节去表示) utf-16 utf- 32
00000001 8位 == 1个字节byte
1byte 1024byte == 1kb
1kb 1024kb == 1MB
1MB 1024MB == 1GB
1GB 1GB == 1YB
utf-8 一个字符最少用8位去表示:
英文用8位 一个字节表示
欧洲文字用16位去表示 两个字节表示
中文用24 位去表示 三个字节表示
utf-16 一个字符最少用16位去表示
gbk国内使用,一个中文用两个字节 (中国国产,只能用于中文和ascii码中的文字)
gbk和utf-8只能通过unicode进行互换。
1.Python的基本数据类型(int,bool,str)
- Int ==> 整数 主要用来进行数学运算
- str ==> 字符串 可以保存少量的数据并进行相应的操作
- bool è 布尔值 判断真假 True ,False
- list è 列表 储存大量数据,用[]表示 z ["大阳哥", "东阳哥", ]
- tuple è 元祖 不可以发生改变,用() 表示 元组. 只读列表, 不能改
- dict è 字典 保存键值对,一样可保存大量数
- set 集合 保存大量数据,不可以重复,其实就是不保存value的dict
2.整数(int)
在python3中所有的整数都是int类型. 但在python2中如果数据量比较大. 会使用long类型. 在python3中不存在long类型
bit_length() 计算整数在内存中占用的二进制码的长度
3.布尔值(bool)
bool 类型转换 :
1. 你想转换成什么. 就用什么把目标包裹起来
2. 带空的是False, 不带空的True
取值只有True, False. bool值没有操作.
转换问题:
str => int int(str)
int => str str(int)
int => bool bool(int). 0是False 非0是True
bool=>int int(bool) True是1, False是0
str => bool bool(str) 空字符串是False, 不空是True
bool => str str(bool) 把bool值转换成相应的"值"
4.字符串(str) (重点)
在python中用', ", ''', """引起来的内容被称为字符串.
4.1切片和索引
1. 索引:
索引就是下标. 切记, 下标从0开始。
起始位置下标是0(从左到右),-1(从右到左)
4.2.切片:
切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串
原则:顾头不顾尾
4.2.1按着顺序切(从左到右 或 从右到左) 语法:str[start:end]
2.2跳着截取
步长: 如果是整数, 则从左往右取. 如果是负数. 则从右往左取. 默认是1
切片语法:
Str[start:end:step] Start:起始位置 end:结束位置 step:步长
字符串的操做
切记, 字符串是不可变的对象, 所以任何操作对原字符串是不会有任何影响的
子浮串大小写转换:
capitalize 使字符串的首字母大写,其他的都是小写
upper 使字符串全部变成大写 ( 重点字符)
lower 使字符串全部变成小写
swapcase 使字符串大小写翻转,即大写变成小写,小写变成大写(大小写互换)
title 每个特殊字符隔开的单词首字母大写,中文也算特殊字符+(可以是空格,也可以是特殊符号,数字等)
casefold 转换成⼩写, 和lower的区别: lower()对某些字符支持不够好. casefold()对所有字母都有效. 比如东欧的一些字母
去除字符串中的空格:
strip 默认删除前后的空格 。也可以删除前后的特殊字符, 但在字符串中的特殊字符不能够被删除
lstrip 去掉左边空格
rtsrip 去掉右边空格
案例如下:
Strip :可以指定去掉的元素
(重点字符)字符串替换
replace (替换)
(重点字符)字符串切割
Spilt(切割)
如果切割符在左右两端. 那么⼀定会出现空字符串.深坑请留留意
3.格式化输出
.format(格式化输出)
(重点字符)查找
查找
startswith 判断这个字符串是否以……开头 返回值为bool值
endswith 判断这个字符串是否以……结尾, 返回值为bool值
count 查找”xxx”出现的次数
find() 和index()都是寻找字符串中的元素是否存在
区别:
find 若找到元素则返回元素的索引(下标), 如果找不到则返回-1
Index 若找到元素则返回元素的索引(下标), 如果找不到则会报错
条件判断
isalmun 判断是否由字母和数字组成
isalpha 判断是否全部是字母组成
isdigit 判断字符串是否全部数字组成
islower 判断字符串中是否全都是小写字母
isupper 判断字符串中是否全都是大写字母
isspace 判断字符串有没有空格
istitle 判断字符串是否为标题
isalpha 判断字符串有没有特殊字符
计算字符串的长度
len() 计算字符串的长度
注意: len()是python的内置函数. 所以访问方式也不⼀样. 你就记着len()和print()⼀样就行了
迭代
我们可以使用for循环来便利(获取)字符串中的每一个字符
语法:
for 变量
in 可迭代对象:(把可迭代对象中的每一个字符交给前面的变量循环)
循环体
else (for循环后面可以加else)
xxxxx
可迭代对象: 可以一个一个往外的取值的对象