整型,布尔值,字符串详解,for语句

不打扰是莪最后的温柔 提交于 2019-11-28 19:09:05

整型 —— 数字

  • 用于比较和计算

  • + - * / //

  • 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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!