一. 基础数据类型
1. 基础数据类型有以下几种:
整数(int)
字符串(str)
布尔值(bool)
列表(list)
元组(tuple)
字典(dict)
集合(set)
2. 整数 -- int
这里主要熟悉二进制与十进制之间的对应关系与相互转化的方法:
1). 二进制与十进制的关系
- i = 4
- print(i.bit_length()) # 3
- # 获取十进制转化成二进制的有效位数
二进制 十进制
- 0000 0100 4
- # 这里二进制中的 100 即是有效位数
2). 二进制与十进制之间的转化
二进制转化成十进制
示例:
二进制 0010 1101
- 0 0 1 0 1 1 0 1
- 0*2**7 + 0*2**6 + 1*2**5 + 0*2**4 + 1*2**3 + 1*2**2 + 0*2**1 + 1*2**0
十进制结果就是上面这行所有乘积的和
十进制转化成二进制
方法: 对 2 取余 逆向排列
比如十进制数 42
除法 商 余数
- 42/2 21 0
- 21/2 10 1
- 10/2 5 0
- 5/2 2 1
- 2/2 1 0
- 1/2 0 1
这里不够 8 位, 直接补 0 即可, 所以 42 对应的二进制 (逆向排序) 是 00101010
PS: 前面的两个 0 是补上去的.
3. 字符串 -- str
- # 字符串的索引与切片
- # 注意: 字符串的切片索引以及常用操作方法, 都是形成新的字符串, 与原来的字符串没有关系
- s = [1, 2, 3]
- s1 = [0]
- print(s == s1) # False
- # 可以得知这里的 s 与 s1 没有什么关系
- # 反向 / 倒序取值要加上反向步长
- s = "python 骑士计划 3 期"
- s1 = s[-1:-4:-1] # 期 3 划 注意这里最后的 -1 是反向步长
- s2 = s[:5:-1] # 期 3 划计士骑
- # 这里 s2 中的 5 相当于从右往左计数是 0 开始的
- # 字符串变成列表 -- 使用 split()
- s = ":a:b:c"
- print(s.split(":")) # ["","a","b","c"]
- #如果只想在 "a:b:c" 中使用 split(), 使用切片新建一个变量即可
- # 列表转化成字符串 (前提: 列表内元素都是字符串, 否则会报错)-- 使用 join()
- s = ["a", "b", "c"]
- s1 = s.join() # a b c
- # replace() 只能从左往右依次替换, 不能一开始在中间替换
- # format 格式化输出
- # 大括号内不能加空格, 否则会报错.
- # 在大括号内写明 0,1,2 之类的好处是可以重复使用
- name = "hxy"
- age = 18
- s = "我是 {0}, 我今年{1} 岁, 我依然是{0}".format (name, age)
- # '我是 hxy, 我今年 18 岁, 我依然是 hxy'
- # is 用法
- # 比如购物后付钱, 要用户输入前, 如果不小心输入 "1000a", 会报错, 可以这样:
- money = input(">>>)"
- if money.isdigit():
- money = int(money)
- # len() 是一个公共方法
- s = "jlaj klajsdk"
- print(len(s))
- # 这里不用 s.len() 就是因为 len() 是公共方法
- View Code
Python 基础知识笔记(三)
来源: http://www.bubuko.com/infodetail-2892296.html