Python 03 整型、字符串
1. 整型和布尔值
1.1 整型——数字(int)
用于比较和运算。
整型32位:-2**31 ~ -2**31-1
整型64位:-2**63 ~ -2**63-1
python2 :整型 int -- long(长整型) / 获取的是整数
python3 :整型 int / 获取的是浮点数(小数)
二进制(0101)、八进制、十进制、十六进制
二进制与十进制的转换:
① print(bin(15)) #将十进制15转换成二进制
15 1
7 1
3 1
1 1
从下向上计算,结果为1111
② print(int("1111",2)) # 将二进制转换成十进制
1*2**0+1*2**1+1*2**2+1*2**3=15
从右向左计算,结果为15
1.2 布尔值 bool()
print(bool(1)) # 数字非零的就是True 零就是False
print(bool("")) # 字符串不为空就是True(空格也是) ,字符串中没有任何内容就是False
2. 字符串(str)
在python中引号引起来的就是字符串,字符串是用来存储少量数据。每个字母、汉字都叫一个元素。
2.1 索引 [ ]
通过索引可以精确的定位到某个元素。
```python
name = "今天是个好日子" 0 1 2 3 4 5 6 -6 -5 -4 -3 -2 -1 print(name[2]) # 结果为 “是” print(name[-2]) # 结果为 “日” ```
2.2 切片
[起始位置:终止位置] 顾头不顾尾
[起始位置:终止位置:步长] 步长默认为1,-代表方向
print(name[0:2]) #结果为 “今天”
print(name[:]) # 某个位置不指定的时候默认取最后或最前
print(name[-2:-5:-1]) # [起始位置:终止位置:步长] 步长默认为1
print(name[100:105]) #切片的时候起始位置和终止位置都超出的时候不会进行报错
print(name[100]) #索引的时候索引值超出范围的时候会报错
2.3 字符串的方法
-
验证码:
s = "alex"
s = s.upper() #全部大写
print(s) # "ALEX"
s = s.lower() #全部小写
print(s) #"alex"
#不分大小写验证码:
s = input("验证码(AbC5)")
if s.upper() == "AbC5".upper():
print("验证码正确!")
else:
print("验证码错误!") -
判断以什么开头/结尾:
s = "alex"
s = s.startswith("a") #判断以a开头,结果为True
s = s.startswith("e",2,6) #2为起始位置,6为终止位置 结果为 True
s = s.endswith("x") #判断以x结尾,结果为True
s = s.endswith("x",3,4) #结果为True -
统计(count):
s = s.count("x") #统计x出现的次数
-
脱(strip):
脱去字符串头尾两端的空格和换行符(\n)以及制表符(\t)。
s = s.strip("a") # 可以指定内容取脱
-
分割(split):
以空格和换行符以及制表符进行分割。
s = "aelxlaaa"
s = s.split("l",maxsplit=1) # 可以通过指定方式进行切割,maxsplit:最大的分割次数
print(s) # 结果为['ae', 'xlaaa'] -
替换(replace):
s = s.replace("旧字符串","新字符串")
s = s.replace("旧字符串","新字符串",1) #指定替换次数 -
is 系列:
print(s.isalnum()) # 判断是不是字母,数字(整数),中文(有符号错误)
print(s.isalpha()) # 判断是不是字母,中文
print(s.isdigit()) # 判断字符串是不是都是阿拉伯数字
print(s.isdecimal()) # 判断是否是十进制print(len(name)) #取name中的长度
2.4 for循环
name = "你好啊"
for i in name: # for循环
print(i)
"""
结果
你
好
啊
"""
# for 关键字
# i 是变量名
# in 关键字
# name 可迭代对象
数据类型中只有整型和布尔值不能够进行for循环
# 错误的示范
name = True
for i in name:
print(i)