python 第三章 整型和布尔值+字符串

第三章

整型和布尔值

# 整型 -- 数字(int)
# 用于比较和计算的
# 32位 -2 ** 31 -1 ~ 2 ** 31 -1
# 64位 -2 ** 63 -1 ~ 2 ** 63 -1
# + - * / // ** %

# python2 整型 int -- long(长整型) /获取的是整数
# python3 整型 int /获取到的是浮点型

# 456  --十进制
# 十六进制 八进制 二进制
# 二进制 --0101

# 二进制
# 15   1  (15除以2商7 余1)
# 7    1  (7除以2商3 余1)
# 3    1  (3除以2商1 余1)
# 1    1  (1除以2商1 余1)
# 15的二进制为 1111
print(bin(15))# 输出0b1111

# 24    0
# 12    0
# 6     0
# 3     1
# 1     1
# 24的二进制为 0001
print(bin(24))# 输出0b11000
# 二进制从上往下计算


# 十进制

# 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(int("111000",2))# 输出56

print(int("10101",2)) # int("二进制数",2)将二进制转换乘十进制
print(bin(24))        # bin(数字)将十进制转换乘二进制

# bool()布尔值

# print(bool(1))  # 数字非零的就是True 零就是False
# print(bool("")  # 字符串不为空就是True 没有任何内容就是False

字符串的讲解

# !/usr/bin/python
# -*- coding: utf-8 -*-
# @File    : 02 字符串讲解.py
# @time    : 2019-07-0810:28
# @Author  : zhangshan33
# 什么是字符串?
# 在python中引号引起来的就是字符串

# 字符串怎么用?
# 用来存储少量存储数据

# name = "meet"
# meet 每一个字母叫做一个元素
# 0123     从左向右
# -4-3-2-1 从右向左
# 索引(下标)通过索引可以精准的定位到某个元素
name = "meet"
print(name[1])# 输出为e

name = "今天是个好日子"
#      0 1 2 3 4 5 6
#      -7-6-5-4-3-2-1
a = name[0]
b = name[3]
print(a+b)# 输出今个 取第一个和第三个

# 切片
name = "今天是个好日子"
print(name[0:2])  # 输出今天 顾头不顾尾 name[起始位置:终止位置]
print(name[:])    # 输出今天是个好日子某个位置不指定的时候默认取最后或最前
print(name[2:5])  # 输出是个好
print(name[-6:-3])# 输出天是个
print(name[-2:-7:-2])# 输出日个天 [起始位置:终止位置:步长] 步长默认为1

name = "0123456789"
print(name[1:5]) # 输出1234
print(name[-2:-6:-1])# 输出8765
print(name[-3:6])# 输出45

a = name[0]
b = name[2]
c = name[4]
d = name[6]
print(a+b+c+d)
print(name[::2])

"""
s = 'Python最NB'
获取s字符串中前3个内容
s[0:3]
获取s字符串中第3个内容
s[2]
获取s字符串中后3个内容
s[-3:]
获取s字符串中第3个到第8个
s[2:8]
获取s字符串中第2个到最后一个
s[1:]
获取s字符串中第1,3,5个内容
s[0:6:2]
获取s字符串中第2,4,6个内容
s[1:7:2]
获取s字符串中所有内容
s[:]
获取s字符串中第4个到最后一个,每2个取一个
s[3::2]
获取s字符串中倒数第5个到最开始,每3个取一个
s[-5::-3] 
"""

# print(name[100:105]) #切片的时候起始位置和终止位置都超出的时候不会进行报错
# print(name[100])  # 索引的时候索引值超出范围的时候会报错

# 字符串方法:
s = "ALEx"
s1 = s.upper()# 全部大写
print(s1)# 输出ALEX

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

# 应用场景
s = input("验证码(AbC5)")
if s.upper() == "AbC5".upper():
    print("验证码正确")
else:
    print("验证码错误!")
# 输入abc5 正确
# 输入ABC5 正确
# 输入ABc5 正确
# 输入99j8 错误

# 以什么开头:
s = "ALEX"
s1 = s.startswith("E",2,6)
print(s1)# 输出True

# 以什么结尾:
s = "ALEX"
s1 = s.endswith("X",3,4)
print(s1)# 输出True

# 统计:
s = "alexdxjbx"
s1 = s.count("x")
print(s1)# 输出3

# 脱: 字符串头尾两端的空格和换行符以及制表符
n = input(">>>")
if n.strip() == "alex":
    print("1")
else:
    print("2")
# 输入   alex   输出1 脱掉前后端空格
# 输入al  ex    输出2 中间空格不能脱掉


s = "alexdsba"
s1 = s.strip("a") # 可以指定内容取脱
print(s1)# 输出lexdsb


# 分割:以空格和换行符以及制表符进行分割
s = "aelxlaaa"
s1 = s.split("l",maxsplit=1)  # 可以通过指定方式进行切割
print(s1)# 输出['ae','xlaaa']


# 替换:
s = "小张吃肉夹馍,肉夹馍"
s1 = s.replace("肉夹馍","大煎饼")
s1 = s.replace("肉夹馍","大煎饼",1) # 指定替换的次数
print(s1)# 输出小张吃大煎饼,肉夹馍

#is 系列:
s = "12.3"

print(s.isalnum()) # 判断是不是字母,数字,中文
print(s.isalpha())  # 判断是不是字母,中文
print(s.isdigit())  # 判断字符串是不是全都是阿拉伯数字
print(s.isdecimal())  # 判断是否是十进制



今日总结

# 1、整型和布尔值的转换:
# 
# 32位和64位:
# 整形的32 -2 ** 31 ~ 2 ** 31 -1
# 整形的64 -2 ** 63 ~ 2 ** 63 -1
# 
# 十进制与二进制
# bin -- 十进制转二进制 算法除以2
# 验证方法:print(bin(10))
# 
# int("1001",2) -- 二进制转十进制 算法 位数*2 **0
# 验证方法:print(int("1101",2))
# 
# 十进制转二进制的算法:
# 除2 取余,获取的所有余数从下往上进行计算
# 二进制转十进制的算法
# 从右往左 依次乘以2的次方
# 1101 1* 2**0 + 2**1 +1*2**2 + 1*2**3
# 
# 整型:
# python2 中long 获取的是整数
# python3 中int 获取到的是浮点型
# 
# 
# 布尔值:
# 数字:非零的都为True
# 字符串:不为空的为True
# 
# 
# 2、字符串的方法:
# 
# name = "meet"
#         0123
#     -1-2-3-4
# 1。从左往右 0...10
# 2。从右往左 -10...-1
# 3。倒着取:-1
# 4。从左往右从右往左混着用
# 
# 索引:
# 通过索引可以精准定位到某个元素
# 字符串变量名[索引值]
# 索引超过元素的长度会报错
# 
# 切片:
# 字符串变量名[起始位置:终止位置]
# 特性:顾头不顾尾,起始位置会获取,终止位置不会获取
# 切片超过元素的长度不会报错
# 
# 步长:
# 字符串变量名[起始位置:终止位置:步长]
# 步长决定取值方向
# 通过步长可以决定方向和查找方式迈的步子
# 默认是1,从左往右
# 步长是-1,从右往左
# 
# 字符串方法:
# 全部大写:upper
# 全部小写:lower
# 用于验证码验证
# 以什么开头:startswith
# 以什么结尾:endswith
# 统计:count (计数)
# 脱:strip             去掉头尾两端的空格,换行以及制表符,可以自己指定
# 分割:split           以空格,换行以及制表符进行分割,可以自己指定,可以指定切割次数
# 替换:replace         第一个旧的值,第二个新的值,可以指定替换的次数
#                      都换,只换一个,从左往右换
# 
# is 系列
# 字母,数字,中文isalnmu
# 字母,中文isalpha
# 阿拉伯数字iddigit
# 十进制isdecimal
# 
# 数据类型:长len
# for循环:
# 只有整型和布尔型不能进行for循环
# 
# 
# 4、for 循环:
# for i in "手术室" 冒号
#     print(变量名)
# for 关键字
# i   变量名
# in  关键字
# "手术室"可迭代对象
# 
# 变量可以自己修改
# 数字和布尔值不可迭代
# 
# 
# len 获取对象的长度
# 所有的数据类型都可以使用len
# 
# 5、面试题:
# 
# for i in "alex":
#     pass
# print(i)# 输出x
# pass / ...占位
# 
# s = "aaa"
# for i in s:
#     print(123)

字符串小结

原文地址:https://www.cnblogs.com/zhangshan33/p/11159722.html