一.编码

1.ACSII                        0000 0001           8位       一个字节

2. uncoide                    0000 0001   0000 0001   0000 0001  0000 0001         32位       四个字节

3.utf-8             英文      0000 0001           8位       一个字节

       中文      0000 0001  0000 0001  0000 0001         24位        三个字节

4.gbk              英文     0000 0001            8位       一个字节

中文     0000 0001  0000 0001      16位        两个字节

**(文件存储,传输不能使用uncoide编码(太占空间))

 (可以使用 ASCII,utf-8,gbk等等)

5.python3中

    str类型:使用 uncoide编码

byte类型:使用其他类型编码

  str类型与byte类型的区别:(当字符是英文时)

a='alex'
b=b'alex'
print(a,type(a))
print(b,type(b)) #alex <class 'str'>
#b'alex' <class 'bytes'>

  当字符时中文时将str类型转换为其他类型编码

b='中国'
b2=b.encode('utf-8')
print(b2) #b'\xe4\xb8\xad\xe5\x9b\xbd'

二. 小数据池

  数字(-5--- 256)与字符串(不能有特殊字符)

 其他像列表,元组,字典都不行

a='alex'
b='alex'
print(a is b) #True a=12
b=12
print(a is b) #True
a=[1,2]
b=[1,2]
print(a is b) #False
#a 和 b 的内存地址不一样

但是任何类型利用“=”赋值时如下:

a=[1,2,3]
b=a
print(a is b) #True a={'a':1}
b=a
print(a is b) #True

三.运算符(面试题)

#  x  or  y  x为真时,返回x
# x and y x为真时,返回y
print( 5 > 4 or 1 ) #Ture
print( 0 or 4 ) #
print( 0 and 4 ) #
print( 5>4 and 1 ) #
print( 5<4 and 1 ) #False

四 .字符串常用方法。

#数字符串中的元素出现的个数。
# ret3 = a1.count("a",0,4) # 可切片
# print(ret3) a4 = "dkfjdkfasf54"
#startswith 判断是否以...开头
#endswith 判断是否以...结尾
# ret4 = a4.endswith('jdk',3,6) # 顾头不顾腚
# print(ret4) # 返回的是布尔值
# ret5 = a4.startswith("kfj",1,4)
# print(ret5) #split 以什么分割,最终形成一个列表此列表不含有这个分割的元素。
# ret9 = 'title,Tilte,atre,'.split('t')
# print(ret9)
# ret91 = 'title,Tilte,atre,'.rsplit('t',1)
# print(ret91) #format的三种玩法 格式化输出
res='{} {} {}'.format('egon',18,'male')
res='{1} {0} {1}'.format('egon',18,'male')
res='{name} {age} {sex}'.format(sex='male',name='egon',age=18) #strip
name='*barry**'
print(name.strip('*'))
print(name.lstrip('*'))
print(name.rstrip('*')) #replace
name='alex say :i have one tesla,my name is alex'
print(name.replace('alex','SB',1)) #####is系列
name='taibai123' print(name.isspace()) #字符串由空客
print(name.isdigit()) #字符串只能有数字组成
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成
print(name.isdecimal()) #字符串只由十进制组成 #############下面这些方法在数据类型补充时会讲到,现在不讲####################
#寻找字符串中的元素是否存在
# ret6 = a4.find("fjdk",1,6)
# print(ret6) # 返回的找到的元素的索引,如果找不到返回-1 # ret61 = a4.index("fjdk",4,6)
# print(ret61) # 返回的找到的元素的索引,找不到报错。 #captalize,swapcase,title
print(name.capitalize()) #首字母大写
print(name.swapcase()) #大小写翻转
msg='taibai say hi'
print(msg.title()) #每个单词的首字母大写 # 内同居中,总长度,空白处填充
ret2 = a1.center(20,"*")
print(ret2)

四.文件操作

  rb:能打开所有文件(非文字文件 。例如:图片,视频。。。)

  w:只写

f=open('xiaomeng','r',encoding='utf-8')   #相对地址
#f=open('D://xiaomeng','r',encoding='utf-8') #绝对地址
content=f.read()
print(content)
f.close()

  r :只读(会覆盖原来文本中的文字)

f=open('xiaomeng','w',encoding='utf-8')
f.write('大帅逼')
f.close()

  a:追加

f=open('xiaomeng','a',encoding='utf-8')
f.write('大傻逼')
f.close()

  (r+     w+    a+ )都不常用

  tell():告诉光标位置

seek():调光标(从哪里开始读)

f=open('xiaomeng','a+',encoding='utf-8')
a=f.seek(9) #一个中文占3个字节,一个英文占1个字节 (9是字节数)
content=f.read(a)
print(content)
f.close()

  os.remove(文件名):删除文件

os.rename(新文件名,旧文件名)重命名

05-11 14:03