由于计算机只能够识别1跟0两种信号,那么就需要我们将信息转换成计算机所能够理解的信号,
因此编码的本质就是人所能够理解的字符与计算机所能够理解的二进制之间的对应关系,也就是类似于密码本一样的东西。
A 0000 0001
B 0000 0010
C 0000 0011 #仅代表示例 不代表真的对应关系
不同的编码模式对于同一个字符可能会存在不同的对应关系
www.lookuptables.com
最早期一种编码模式,采用一个字节来表示对应关系,由于一个字节等于8个bit的长度,共有256种对应方式
因此只能够对一些指令,常见的符号,以及数字和英文字符提供码位
A--65--01000001
GB2312,中国指定的编码标准,为中国的汉字提供了二进制的码位。
GBK编码就是在GB2312的基础上发展起来的,也为日韩相关的文字提供了二进制的码位
万国码,为全球的每一个文字都提供了一个二进制的码位
在进行存储和数据传输时,会浪费大量的空间
假设我们举一个非常极端的例子,假设使用ASCII编码存储一个G的A,此时对应的使用unicode编码要占用4个G
A--65--01000001 ASCII
A--01000001 01000001 01000001 01000001 unicode
在内存中处理数据时,一般都会采用unicode编码
utf-8编码也可以为全球的每一个文字都提供了一个二进制的码位,但在unicode的基础上进行了压缩
使用一个字节来表示对应关系
使用两个字节来表示对应关系
使用三个字节来表示对应关系
使用四个字节来表示对应关系
因此UTF-8的编码适合进行数据的存储以及数据的传输
马--65--01000001 01000001 GBK
01000001 01000001 UTF-8
找不到就会出现乱码
目前的文件默认采用的都是utf-8的编码,如果想要改变默认的编码模式,可以在python文件的头部加上一段代码
# 默认的编码模式改为GBK
# -*- coding:GBK -*-
即便能够这样改变编码模式,但是建议还是采用UTF-8
十进制 int
二进制 bin
八进制 oct
十六进制 hex
1.将十进制转成二进制
v1 = 10
print(bin(v1))
0b1010
2.将十进制转成八进制
v1 = 10
print(oct(v1))
0o12
3.将十进制转成十六进制
print(hex(v1))
0xa
4.将2进制转成十进制
v1 = '0b1010'
print(int(v1,base=2))
5.将8进制转成十进制
v1 = '0o12'
print(int(v1,base=8))
6.将十六进制转成十进制
v1 = '0xa'
print(int(v1,base=16))
7.将二进制转成十六进制
v1 = '0b1010'
print(hex(int(v1,base=2)))
0xa
v1 = 0b1010
print(hex(v1))
函数就是一个功能的集合
输出一段内容,显示给用户
print("123",end=",")
print("456")
print("123", "456",sep=",")
name = input("请输入用户名:")
print(name)
name = input("请输入用户名:")
print(int(name)+2)
变量就是一种容器,指向某一块内存地址
假设现在我们将整个内存当成一个非常大的仓库,取件码 货物 货物实际存放的位置
完整的变量:变量名,变量值,内存地址
变量必须先定义,再调用
定义:
name = "zhangsan"
age = 18
gender = "male"
a_list = [1, 2, 3]
调用:
print(name)
info = """
name:{}
""".format(name)
print(info)
$ = 123 #错误的变量名
name_1 = 123 #正确的变量名
1name = 123 #错误的变量名
name1 = 123 #正确的变量名
print = 123 #错误的示范,语法上不会出错,但是会影响原有关键字的功能
del print
break continue pass... //不要用
PEP8规范:业界定义的一种规范,理论上来讲不需要强制遵守,但是建议采用这种格式
在pycharm当中可以自动的检查代码是否符合PEP8的规范,使用快捷键Ctrl+Alt+L来进行调整
xuehao = "123456" #错误的命名规范
student_id = "123456"
StudentId = "123456"
name = "张三"
name = "张三"
name = "李四" #思考地址池变化没
name = "张三"
new_name = name #思考地址池变化没
name = "张三"
new_name = name
name = "李四"
new_name = name #思考地址池变化没
num = 18
age = str(num)
name = "张三"
del name
在编写代码的时候,我们需要对某些内容进行注释,解释器会忽略注释后的代码,不会执行
# print(123)
# name = "张三" # new_name = name # name = "李四" # new_name = name # print(new_name,name) 全部选中 Ctrl+/