文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

第三天-基本数据类型 int bool

2023-01-30 22:35

关注
# python基础数据类型
# 1. int 整数
# 2.str 字符串.不会用字符串保存大量的数据
# 3.bool 布尔值. True, False
# 4.list 列表(重点) 存放大量的数据
# 5.dict 字典 key: value 查找会比较快
# 6.set  集合 无序 不能重复
# 7.bytes 一堆字节。 我们程序处理的最小单位
# 8.tuple 元组 不可变的列表

1.整数(int) 

在python3中所有的整数都是int类型. 但在python2中如果数据量比较⼤. 会使⽤long类型. 在python3中不存在long类型

int的操作,xxx.bit_length() 可计算,返回二进制长度

1  a=8
2  print(a.bit_length())  # .bit_length() 返回二进制长度

 

2.布尔值(bool)

取值只有True, False. bool值没有操作. 

转换:

1 # bool-int    False - 0  True - 1
2 # int - bool    0 - False  非零 - True  如:
3 x = False
4 print(int(x)) #输出为 0
5 
6 while 1:
7     print("循环循环")
8 # str - bool   空字符串是 False  不空是 True

 

3.字符串(str)

把字符连成串. 在python中用', ", ''', """引起来的内容被称为字符串. 

  3.1. 索引. 索引就是下标. 切记, 下标从0开始 

 1 # 索引
 2 # 0 1 2 3 4 5   6 7 8 9 10 11 12   从 0开始计数
 3 # 人生苦短 , 我 用 p y  t   h   o   n
 4 s = "人生苦短,我用python"
 5 print(s[10])
 6 print(s[12])
 7 print(s[-7])  # 倒数
 8 print(s[-1])
 9 print(s[-14]) # 没有14 超出范围会报错
10 print(s[14]) # 超出范围会报错

 

  3.2.切片.从字符串中获取新的字符串

  语法: str[start: end] 规则: 顾头不顾腚, 从start开始截取. 截取到end位置. 但不包括end.

 1 # s1 = "人生苦短,我用python"
 2 # print(s1[0:3])  # 语法  print(str[start:end]) 顾头不顾腚 所以这里无s1[3]
 3 # print(s1[3:5])
 4 # print(s1[7:13]) # 最后一位是s1[12] 顾头不顾腚 要取最后得往后一个即s1[13]
 5 # print(s1[8:14]) # 超出范围仍输出 ython  相当于取到最大
 6 # print(s1[:]) # 从头到尾 没有限定末尾 可以取完
 7 # print(s1[1:]) # 从s1[1]到末尾
 8 # print(s1[:5]) # 从开始到s1[5]
 9 
10 # s2 = s1[3] + s1[4] + s1[5] + s1[6] + s1[7]
11 # print(s2)
12 # print(s1[3:-1]) # 顾头不顾腚 无法取到最后一个
13 # print(s1[:-8]) # 从开头到倒数第八个
14 # print(s1[-8:-1]) # 倒数第八获取到倒数第一个 但获取不到倒数第一
15 # print(s1[:-1]) # 同理切片到倒数1 但不显示
16 # print(s1[-5:]) #到末尾

  跳着截取:

1 # 跳着截取
2 # s[start: end: step] step步长 如果是正数从左到右。 如果是负数就是从右到左
3 s3 = "RNG牛逼,RNG牛逼"
4 print(s3[::2]) # 从头到尾 每隔两个获取 RG逼RG逼(注意这里没限定末尾 可以取到逼)
5 print(s3[3:9:2]) # 从3取到9隔2取一  牛,N
6 print(s3[-5::-2]) # 从倒着5到开头 倒着隔2取1  R逼GR
7 print(s3[-1:-9:-1]) #从倒1倒倒9 倒着隔1取1  逼牛GNR,逼牛  (顾头不顾腚 取不到G)

 

4.字符串的相关操作

   注意,字符串是不可变的对象,所以任何操作队员字符串都不会有任何影响!

  4.1.大小写转换

  语法:xxx.capitalize() 首字母大写,如:

1 s = "rng牛b"
2 # s.capitalize()
3 # print(s) #无变化 需要重新获取
4 # s1 = s.capitalize()
5 # print(s1)   #大写首字母

  xxx.lower() 把字符串转换成小写.

  xxx.upper()把字符串转换成大写.

1 s = "rng牛B"
2 # 大小写转换
3 s2 = s.lower()  # xxx.lower() 全转换成小写
4 print(s2)
5 
6 s3 = s.upper() # xxx.upper() 全转换成大写
7 print(s3)
1 while 1:
2     content = input("请输入你要喷的内容,输入exit退出:")
3     if content.upper()=="EXIT":
4         break
5     print(content)

  xxx.swapcase()  大小写互相转换

1 s4 = s.swapcase()  # 大小写相互转换
2 print(s4)

  另一种转换小写

1 a = "人生苦短,我用Python!"
2 a1 = a.casefold()  # 转换成小写,于lower区别在:lower()对某些字符支持不够好.
3 # casefold()对所有字⺟母都有效. 比如东欧的⼀些字⺟
4 print(a1)
5 
6 a3 = "БBß" # 俄美德
7 print(a3)
8 print(a3.lower())  # бbß
9 print(a3.casefold())  # бbss  
被特殊字符隔开的单词首字母大写
1 # 每个被特殊字符隔开的单词首字母大写
2 s = "chinese中国china"  # 中文也算特殊字符
3 print(s.title()) # Chinese中国China   
4 
5 s1 = "i$can,i&up "
6 print(s1.title()) # I$Can,I&Up

 

  4.2.居中填充 .center(长度值,填充字符)

  如:

1 # # 居中
2 z = "周杰伦"
3 print(z.center(11 ,"*"))  # 拉长成为11,原字符居中,其他用"*"补充

 

  4.3. 去空格 空白  .strip()

1 k = "    \n\n\n\t王力宏下周将开展演\唱会 \n\n\n\n\t  "
2 k1 = k.strip()
3 k2 = k.rstrip()
4 k3 = k.lstrip()
5 print(k3)  # 去掉左边空格
6 print(k2)   # 去掉右边空格
7 print(k1)    # 去掉两边空格

  登陆模拟  规范用户输入  

1 # 登录模拟 忽略空格 规范用户输入  strip() 用于登录模拟
2 username = input("请输入用户名:").strip()
3 password = input("请输入密码:").strip()
4 if username == "小白" and password == "123":
5     print("输入正确!")
6 else:
7     print("输入错误")

  去掉指定字符

1 # strip() 去掉指定字符
2  g = "1232456gjjjag"
3  print(g.strip("1232456"))

 

  4.4.替换字符 .replace()

  替换指定字符:

1 # replace(xxx,xxxx) 替换指定字符
2 x = "good better best"
3 print(x.replace(" ",","))

  字符中xx替换成xxx替换x次

1 x1 = "hello_you_are_so_beautiful"
2 x2 = x1.replace('o','xxx',2)  # 替换 x1字符中的 o 替换两次
3 print(x2)  
4 
5 # hellxxx_yxxxu_are_so_beautiful

 

  4.5.字符串切割 .split()

1 # split() 字符串切割
2 b = "one,two,three,four,five,six"
3 b1 = b.split(",")  # 五个 , 分割成六段
4 print(b1)
5 
6 # ['one', 'two', 'three', 'four', 'five', 'six']

  注意:如果沿边切割,一定会出现空字符

1 s = """湿人
2 学者
3 渣渣
4 """
5 print(s.split('\n'))   # ['湿人', '学者', '渣渣', ''] 出现空字符 贴边切会出现!
6 
7 # 如果切割符在左右两端. 那么⼀定会出现空字符串.深坑请留意
8 
9 # ['湿人', '学者', '渣渣', '']

 

  4.6.格式化输出 %s  .format()

  如:

 1 s1 = "我叫%s,%s岁,现居%s,做%s相关的工作。"%("小白","22","深圳","编程",)  # 常用
 2 s2 = "我叫{},{}岁,现居{},做{}相关的工作。".format("小白","22","深圳","编程") # 按位置格式化
 3 s3 = "我叫{1},{2}岁,现居{0},做{3}相关的工作。".format("深圳","小白","22","编程")  # 指定位置
 4 s4 = "我叫{name},{age}岁,现居{address},做{job}相关的工作。".format(address='深圳',job='编程',age='22',name='小白') # 指定关键词
 5 print(s1)
 6 print(s2)
 7 print(s3)
 8 print(s4)
 9 
10 '''
11 我叫小白,22岁,现居深圳,做编程相关的工作。
12 我叫小白,22岁,现居深圳,做编程相关的工作。
13 我叫小白,22岁,现居深圳,做编程相关的工作。
14 我叫小白,22岁,现居深圳,做编程相关的工作。
15 '''

 

  4.7.判断查找 .startswith()  .endswith()  .find()

  如:

 1 c = "勇士们都很喜欢赛丽亚和爆杠深渊深渊"
 2 c1 = c.startswith("勇士") # 判断是否以 勇士 开头 =》True False
 3 c2 = c.endswith("深渊") # 判断是否以 深渊 结尾 =》True False
 4 print(c1)
 5 print(c2)
 6 
 7 '''
 8 True
 9 True
10 '''

  .find()查找字符出现的位置,若没有返回 -1

1 # .find() 查找字符出现的位置,若没有返回 -1
2 c4 = c.find("深")
3 c5 = c.find("dnf")
4 print(c4)   # 13
5 print(c5)   # -1

  .find()切片查找

1 # .find() 切片查找
2 c6 = c.find("丽",3,10) # 在 c[3]-c[10]查找 丽 的位置
3 print(c6)  # 8

  .index()查找索引的位置

1 # # .index() 查找索引位置
2 c7 = c.index("赛丽亚")
3 c8 = c.index("dnf")   # substring not found  找不到 报错 所以常用 .find()查找
4 print(c7)
5 print(c8)

 

  4.8.内置函数 求字符串长度  len()

  如:

1 # len()内置函数 求字符串长度
2 n = "Yes I Can!"
3 n1 = len(n)  # 内置函数 理解成类似 print()
4 print(n1) # 10

 

  4.9.迭代对象    for 

  在这之前试试while获取每一个字符再输出

 1 z = "今天是周六,阳光明媚,可惜我感冒了"
 2 count = 0
 3 while count<len(z):  # len(z)是字符串长度,count是索引
 4     print(z[count])
 5     count += 1
 6 '''
 7 今
 8 天
 9 是
10 周
11 六
12 ,
13 阳
14 光
15 明
16 媚
17 ,
18 可
19 惜
20 我
21 感
22 冒
23 了
24 
25 '''

  再看看用for会如何呢

1 # 用for循环 语法:for 变量 in 可迭代对象:
2 for z1 in z:  # 把z的每一个元素赋值给前面的z1变量
3     print(z1)
4 
5 # 可知能达到同样的效果

 

continue...

 

 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯