Day06笔记 -路飞学城学员

数据类型(上)

分为五个维度:定义,独有功能,公共功能,类型转换,其他。

1.整形

1.1 定义

整形实质上是现在所有10进制数的集合

1.2独有功能

用于计算二进制位的多少,例如:

v1 = 16
print(v1.bit_length())  # 5
print(bin(16))  # 0b10000
1.3公共功能

加减乘除

1.4数据转换
# bool
print(True)     1
print(False)    0
# str
print("123")    123
# 进制转换
print(int('0b10000',base=2))     16
......
1.5 其他
1.51 在py3中int可以表示任意数,而在p2中int能表示的数值有限,超出后被表示为长整形。
1.52 地板除
#python3
print(9/4)
2.5
# python2
print(9/4)
2

2.布尔类型

2.1定义

就是真和假的统称

2.2 独有功能

2.3 公共功能
print(True + True)     # 2
2.4类型转换

0,""(空字符串),空列表,空字典,空集合等都是False

其他的都为True

2.5 其他

做while或者if 中的条件是自动转为布尔值:

while 5:
    print(666)
else:
    print(999)     # 666,5的布尔值是True
# if 同理....

3.字符串

3.1定义
v1 = 'Alex'
v2 = "Alex"
v3 = "A'elx'"
v4 = '''
Alex
Alex
'''
# 单引号和双引号只能写一行字符,三引号可以换行写。
3.2.独有功能
3.2.1 判断字符是否以什么开头,得到一个布尔值。 变量.startswith()
name = "Alex"
if name.startswith("Al"):  # True
3.2.2 判断字符是否以什么结尾,得到一个布尔值 。 变量.endswith()
name = "Alex"
if name.endswith("x"):     # True
3.2.3 判断字符串是否是十进制(整形),得到一个布尔值。 变量.isdecimal()
v1 = "123"
print(v1.isdecimal())   # True
3.2.4 清除字符串两边的空白,制表符,换行符 变量.strip()

拓展:清除左边空白 变量.lstrip(),清除右边空白 变量.rstrip()

msg = "  hello,Alex  "
print(msg.strip())  # hello,Alex

补充:strip还可以去掉字符串两边指定的换行符

msg = "xAlex"
print(msg.strip("x"))   # "Ale"
3.2.5 字符串变成大写 变量.upper()
name = "Alex"
print(name.upper())  # "ALEX"
3.2.6 字符串变成大写 变量.lower()
name = "Alex"
print(name.lower())  # "alex"
3.2.7 格式化字符串 .format()
name = "Alex"
age = 18
print("{} is {} years old!".format(name,age))
# Alex is 18 years old!
3.2.8 字符串转化为字节类型
name = "Alex"
name = name.encode("utf-8")
print(name)       # b'Alex'
3.2.9 字符串居中,居左,居右。变量.center(数量,“符号”) .ljust(数量,“符号”) .rjust(数量,“符号”)
name = "Alex"
name = name.center(20,"*")
print(name)   #  ********Alex********
name = "Alex"
name = name.ljust(20,"*")
print(name)   #  Alex****************
name = "Alex"
name = name.rjust(20,"*")
print(name)   #  ****************Alex
3.2.10 帮助字符串填充0 变量.zfill(数量)
name = "Alex"
name = name.zfill(10)
print(name)   #  000000Alex

运用场景:二进制问题

# 将二进制数填充至八位
print(bin(5))   # 101
print(bin(5).zfill(8))  #  0000b101
3.2.11替换字符串里面的内容 replace方法
msg = "我叫Alex"
msg = msg.replace("Alex","wupeiqi")
print(msg)   #  我叫wupeiqi
msg = input("输入内容:")
msg = msg.replace("草","**")
msg = msg.replace("尼玛","***")
print(msg) 
#  输入内容:草尼玛
#  *****
list = ["草","尼玛","呵呵"]
msg = "草尼玛呵呵"
for i in list:
    msg = msg.replace(i,'**')
print(msg)
#  ******
3.2.12 字符串的切割 split
name = "Alex,wupeiqi,pig"
name  = name.split(",")
print(name)
#  ['Alex', 'wupeiqi', 'pig']  # 切割后的内容是个列表

也可以指定切割数量:

name = "Alex,wupeiqi,pig"
name  = name.split(",",1)
print(name)
#  ['Alex', 'wupeiqi,pig']

还可以从右边开始切割字符

name = "Alex-wupeiqi,-pig"
name  = name.rsplit("-",1)
print(name)
#  ['Alex-wupeiqi,', 'pig']
3.2.13 字符串的拼接
name_list = ["Alex","wupeiqi","pig"]
name ="-".join(name_list)
print(name)
#  Alex-wupeiqi-pig
3.3 公共功能
1.相加 :只能是字符串和字符串相加
print("3" + "6")   #"36"
2.相乘 :只能是字符串和整型相乘
print("Alex" * 3)   # "AlexAlexAlex"
3.求长度
print(len("Alex"))   # 4
4.根据索引找到值
name = "Alex"
name[0]  # "A"
name[1]  # "l"
name[2]  # "e"

注意:只能通过索引取到字符串,而不能通过索引修改字符串!【字符串在内部储存时不允许在内部修改,只能重新创建或者赋值i】

name = "Alex"
index = len(name)-1
while index >=0:
	value = name[index]
    index -=1
    print(value)
# # #
x
e
l
A
5.字符串的切片
name = "Alex"
v1 = name[0:2]   # 'Al'
v2 = name[1:-1]  # 'le'
v3 = name[0:len(name)]  # 'Alex'

注意: 同样也不能对字符串进行修改

6.步长 隔着取
name = "wupeiqi"
print(name[0:7:1])    # "wupeiqi" 前两个是切片,第三个是步长
print(name[0:7:2])    # "wpeii"    2 表示隔一个取一个
print(name[7:0:-1])   # "iqiepuw"  -1 b表示倒着取
print(name[":::2"])   # ::表示整个字符串
7.循环

while循环

name = "Alex"
index = len(name)-1
while index >=0:
	value = name[index]
    index -=1
    print(value)

for 循环

name = "Alex"
for i in name:
    print(i)
3.4转换

一般来讲是整型转化为字符串

num = 18
print(str(num))  # "18"
3.5 字符串不能被修改

name[":::2"]) # ::表示整个字符串


##### 7.循环

> while循环

```python
name = "Alex"
index = len(name)-1
while index >=0:
	value = name[index]
    index -=1
    print(value)

for 循环

name = "Alex"
for i in name:
    print(i)
3.4转换

一般来讲是整型转化为字符串

num = 18
print(str(num))  # "18"
3.5 字符串不能被修改

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HCVKqBZh-1612756662859)(Day06笔记.assets/image-20210207210056144.png)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值