1,编码:对现在通用文字编码成计算机文字,便于储存,传递,交流.
- 最早的计算机编码是ACSII美国人创建的,包含英文字母,数字,以及特殊符号.总共是128个码位:2**7,因为计算机的底层只能识别:"0","1",因此在128的码位上又增加了一位"0"这样就成了256位:2**8(只不过第一位都是"0").即:1个字节(byte),8位
- 随着计算机的普及,中国开始在ACSII的基础上增加了一个字节:2**8 x 2**8即026位,(GBK)但也只能表达6万5千多个字,然而汉子有9万多 ,还是没有表达完全,同GBK只在中国行之有效,在和其他国家交流就不能使用,因此又出现了万国码
- unicode 万国码 32位 4个字节 能表达42亿之多的字符,因此过于庞大.浪费空间,提出了新的编码utf-8
- utf-8:
- 英文 1个字节 8位
- 欧洲其他文字(非英文) 2个字节 16位
- 中国 3个字节 24位
- utf-8:
- #.计算机的单位换算"
8bit = 1byte 1024byte = 1kb 1024kb = 1mb 1024mb = 1Gb 1024Gb = 1Tb 1024Tb = 1pb
- 补充while语句:
# while循环体: # 条件 # else 循环体在不满足条件时走else # 列如: index = 1 while index < 11: if index == 8: break # 整个程序从这开始停止运行 else: print(index) # 当index<8的时候,程序一直走这里 index += 1
pass
- 此时运行的结果是:1,2,3,4,5,6,7,如果是通过break退出的程序,则break后的程序将不再执行,程序完全退出,
- pass不带标任何内容.这里是展位,显示代码的完整性.
2,数据的基本类型:
- int数字型,主要来进行数学运算
- str字符串型,可以板寸少量数据并进行相应的操作
- bool判断真假:Ture,False
- lst列表型,储存大量数据,用[ ]表示
- tu元组型,元组内的元素不可改变,用( )表示
- dic字典型,以键值对的形式保存数据
- set集合型,也可以保存大量数据,但是元组不能重复(就是去电value的dict)
- 1>int数字型可进行的操作是计算数字占用二进制码的长度.用 .bit_len( ),括号不用添加任何东西.
- 即:a = 3 # 1 +1 =10 +1 =11.........................把数字3赋值给a
print(a.bit_len())......................................此时打印的内容是:2
- 2>str字符串型:把字符用" ",' ',''' '''引起来的内容称为字符串(字符串成串)
- 2.2.1>字符串的索引和切片
- 索引就是下表,是对字符串位置的标记,索引是从从0开始计数
- 列如:s = "python最牛b"
- 2.2.1>字符串的索引和切片
s = "python最牛b" print(s[0]) # p print(s[8]) # b print(s[-1]) # b
print([-3]) # 最
注意:###-1是表示从右向左数数第一个,这时倒着数是从-1,# -3是表示从右向左第3个数
- 切片:我们可以用下角标来截取部分字符串的内容(先索引出字符串,再截取部分字符串)
- 语法是:str[start,end]
- 特点:过顾头不顾尾,从start开始到end结束,但取不到end.
s = "python最牛b" print(s[0:3]) # pyt表示从左向右取0,1,2所对应的元素 print(s[0:3:2]) # pt表示从左到右索引是从0到2,每隔2个元素取一个元素 print(s[-7:-10:-2]) # tp表示从右向左,每2个元素取一个元素,从右向左的索引是从-1开始的(-1,-2,-3...)
-
- 2.2.2字符串的基本操作....#.....字符串中的元素是不可变的,但是子元素是可以改变的.
- 1>字符串中子元素的大小写转换......格式是: .capitalize()................表示字符串第一个字母大写,所以括号里不用添加任何东西.
- 2.2.2字符串的基本操作....#.....字符串中的元素是不可变的,但是子元素是可以改变的.
s = "alex,wusir,太白,日天" s1 = s.capitalize() print(s1) # Alex,wusir,太白,日天
-
-
- 2> .upper()表示将全部字母转换成大写.因此括号里不用加任何东西
-
s = "alex,wusir,太白,日天" s1 = s.upper() # 表示将字符串s中的字母全部大写 print(s1) # ALEX,WUSIR,太白,日天 s2 = s.lower() # 表示将字符串s中的所有字母小写 print(s2) # alex,wusir,太白,日天 s3 = s.title() # 表示将字符串中被","(特殊符号)隔开的字母的首字母大写 print(s3) # Alex,Wusir,太白,日天
-
-
- 3> .居中 .centr(数字(表示总共有几位)."*")
-
s = "帅爆太阳的男人" s3 = s.center(11, "*") # 表示总共有10位,身下的用*补齐 print(s3) # **帅爆太阳的男人**
-
-
- 4>去空格 .strip()表示去电字符串左右两端的空格
-
s = " alex,wusir,太白,日天" s4 = s.strip() # 在去空格的时候,不用添加任何东西 print(s4) # alex,wusir,太白,日天 s5 = s.strip("日天") # 表示是去掉某一特定的元素 print(s5) # alex,wusir,太白,
-
-
- 5>字符串的替换 .replace("a","b")表示字符串中a用b替换.
-
s = "alex,wusir,太白,日天,answer" s6 = s.replace("alex", "大保健") # 把alex替换成大保健 s7 = s.replace("a","b",2) # 表示把a换成b,并从左向右替换2个 print(s6) # 大保健,wusir,太白,日天,answer print(s7) # blex,wusir,太白,日天,bnswer
-
-
- 6>字符串的切割 .split(" ")将字符串中的元素切掉
-
s8 = """ 诗人 学者 感叹号 渣渣 """ # 空的字符用\n去切割 print(s8.split("\n")) # ['', ' 诗人', ' 学者', ' 感叹号', ' 渣渣', '']
s = "日天,alex,wusir,太白,日天"
s9 = s.split("日天")
print(s9) # ['', ',alex,wusir,太白,', '']去掉两端变成了空的字符
-
-
- 7>字符串的查找 .find(" ") .startswich(" ") .endswith(" ") .count(" ") .index(" ")
-
s = "alex,wusir,太白,日天,answer" s10 = s.startswith("alex") # 判断是否以alex开头 print(s10) # True s11 = s.endswith("answer") # 判断是否以answer结尾 print(s11) # True s12 = s.find("w") # 查找"w"在字符串中的位置,如果字符串中没有要查找的元素则输出-1 print(s12) # 5, 注意","也算一个字符(坑) s13 = s.count("日") # 计数日在字符串中出现了几次 print(s13) # 1 s14 = s.index("a") # 查找出a的索引,在这里一次只能查找一个,当有多个时,查找的是从左到右第一个
-
- 2.2.3字符串的格式化输出
s14 = "我叫{name}, 今年年{age}岁了了, 我喜欢{singer}".format(name="周杰伦", singer="周润 发", age=28) # 指定关键字 print(s1) # 此时打印结果是:"我叫周杰伦, 今年年28岁了, 我喜欢周润发"
3 计算字符串的长度:格式len("字符串")
s = "我是你的眼, 我也是a" s15 = len(s) # len是内置函数不用"." print(s15) # 此时打印内容是:10,次字符串长度为10(占10个位置)
4布尔值(bool)
- 取值只有True或者False值没有操作
- 数据类型转换谁就把谁括起来
- 空是False,非空是True