类型和运算
Posted yaoqi17
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类型和运算相关的知识,希望对你有一定的参考价值。
一、整数(int)
作用:用于计算和比较
二进制与十进制转换
1.1 2的各次方值
2**0=1 2**1=2 2**2=4 2**3=8 2**4=16 2**5=32 2**6=64 2**7=128 2**8=256 2**9=512 2**10=1024 2**11=2048 2**12=4096 2**13=8192 2**14=16384 2**15=32768 2**16=65536
1.2 8421转换法
十进制转二进制
首先按照8421来分解:10=2+8,用8421转换法,对应数字下面写1,没有的写0,得到:
8 4 2 1 1 0 1 0
因此10转化为二进制是1010
二进制转十进制
例:11111
16 8 4 2 1 1 1 1 1 1
所以11111转化为十进制是16+8+4+2+1即31
bit_length 二进制的有效占用位数
num = 7 # 8421 00000111 print(num.bit_length()) # 求十进制数转换成二进制时所占用的位数 结果: 3
二、布尔值(bool)
数字可转为布尔值:
0是Flase 非0是Ture
字符串转换成布尔值:
空字符串是Flase 非空字符串是Ture
布尔值转换成数字、字符串
转换成数字:Ture—>1 False—>0
转换成字符串:Ture—>“Ture” False—>"False"
三、字符串(str)
作用:用来存储少量数据
注意:字符串是不可变的对象, 所以任何操作对原字符串是不会有任何影响的
索引:从左到右 0,1,2,3 从右到左-1,-2,-3,-4
? 查找时超出范围会报错
name = "meet,alex,wusir,wangsir,Eva_j" name[100] 结果: 报错IndexError: string index out of range
切片:格式为[起始位置:终止位置:步长] 顾头不顾尾
? 步长决定查找的方向,以及查找的跨度大小,默认是1,方向从左向右
? 查找的时候超出范围没事
name = "meet,alex,wusir,wangsir,Eva_j" print(name[:100]) 结果: meet,alex,wusir,wangsir,Eva_j
字符串方法
方法 作用 1.大小写转换 s.capitalize() 首字母大写 s.lower() 全部转换为小写 s.upper() 全部转换为大写 s.swapcase() 大小写互换 s.title() 单词首字母大写 2.字符串切割 s.center(10,*) 拉长成10个字符,其余用 *填充 s.strip() 去掉两端空白 **s.replace("#","*",2)** **把#换成 *,替换2个** s.split("#") 用#去切割字符串,#损失,当切割内容出现在边上,会出现空字符 3.查找 s.startswith("#") 判断是否以#开头 s.endswith("#") 判断是否以#结尾 s.count("#") 统计#出现的次数 s.find("#") 找出#出现的位置,如果找不到返回-1 s.index("#") 找出#的索引,如果找不到报错 5.条件判断 s.isalnum() 判断是否由字母和数字组成 s.isalpha() 判断是否由字母组成 s.isdigit() 判断是否是数字组成 ,不包括小数点 s.isdecimal() 判断是否是十进制 s.numeric() 判断是否由数字组成,不包括小数点,可识别中文 第三种格式化输出
format()三种使用方式:
1.按照位置顺序去填充
name = "alexwusir" name1 = name.format('结婚了',"要结婚了") # 按照位置顺序去填充的 print(name1) 结果: alex结婚了wusir要结婚了
2.按照索引位置去填充
name = "alex1wusir0" name1 = name.format('结婚了',"要结婚了") # 按照索引位置去填充 print(name1) 结果: alex要结婚了wusir结婚了
3.指名道姓填充
name = "alexawusirb" name1 = name.format(a="结婚了",b="马上结婚") # 指名道姓 填充 print(name1) 结果: alex结婚了wusir马上结婚
四、for循环
格式:
for i in s: #for(关键字) i(变量) in(关键字) s(可迭代对象) pass #占位
循环后的i变量指向的是最后的一个元素
for a in "alex": print(a) print(a) 结果: a l e x x
五、range
格式:range() 范围
range(起始位置,终止位置,步长)
range(10) range(终止位置) 起始位置为0
注意:python3直接打印range的话输出的书它本身
? python2直接打印的话输出的是列表
s = range(1,10)
print(s) # 范围
结果:
range(1, 10) #python3
s = range(1,10)
print(s) #python2
结果:
[1,2,3,4,5,6,7,8,9]
以上是关于类型和运算的主要内容,如果未能解决你的问题,请参考以下文章
获取 badarith,[erlang,'+',[error,0],[],同时使用 Erlang 片段在 TSUNG 中执行算术运算