整型 —— 数字
用于比较和计算
+ - * / //
python 2 int ——— long (长整型) /获取的是整数
Python3 int———整型 / 获取的浮点数
二进制 ——— 就是由 0 和 1 组成
十进制往二进制的转化是短除法
商 余数
15 1
7 1
3 1
1 1
那么 15 用二级制表示就是 1111(从下往上计算) 比如 21 是从下往上 10101
程序输出
print(bin())
结果 0b10101
0b 代表二进制 bin 将十进制转化为二进制
二进制转化为十进制
111000(从右往左计算) : 0*2**0 + 0*2**1 + 0*2**2 +1*2**3 + 1*2**4 +1*2**5 = 8 + 16 + 32 = 56
print(int("10101",2))这个 2 的意思是将二进制转化为十进制
bool () 布尔值
print(bool( )) 数字非0的就是 True ,0 就是 False
print(bool( )) 字符串不空的都是 True 啥也没有就用 False
字符串讲解
定义:在 python 中,引号引起来的就是字符串,字符串用来存储少量数据
索引(下标)
name = "meet" #meet 每一个字母叫做一个元素 0123 #从左往右数 0123 -4-3-2-1 #从右往左数 -4-3-2-1 print(name[2]) 这个 2 就是所谓的查找元素
name = "今天是个好日子" a = name [0] b = name [1] print(a + b) #今天
切片
name = "今天是个好日子" print(name[0:2]) # 顾头不顾尾 name[起始位置:终止位置] 结果:今天 print(name[2:]) #某个位置不指定,默认取最前或者最后 结果; 是个好日子 print(name[:]) #直接输出全部 结果:今天是个好日子 print(name[-2:-5]) #运行不了 默认的运行顺序是从左往右 -5 的位置是在-2 的前面,下面的这一行就可以运行 print(name[-5:-2]) #顺序对了 就可以了 print(name[-2:-5:-1]) #这是从右往左运行,用步长改变一下方向
name = "大黑哥吃大煎饼" print(name[0:6:1]) #默认步长是 1 结果:大黑哥吃大煎 print(name[0::2]) # 从开始到最后 步长为 2 结果:大哥大饼 print(name[1:105]) #结果的位置可以超,不影响最终结果 结果为 黑哥吃大煎饼 print(name[100:105]) #起始位置和终止位置都超出不会报错 print(name[100]) #索引的时候 索引值超出范围会报错
练习
# s = 'Python最NB' # #获取s字符串中前3个内容 # print(s[0:3]) # #获取s字符串中第3个内容 # print(s[2]) # #获取s字符串中后3个内容 # print(s[-3:]) # #获取s字符串中第3个到第8个 # print(s[2:8]) # #获取s字符串中第2个到最后一个 # print(s[1:]) # #获取s字符串中第1,3,5个内容 # print(s[0:6:2]) # #获取s字符串中第2,4,6个内容 # print(s[1:7:2]) # #获取s字符串中所有内容 # print(s[:]) # #获取s字符串中第4个到最后一个,每2个取一个 # print(s[3::2]) # #获取s字符串中倒数第5个到最开始,每3个取一个 # print(s[-5:0:-3])
字符串的方法
字母大写或小写
s = "alex" s1 = s.upper() # 全部大写 中文 数字 不可以 print(s1) #ALEX s = "alex" s1 = s.lower() #全部小写 应用场景的话就比如用户输入验证码 print(s1) #alex
应用场景
s = input("请输入验证码(AbC5)") if s.upper() == "AbC5".upper(): #将你输入的内容转化为大写 最后的结果正确 小写也类似 print("验证码正确") else: print("验证码错误")
以什么开头(s.startswith)
s = "alex" s1 = s.startswith("a",0,3) # 0是所在位置 4 是终止位置 print(s1) # True 若是"A"输出的就是 false
以什么结尾
s = "Alex" s1 =s.endswith("x") #s1 =s.endswith("x",3,4) print(s1) # True
统计(统计出现的次数)
s = "alexdjbx" s1 = s.count("x") print(s1) #2
脱:主要脱去字符串头尾两端的空格和换行符以及制表符(主要为了解决用户在输入的过程中会出现空格啥的)
s = " alex " n = input(">>>") if n.strip() == "alex": print("输入正确") else: print("输入错误")
并且可以指定内容脱去
s = "alexdsb" s1 = s.strip("a") print(s1) #lexdsb
分割:以空格和换行符以及制表符进行分割
s = "a l e x" s1 = s.split() print(s1) #['a', 'l', 'e', 'x'] 分割之后变成列表
可以通过指定方式进行分割(右分割s.rsplit 左分割 s.lsplit)
s = "a l e x" s1 = s.split("l") print(s1) # ['a ', ' e x'] 以l为分割的点 之后的就不再出现
替换
s = "大黑哥吃肉夹馍" s1 = s.replace("肉夹馍","大煎饼") print(s1) #大黑哥吃大煎饼
s = "大黑哥吃肉夹馍" s1 = s.replace("肉夹馍","大煎饼",1) # 1 代表的是替换次数 print(s1) #大黑哥吃大煎饼
is 系列
s = "a177你好ex" print(s.isalnum()) #判断是不是字母,数字, 中文 print(s.isalpha()) #判断是不是字母,数字 print(s.isdigit()) #判断是不是全部都是阿拉伯数字 print(s.isdecimal()) #判断是否是十进制 (12.3)不可以 # True False False False
Len 长度 获取对象的长度
name = "你好啊" print(len(name)) # 3
name = "你好啊" count = 0 while count < len(name): print(name[count]) count += 1
for 语句
name = "你好啊" count = 0 while count < len(name): print(name[count]) count += 1
name = "你好啊" for i in name: # i把元素都经历了一遍,但是最后的时候必须出牌了 所以是最后一个 pass print(i)
name = "alex" for x in name: print(x) print(x)
格式
for 变量 in 可迭代对象:
print(变量) (变量可以进行修改)
name = "Alex" # 这里换成"123", True 数据类型中,数字和布尔值不能用 for 循环 for i in name: print(i)
总结:
整型和布尔值的转换
bin---十进制转二进制
int("1101",2)--二进制转十进制
十进制转二进制算法:
除2 取余,获取的值从下往上进行计算
二进制转十进制
从右向左,依次乘以2的次方(从0次方开始)
python2 与python int /区别
字符串方法:
0 1 2 3 从左向右
-4 -3 -2 -1 从右向左
通过索引可以精确定位元素
切片
步长: 默认为1,通过步长决定方向和查找迈的步子
字符串方法
upper 全部大写
lower 全部小写
startswith 判断开头是什么
endswith判断结尾是什么
count 统计个数
strip 脱:头尾两端的空格、换行以及制表符,可以的指定
split 分割:以空格换行符以及制表符进行分割,可以指定切割次数
replace 替换:第一个旧的值,第二个是新的值,可以指定次数
isdigit 判断是不是阿拉伯数字
isdecimal判断是是不是十进制数
isalnum判断是不是字母、数字、中文
isalpha 判断是不是中文、字母
for循环
for 变量 in 可迭代对象
print(变量)
变量可以自己修改
len获取字符串的长度
面试:
for in “alex”:
pass
print(in)
结果是x
来源:https://www.cnblogs.com/hualibokeyuan/p/11152958.html