day03——整型、字符串、for循环
day03
整型
用于比较和运算
32位:-2 ** 31——2 ** 31-1
64位:-2 ** 63——2 ** 63-1
长整型(long)
python2中有长整型、获取的是整数
python3中只有整型、获取的是浮点数(小数)
进制转换
十六进制 八进制
二进制 ——0、1
bin():十进制转二进制 ,一直除二余1或0,从下往上
int():二进制转十进制,从右往左:1 2 4 8 16 32
# 15 1
# 7 1
# 3 1
# 1 1
# 24 0
# 12 0
# 6 0
# 3 1
# 1 1
# 186 0
# 93 1
# 46 0
# 23 1
# 11 1
# 5 1
# 2 0
# 1 1
print(bin(186)) #十进制转为二进制
# 111000 # 从右向左进行计算
# 0 * 2 ** 0 + 0 * 2 ** 1 + 0 * 2 ** 2 + 1 * 2**3 + 1*2 ** 4 +1 * 2** 5
# 0 + 0 + 0 + 8 + 16 + 32
# 10101
# 1 * 2 ** 0 + 0 * 2**1 + 1* 2**2 + 0 * 2**3 + 1* 2 **4
# 1 + 0 + 4 + 0 + 16
print(bin(21))
print(int("10101",2)) #将二进制转换成十进制
print(bin(21)) # 将十进制转换成二进制
int(True)==1
int(False)==0
布尔值(bool)
数字非零就是True,零就是false
字符串只要是不为空就是True,为空就是false
bool()转为布尔值
字符串
引号引起来的就是字符串
字符串是用来存储少量的数据
索引
name = "meat" # meat 每一个字母叫做一个元素
#0123 从左向右
#-4-3-2-1 从右向左
#索引(下标) 通过索引可以精确的定位到每个元素
print(name[-1])
print(name[100]) # 索引值超出范围会报错
切片
name = "今天是个好日子"
# a = name[0]
# b = name[1]
# print(a+b)
print(name[0:2]) # 顾头不顾尾 name[起始位置:终止位置]
print(name[2:]) # 某个位置不指定的时候默认取最后或最前
print(name[-2:-5:-1]) # [起始位置:终止位置:步长]步长默认为1,通过步长可以决定方向和迈的步子数
print(name[-6:6]) # 可以正负一起用
print(nam[100:105]) # 起始位置和终止位置都超出的时候不会报错
# s = 'Python最NB'
# # 获取s字符串中前3个内容
# print(s[0:3])
# # 获取s字符串中第3个内容
# print(s[2])
# # # 获取s字符串中后3个内容
# print(s[6:])
# # # 获取s字符串中第3个到第8个
# print(s[2:8])
# # # 获取s字符串中第2个到最后一个
# print(s[1:])
# # # 获取s字符串中第1,3,5个内容
# print(s[:5:2])
# # 获取s字符串中第2,4,6个内容
# print(s[1:6:2])
# # 获取s字符串中所有内容
# print(s[:])
# # 获取s字符串中第4个到最后一个,每2个取一个
# print(s[3::2])
# # 获取s字符串中倒数第5个到最开始,每3个取一个
# print(s[-5::-3])
字符串的方法
字符串系列
upper():全部大写
lower():全部小写
s = "alex"
s1 = s.upper()
s2 = s1.lower()
print(s1,s2)
# 应用场景
# s = input("验证码(asdf1中):")
# if s.upper() == "asdf1中".upper():
# print("验证码正确")
# else:
# print("验证码错误")
startswith():判断是不是以 内容 开头
使用:startswith("内容",起始位置,终止位置)
endswith():判断是不是以 内容 结尾
使用:endswith("内容",起始位置,终止位置)
s = "alex"
s1 = s.startswith("a")
s2 = s.startswith("l",1,6)
s3 = s.endswith("x")
s4 = s.endswith("e", 1,3)
count():统计个数
s = "alexdsbxxasdx"
s1 = s.count("x")
print(s1)
strip()(脱): 去掉字符串头尾两端的空格和换行符\n、制表符\t
也可以脱去内容:strip("内容"),如果有多个内容是先去掉内容的各一个,然后再组合起来去掉
# n = input(">>>")
# if n.strip() == "alex":
# print("1")
# else:
# print("2")
# s = "alexdsba"
# s1 = s.strip("a") # 可以指定内容取脱
# print(s1)
# 如果有多个内容是先去掉内容的各一个,然后再组合起来去掉
s = "alexdsba"
s1 = s.strip("ba")
s2 = s.strip("ab")
print(s1) # 结果是lexds
print(s2) # 结果是lexds 结果是一样的
split():分割字符串的空格和换行符\n、制表符\t,也可以分割其他内容,也可以选择切几次
split("内容,次数")
lsplit():从左开始
rsplit:从右开始
s = "aelx asd ww"
s1 = s.split()
print(s1) # ['aelx', 'asd', 'ww']
# s = "aelxlaaa"
# s1 = s.split("l",maxsplit=1) # 可以通过指定方式进行切割,并且可以安排次数
# print(s1) # ['ae', 'xlaaa']
replace():替换
replace(“旧的值”,"新的值",次数)
# s = "大黑哥吃肉夹馍,肉夹馍"
# s1 = s.replace("肉夹馍","大煎饼")
# s1 = s.replace("肉夹馍","大煎饼",1) # 指定替换的次数
# print(s1)
is 系列
isalnum():判断是不是字母、数字、中文
isalpha():判断是不是字母和中文
isdigit():判断字符串中是不是全是有阿拉伯数字
isdecimal():判断字符串是不是十进制数
# s = "12.3"
# print(s.isalnum()) # 判断是不是字母,数字,中文
# print(s.isalpha()) # 判断是不是字母,中文
# print(s.isdigit()) # 判断字符串是不是全都是阿拉伯数字
# print(s.isdecimal()) # 判断是否是十进制
for循环
for+空格+变量名+in+可迭代对象
缩进+代码
for 关键字
i 是变量名,变量可以自己修改
in 关键字
name 可迭代对象,数据类型中只有整型和布尔值不能够进行for循环
"""
你
好
啊
"""
# count = 0
# while count < len(name):
# print(name[count])
# count += 1
# name = "你好啊"
# for x in name: # for循环
# print(x)
# name = "你好啊"
# for i in name: # for循环
# print(i)
# i = "你"
# print(i)
# i = "好"
# print(i)
# i = "啊"
# print(i)
# print(3)
# print(54)
# print(67)
# print(i)
# name = "alex"
# for x in name:
# print(x)
# print(x)
面试:
一、
for i in "alex"
pass
print(i)
# 结果是
# x
# 特殊题
name = "alex"
for x in name:
print(x)
print(x)
# 结果是:
# a
# l
# e
# x
# x
其他知识:
1.pass 、... 是占位:占着位置,使程序不会产生错误
2.len()获取长度
name = "asdsafsafasd"
print(len(name))