基础数据类型 一
整数:在python3中用关键字int来表示
在32位机器上int的范围是: -2**31 2**31-1,即-2147483648~2147483647
在64位机器上int的范围是: -2**63~2**63-1,即-9223372036854775808~9223372036854775807
在python3中所有的整数都是int类型. 但在python2中如果数据量比较大. 会使用long类型.
在python3中不存在long类型 整数可以进行的操作+ - * / % // **
二进制转换为十进制:要从右到左用二进制的每个数去乘以2的相应次方,小数点后则是从左往右
通用公式为:
abcd.efg(2)=d*2^0+c*2^1+b*2^2+a*2^3+e*2^-1+f*2^-2+g*2^-3(10)
例1101.01转换为十进制
1101.01(2)=1*2^0+0*2^1+1*2^2+1*2^3 +0*2^-1+1*2^-2=1+0+4+8+0+0.25=13.25(10)
十进制转换为二进制:十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
18/2=9 余 0
9/2=4 余 1
4/2=2 余0
2/2=1 余0
1/2=0 余1
18用二进制表示为 10010
求十进制数转换成二进制时所占用的位数可用: print(num.bit_length())
num = 18
print(num.bit_length())
布尔值
用于条件使用 True(真) False(假)
数字转换为布尔值:
print(bool(-10)) #结果 True 规律:非0即True
字符串转换为布尔值:
print(bool('')) #结果为 False 规律:非空即True(字符串里全空,空格也没有)
布尔值转换为字符串:
print(str(True)) #True type 为字符串
布尔值转换为数字:
print(int(True)) #结果为1 False转换结果为0
字符串
用于存储数据 但量比较小
‘ ‘
" "
‘‘‘ ‘‘‘
""" """
里边都是字符串
字符串的索引和切片
name = "张三,Zain01,imm_ky"
#索引 从左往右数 01234... 相当于从0开始从左往右给元素编号,也可从右往左:-1-2-3-4.. 查找时超出范围会错.
#字符串,列表,元组 -- 都是有索引(下标)
print(name[1])
print(name[1:10:3]) # 切片:[起始位置:终止位置:步长] 顾头不顾尾 查找的时候超出范围没事
#步长:正负决定查找的方向 大小决定查找的间隔 默认时1 默认方向为从左到右 如-1是从左至右
#先定义一个范围 再确定方向
print(name[::-1] #倒序输出
print(name[:4]) #开始到3号索引即第四个元素
#[a:b:c] 前两位是去一个范围 a b 可正可负 c的符号决定了输出方向
字符串的常用处理方法
1.全部大写 upper
name = "absjdfg"
print(name.upper())
全部小写 lower
name = "SADFWSSS"
print(name.lower())
2.查看开头 startswith
name = "alex"
print(name.startswith('a')) #结果为 True
查看结尾 endswith
name = "alex"
print(name.endswith('a')) #结果为False
3.count 统计某元素或内容出现次数
name = "sdsdsdsdaadwfqs"
print(name.count('sd'))
4.替换 replace
name = "sdsdsdsdaadwfqs"
print(name.replace('d','A',5)) #括号内前面为要被替换的内容,中间为新内容,数字为替换次数,不填默认全换
5.除去头尾两边的空格 strip
name = ' imm_ky/ '
print(name.strip()) #默认去掉空格和换行符,可以写自己想换的内容.
6.分割 split 分割后得到一个列表
name = "a l e x"
print(name.split()) #默认以空格分隔,也可自定义分割
7.字符串格式化之 format
name = 'alex{}wusir{}'
name1 = name.format('去玩了','在上班') #按顺序对应填充
name = 'alex{0}wusir{1}'
name1 = name.format('去玩了','在上班') #按索引位置填充
name = 'alex{a}wusir{b}'
name1 = name.format(a='去玩了',b='在上班') #指名填充
8.is系列 判断
name = '2343②'
print(name.isdigit()) # isdigit 判断是不是阿拉伯数字
name = '385'
print(name.isdecimal()) # isdicimal 判断是不是十进制 一般用它判断是不是数字
name = 'inmm汉字'
print(name.isalpha()) # isalpha 判断是不是由字母和汉字组成
name = 'inmm汉字985'
print(name.isalnum()) #isalnum 判断是不是右字母、数字、汉字组成.
join的用法 (得到字符串)
str.join() str为要插入的符号,括号内为操作对象,列表,元组,字典都可以 操作结果为以插入的str隔开的字符串
li = ['a','b','c','d']
s = ':'.join(li) # 用冒号分开各元素
>>> 'a:b:c:d' #得到结果为一个字符串
len() 函数
可以用于统计字符串元素个数
s = '今晚打老虎'
print(len(s)) # 结果为5
for循环
for i in s:
print(i)
for 关键字, i变量 ,s 可迭代对象(除int.bool 外都是)
s = 'alex'
for i in s:
pass # 过 占位符
``` #同pass
print(i)
#注意和上边的区别,最终结果为'x',因为对于for循环会根据索引给i赋值为s内的元素,直到最后一个变量(正常完成循环情况下),因此最终print(i)会输出最后一个元素.
range 取一个范围数
python3打印是它自己本身
python2打印是列表
for i in range(1,10,2): # (起始位置,终止位置,步长)(顾头不顾尾)
#range(10) 指定了终止位置,起始位置默认是0
print(i)
原文地址:https://www.cnblogs.com/banshannongchang/p/11006368.html