| Python代码运行方式  python3 ~/PycharmProjects/day03/6.test.py
   python3
 进制v1 = bin(25) 
print(v1) 
v2 = oct(23) 
print(v2) 
v3 = hex(28) 
print(v3) 
 python相关编码
"""
@Author: yinwu
@Time: 2021年07月27日 16:33
@FileName: 编码转换.py
"""
name = "腾讯科技"
data = name.encode("utf-8")
file_object = open("log.txt",mode="wb")
file_object.write(data)
file_object.close()
 编码汇总 计算机上所有的东西最终都会转换成为二进制再去运行。 ascii编码、unicode字符集、utf-8编码本质上都是字符与二进制的关系。 ascii,字符和二进制的对照表。unicode,字符和二进制(码位)的对照表。utf-8,对unicode字符集的码位进行压缩处理,间接也维护了字符和二进制的对照表。
 ucs2和ucs4指的是使用多少个字节来表示unicode字符集的码位。 目前最广泛的编码为:utf-8,他可以表示所有的字符且存储或网络传输也不会浪费资源(对码位进行压缩了)。 二进制、八进制、十进制、十六进制其实就是进位的时机不同。 基于Python实现二进制、八进制、十进制、十六进制之间的转换。 一个字节8位 计算机中常见单位b/B/KB/M/G的关系。 汉字,用gbk编码需要用2个字节;用utf-8编码需要用3个字节。 基于Python实现将字符串转换为字节(utf-8编码)
 
"""
@Author: yinwu
@Time: 2021年07月27日 16:42
@FileName: 编码练习.py
"""
name = "腾讯"
print(name) 
data = name.encode("utf-8")
print(data) 
old = data.decode("utf-8")
print(old)  
 基于Python实现将字符串转换为字节(gbk编码)
 
"""
@Author: yinwu
@Time: 2021年07月27日 16:42
@FileName: 编码练习.py
"""
name = "腾讯"
print(name) 
data = name.encode("gbk")
print(data) 
old = data.decode("gbk")
print(old)  
 数据类型int,整数类型(整型)bool,布尔类型str,字符串类型list,列表类型tuple,元组类型dict,字典类型set,集合类型float,浮点类型(浮点型)
 整型v1 = 5
print(bin(v1))  
result1 = v1.bit_length()
print(result1)  
v2 = 10
print(bin(10))  
result2 = v2.bit_length()
print(result2)  
在项目开发中经常会出现一些 "字符串" 和 布尔值 转换为 整型的情况
n1 = int(True)  
n2 = int(False) 
v1 = int("186",base=10) 
v2 = int("0b1001",base=2) 
v3 = int("0o144",base=8)  
v4 = int("0x59",base=16)  
v1 = int(8.7) 
 布尔类型在以后的项目开发中,会经常使用其他类型转换为布尔值的情景,此处只要记住一个规律即可
【整数0、空字符串、空列表、空元组、空字典转换为布尔值时均为False】
【其他均为True】
如果在 `if` 、`while` 条件后面写一个值当做条件时,他会默认转换为布尔类型,然后再做条件判断
if 0:
	print("太六了")
else:
  print(999)	
 字符串类型1、判断字符串是否以 XX 开头?得到一个布尔值
v1 = "腾讯科技,优图实验室"
result = v1.startswith("腾讯科")
print(result)	
v1 = input("请输入住址:")
if v1.startswith("北京市"):
	print("北京人口")
else:
	print("非北京人口")
2、判断字符串是否以 XX 结尾?得到一个布尔值
v1 = "腾讯科技,优图实验室"
result = v1.endswith("实验室")
print(result)   
address = input("请输入地址:")
if address.endswith('村'):
	print("农业户口")
else:
	print("非农户口")
3、判断字符串是否为十进制数?得到一个布尔值
v1 = "991540698"
result = v1.isdecimal()
print(result)   
v1 = input("请输入第一个值:")
v2 = input("请输入第二个值:")
if v1.isdecimal() and v2.isdecimal():
    data = int(v1) + int(v2)
    print(data)
else:
    print("请正确输入数字!")
4、去除字符串两边的 空格、换行符、制表符,得到一个新字符串
msg = " H e ll o啊,树哥 "
data = msg.strip()
print(data) 
msg = " H e ll o啊,树哥 "
data = msg.lstrip()
print(data) 
msg = " H e ll o啊,树哥 "
data = msg.rstrip()
print(data) 
补充:去除 空格、换行符、制表符
code = input("请输入4位验证码:") 
data = code.strip()
if data == "FB87":
	print('验证码正确')
else:
	print("验证码错误")
5、字符串变大写,得到一个新字符串
msg = "my name is oliver queen"
data = msg.upper()
print(msg) 
print(data) 
code = input("请输入4位验证码:")  
value = code.upper()  
data = value.strip()  
if data == "FB88":
    print('验证码正确')
else:
    print("验证码错误")
"""
code的值"fb88 "
value的值"FB88 "
data的值"FB88"
"""
6、字符串内容替换,得到一个新的字符串
video_file_name = "腾讯科技.mp4"
new_file_name = video_file_name.replace("mp4","avi") 
final_file_name = new_file_name.replace("科技","创新") 
print(video_file_name)
print(new_file_name)
print(final_file_name)
char_list = ["云原生", "大数据", "云计算", "人工智能"]
content = input("请输入评论信息:")
for item in char_list:
  content = content.replace(item,"大圣")
print(content)
7、字符串切割,得到一个列表
data = "腾讯科技|root|991540698@qq.com"
result = data.split('|')
print(data)
print(result)
info = "腾讯,root"
user_list = info.split(',')
user = input("请输入用户名:")
pwd = input("请输入密码:")
if user == user_list[0] and pwd == user_list[1]:
  print("系统登录成功")
else:
  print("用户名或密码错误")
file_path = "xxx/xxxx/xx.xx/xxx.mp4"
data_list = file_path.rsplit(".",1) 
data_list[0]
data_list[1]
8、字符串转换为字节类型
data = "腾讯"  
v1 = data.encode("utf-8")  
v2 = data.encode("gbk")  
print(v1)  
print(v2)  
s1 = v1.decode("utf-8") 
s2 = v2.decode("gbk") 
print(s1)
print(s2)
9、将字符串内容居中、居左、居右展示
v1 = "王老汉"
data = v1.center(21, "-")
print(data) 
data = v1.ljust(21, "-")
print(data) 
data = v1.rjust(21, "-")
print(data) 
10、帮助你填充0
data = "101" 
v1 = data.zfill(8)
print(v1) 
 字符串实践练习
"""
data = input("请输入内容:")
if data.startswith("al"):
    print("是的")
else:
    print("不是的")
"""
"""
data = input("请输入内容:")
if data.endswith("al"):
    print("是的")
else:
    print("不是的")
"""
"""
name = "alex"
result = name.replace("l",'p')
print(result)
"""
"""
data = input("请输入内容:")
if data.isdecimal():
    data = int(data)
    print(data)
else:
    print("请输入数字")
"""
"""
data = input("请输入内容:")
num_list = data.split("+", 1)  # ["5","9"]
if num_list[0].isdecimal() and num_list[1].isdecimal():
    print("都是整数")
else:
    print("不全是整数")
"""
"""
data = input("请输入内容:")
num_list = data.split("+", 1)  # ["5","9"]
if num_list[0].isdecimal() and num_list[1].isdecimal():
    v1 = int(num_list[0])
    v2 = int(num_list[1])
    result = v1 + v2
    print(result)
else:
    print("用户输入有问题")
"""
"""
data = input("请输入内容:")
num_list = data.split("+", 1)  # ["5","9"]
v1 = int(num_list[0].strip())  # "5"  "5 "  " 5 "
v2 = int(num_list[1].strip())
result = v1 + v2
print(result)
"""
"""
import random
code = random.randrange(1000, 9999)  # 生成动态验证码,整型
code = str(code)  # 字符串类型
msg = "欢迎登录Python系统,您的验证码为:{},手机号为:{}".format(code, "15131266666")
phone = input("请输入手机号:")
data = input("请输入验证码:")  # 字符串类型
if code.upper() == data.upper() and phone == "15131266666":
    print("登录成功")
else:
    print("登录失败")
"""
"""
data_list = []
while True:
    hobby = input("请输入你的爱好: (Q/q退出):")
    if hobby.upper() == 'Q':
        break
    data_list.append(hobby)
result = "、".join(data_list)
# print("你的爱好为:"+result)
print("你的爱好为:%s" %result)
"""
 |