Day 3 python 整型布尔值和字符串

整型--数字(int)
用于比较和运算
32位 -231-1~231-1
64位 -263-1~263-1

long
python2中长整型存在 / 获取的整数
python3中长整型不存在 /获取的浮点数
456--十进制
十六进制
八进制
二进制
二进制--0,1
15/2 余1
7 余1
3 余1
1 余1

24 0
12 0
6 0
3 1
1 1
print(bin(15)) 十进制----二进制 从右向左读数

111000 二进制---十进制 从左向右计算
02**0+021+0*22+12**3+124+1*25
print(bin(21))十进制----二进制

print(int("10101",2))二进制---十进制

print(bool(1) 数字非零的是True 0是False
print(bool("111"))True
print(bool(" "))True #空格也是T
print(bool(""))False #引号内无内容False
字符串内不为零 即为True,反之位False

字符串详解
在python中,引号引起来的就是字符串
字符串用来存储少量数据
name= "meet"
meet 每个字母叫作一个元素
# 0123 从左向右
# -4-3-2-1 从右向左
索引(下标)通过索引精确定位到元素

name = "今天是个好日子"
a = name[0]
b = name[1]
print(a+b) # 答案:今天
切片
print(1:2)# 顾头不顾尾,起始位置:终止位置+1
name = "今天是个好日子"
print(name[2:]) # 答案:是个好日子
某个位置不指定的时候默认最后或最前的位置

print(name[-2:-5:-1])#[起始位置:终止位置:步长] 步长不写,默认为1

name = "阿黑哥吃大煎饼"
print(name[1:5])
print(name[-2:-6:-1])
print(name[-6:6]) #黑哥吃大煎

print(name[::2]) # 起始位置 终止位置可不写,默认位最开始和最后

print(name[100:104])# 切片的时候 切片位置超出字符串长度,不会报错,但无输出
print(name(100))#索引超出范围会报错

字符串的方法
s = 'alex'
s1 = s.upper() # 全部大写
print(s1)

s = 'alex'
s1=s.lower()#全部小写
print(s1)

应用场景
s = input('验证码(AbC5)')
if s.upper == 'AbC5'.upper:
print('验证码正确')
else:
print('验证码错误')

以什么开头
s = 'AlEX'
s1 = s.startswith('A',2,6)
print(s1)

以什么结尾
s = 'AlEX'
s1 = s.endswith('X',3,4)
print(s1)

出现多少次同样的元素
s = 'alwxdjbx'
s1 = s.count('X')
print(s1)# 答案:3

脱:字符串头尾两端的空格,换行符以及制表符 ; ,
n = input('>>>')
if n .strip() == 'alex':
print('1')
else:
print('2')

s = 'alexxdsba'
s1 = s.strip('al') # 可以制定消除内容
print(s1)

分割:以空格和换行符以及制表符进行分割
s = 'alex'
s1 = s.split()
print(s1)

s = 'aslexldsd'
s1 = s.split('l',maxsplit=1)
print(s1)
可以通过制定方式进行切割

替换:
s = '大黑个吃肉夹馍'
s1 = s.replace('肉夹馍','大煎饼',1)#'1'制定替换次数
print(s1)

is 系列:
s = 'alex'
print(s.isalum())#判断是不是字母数字汉字。
print(s.isalpha())#判断是不是字母汉字。
print(s.isdihit())# 判断字符串中全都是阿拉伯数字,不严谨不常用
print(s.isdecimal())#判断是否是十进制

name = '你好啊'
count = 0
while count < len(name):
print(name[count])
count += 1

name = '你好啊'
for i in name: # for循环
print(i) #i是个变量名, 可修改
# for和in都是关键
# name 可迭代对象

name = '你好啊'
for x in name :
pass
print(x)

数据类型中只有整型和布尔值不能进行for循环

总结:
1.整型和布尔值的转换:
bin()---十进制转二进制
int('1101',2)--- 二进制转十进制
除2 取余,获取的所有余数,从下往上进行计算
二进制转十进制的算法:
从右向左,依次乘2的次方
1101 12**0+021+1*22+1*2**3

python2中右long/获取的是整数
python3中只有int/获取的是浮点数

2.字符串的方法:

name= 'meet'
0123 从左向右
-4-3-2-1 从右向左
索引 通过索引可以精确定位到某个元素

   切边:[起始位置:终止位置:]
   步长:默认是1,通过步长可以决定查找方向的迈的步子
   
   字符串方法:
   upper 全部大写
   lower 全部小写
   startswith 以什么开头 
   endswith 以什么结尾
   count    统计(计数)
   strip  脱:头尾两端的空格,换行以及制表符,可以指定
   split  分割:以空格,换行以及制表符进行分割,可以指定
   repalce  替换:第一个旧值,第二个是新值,可以指定替换次数
   
   
   is系列
   str.isdigit#判断是不是阿拉伯数字
   str.isdecimal# 判断是不是十进制数
   str.isalnum#判断是不是字母,数字,汉字
   str.isalpha # 判断是不是字母,中文

for循环
for 变量 in可迭代对象:
print(变量)
变量可以修改
len()获取对象的长度

原文地址:https://www.cnblogs.com/zhuzhizheng/p/11151509.html