64 32 16 8 4 2 1
1 1 0 0 1 0 0 -> 100
256 128 64 32 16 8 4 2 1
1 0 1 0 1 0 1 0 0
bin(342) = 101010100
文字 -> 十进制 -> 二进制
128
64
32
16
8
4
2
1
# 51
0
0
1
1
0
0
1
1
A 65
0
1
0
0
0
0
0
1
l 108
0
1
1
0
1
1
0
0
e 101
0
1
1
0
0
1
0
1
x 120
0
1
1
1
1
0
0
0
#Alex 110011 1000001 1101100 1100101 1111000
ASCII表
每一位0或者1所占得空间单位为bit(比特),这是计算机中最小的表示单位。
所有的二进制都转换城8位的,不足的用0来替换。
8bit = 1bytes字节(缩写为B)
1KB = 1024B
字符编码
GB2312,国标码->GBK(字更多)
Unicode编码:国际标准字符集。将世界各种语言的每个字符定义一个唯一的编码,以满足跨语言、跨平台的文本信息转换。Unicode(统一码、万国码)规定所有的字符和符号最少由16位来表示(2个字节),即:2**16 = 65536。
UTF-8,对unicode编码的压缩和优化,不再使用最少使用两个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲字符用2个字节保存,东亚的字符用3个字节保存。。。
Windows系统中文版默认编码是GBK,Mac OS/Linux 系统默认编码是UTF-8
如下两行分别放在第一行都可以作为声明
#! -*- coding: utf-8 -*-
#!encoding:utf-8
浮点数:属于有理数中某特定子集的数的数字表示,再计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(尾数)乘以某个基数的整数次幂得到(10**4,10为基数),这种表示方法类似于基数为10的科学记数法。(有限小数或无限循环小数)
1399 = 1.399e3
复数:(5+4j)
计算高精度浮点数的方法:
#借助decimal模块的“getcontext”和“Decimal”方法
a = 3.141592653513651054608317828332
a
show: 3.141592653513651
from decimal import *
getcontext()
show: Context(prec=50, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capital…)
getcontext().prec = 50
a = Decimal(1)/Decimal(3)
a
show: Decimal(‘0.333333333333333333333333333333333333333’)
a = ‘3.141592653513651054608317828332’
Decimal(a)
Show: Decimal(‘3.141592653513651054608317828332’)
#不推荐:字符串格式化方式,可以显示,但是计算和直接定义都不准确,后面的数字没有意义。
a = (“%.30f” % (1.0/3))
数据类型:列表
列表是一个数据的集合,集合内可以放任何数据类型,可对集合进行方便的增删改查操作
列表的功能:
创建
查询
N2.index(4)
N2[8]
N2[N2.index(4)]
切片
N2[0:3]
N2[-5:-1]
N2[-5:]
增加
在指定位置插入
N2.insert(0,’abc’)
修改
N2[2] = ‘peiqi’
N2[4:6] = ‘JACK LIU’
N2
[‘abc’,’shanshan’,’peiqi’,’longting’,’J’,’A’,’C’,’K’,’ ’,’L’,’I’,’U’,3,4,4,5,6,7,7,8,8,9,9,0,0,2,3,4,4]
(批量增加)
删除
循环
排序