第三节

一、整形和布尔值的转换

  1. int整型
    python3: 全部都是整型
    python2: 整型,长整型long
  • 十进制转换二进制
# 将十进制的168转换为二进制 

#得出结果 将十进制的168转换为二进制,(10101000)2 
#分析:第一步,将168除以2,商84,余数为0。 
#第二步,将商84除以2,商42余数为0。 
#第三步,将商42除以2,商21余数为0。 
#第四步,将商21除以2,商10余数为1。 
#第五步,将商10除以2,商5余数为0。 
#第六步,将商5除以2,商2余数为1。 
#第七步,将商2除以2,商1余数为0。 
#第八步,将商1除以2,商0余数为1。 
#第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,即10101000  
print(bin(168))
  • 二进制转换十进制
# 111110
# 2进制 - 10进制
# 0 * 2**0 + 1 * 2 ** 1 + 1 * 2**2 + 1* 2**3 + 1 * 2 ** 4 + 1 * 2 ** 5
# 0 + 2 + 4 + 8 + 16 + 32 = 62
print(int("111110",2))
  1. bool布尔值
  • 非0即True,0是False
    True == 1
    False == 0
  • 字符串中只要没有内容就是False

例:

a = bool(0)
print(a) # False 
a = int(True)
print(a) # 1
a = int(False)
print(a) # 0
a = int(False)
print(a) # True
a = bool(" ")
print(a) # True
a = bool("")
print(a) # False

二、字符串详解

  • python中只要是引号引起来的就是字符串
  • 字符串用于存储数据,存储少量数据
  • 字符串中的每一个字母或者字符都称为元素
  1. 索引index
    索引的时候不能超出索引的最大值
  2. 切片and步长
    切片的时候可以超出索引值(起始都可以超出)
    步长:1,2,3从左至右
    -1,-2,-3从右至左
    例:
# 从左向右排a = "0123456"
# 从左向右排a = "-7-6-5-4-3-2-1"
a = "风yu雷dian宝元"
print(a[4]) # d
print(a[-4]) # a
name = "alex,wusir,太白金星,女神,吴超"
print(name[11:14:2]) # 太金
print(name[-4:-6:-1]) # 神女
print(name[-7:-12:-2]) # 星白,
print(name[::-1]) # 超吴,神女,星金白太,risuw,xela

三、字符串的方法

  • upper() —— 全部大写
name = "alex"
a = name.upper()  # 全部大写
print(a)
print(name)
  • lower() —— 全部小写
name = "ALEX"
a = name.lower()   # 全部小写
print(name)
print(a)
  • startswith("判断字符",索引开头,索引结尾) —— 以什么开头 -- 返回的是布尔值
  • endswith("判断字符",索引开头,索引结尾) —— 以什么结尾 -- 返回的是布尔值
name = "alex"
print(name.startswith('e',2,3))  # 以什么开头 -- 返回的是布尔值
print(name.endswith("x",1,4))    # 以什么结尾 -- 返回的是布尔值
  • count("字符",索引) —— 统计,计数
name = "aliwusirtaibIa"
print(name.count("i",8))      # 统计,计数 区分大小写,8为索引到位置,从左到右计数
  • strip() —— 脱 默认脱(脱头尾两端的空格,换行符\n,制表符\t)
pwd = " alexdsb   "
a = pwd.strip()   # 脱 默认脱(脱头尾两端的空格,换行符\n,制表符\t)
print(a)
pwd = "alalexasdsbla"
a = pwd.strip("al")  # 去除头尾两端指定的内容,"al"不分顺序
print(a)
  • split() —— 分割(默认空格,换行符\n,制表符\t)
name = "alex_wu_si_r"
a = name.split("_")        # 分割(默认空格,换行符\n,制表符\t)
print(a)                   # ['alex', 'wusir']
a = name.split("_",2)      # 指定分割次数 
print(a)
  • replace() —— 全部替换
name = "alex,wusir,ta,i,b,a,i"
a = name.replace(",",".")               # 全部替换
print(a)
a = name.replace(",",".",4)             # 指定替换的次数
print(a)
  • format"{}" —— 按照位置顺序进行填充
name = "{}今年:{}".format("宝元",18)    # 按照位置顺序进行填充
print(name)
name = "{1}今年:{0}".format("宝元",18)    # 按照索引进行填充
print(name) # 18今年:宝元
name = "{name}今年:{age}".format(name="宝元",age=18)    # 按照名字进行填充
print(name)
  • isdigit() —— 判断字符串中的内容是否全是阿拉伯数字
  • isdecimal() —— 判断是不是十进制数
  • isalnum() —— 判断是不是数字,字母,中文
  • isalpha() —— 判断是不是字母,中文
msg = "alex"
print(msg.isdigit())      # 判断字符串中的内容是不是全都是数字(阿拉伯数字)False
print(msg.isdecimal())    # 判断是不是十进制数False
print(msg.isalnum())      # 判断是不是数字,字母,中文Ture
print(msg.isalpha())      # 判断是不是字母,中文Ture
  • len() —— 查看字符串中共有多少个元素
msg = "原谅我这一生不羁放纵爱自由"
print(len(msg)) # 公用的方法: len

四、for循环

  • for —— 关键字
    i —— 变量名(可随意修改)
    in —— 关键字
    mag —— 可迭代对象(可迭代对象: Python数据类型中 除了int,bool其余都可以迭代)
  • 基本结构:
msg = "原谅我这一生不羁放纵爱自由"
for i in msg:
    print(i) # 逐行输出从原到由
print(i) # 输出循环体最后一个字符
# 面试题
for a in "abcds":
 pass  # 过 占位
print(a) # 输出最后一个元素

for i in "dsb":
 i = i+"sb"   # 相当于字符串和字符串相加
 print(i)

 

 

后续还会持续更新,从入门到放弃  ^.^。