python学习笔记(2)

python学习笔记(2)

字符串

字符串类型;

单引号和双引号:

strs = 'dsjkhd'
strss = "daskjdha"

或者单引号套双引号,反过来也行:

s = "I'm ok "

bool类型

True False

a = True
print(a==1)
#True

None 空类型:

''空字符串 ’ '空格字符串

n = None
print(n,type(n))
print(n == ' ')
print(type(''))
#None <class 'NoneType'>
#False
#<class 'str'>

复数类型:

​ complex:

fushu = 3 + 5j
print(fushu, type(fushu))
print(fushu.imag)      #虚部
print(fushu.real)      #实部
print(fushu.conjugate())  #共轭复数
#(3+5j) <class 'complex'>
#5.0
#3.0
#(3-5j)

bytes类型 :

#encode 编码
name = '赵信'
name_utf8 = name.encode("utf-8")#utf_8 是三位
name_gbk = name.encode("gbk") #gbk是两位
#decode 解码
print(name_utf8.decode("utf_8"))

格式化字符串

我们日常生活中经常会收到来自运营商的信息:

msg = "尊敬的xxx,您本月话费消费xx元,您的账户余额为xx元,打败了全国xx%的用户,如余额不足请及时缴费。xxxx年xx月xx日。"
name = "张三"
cost = 88.88
balance = 66.60
percent = 77.77
year = 2024
month = 3
day = 8

1.占位符 ;%d 整数 %s 字符串 %f 浮点型

msg_new = """尊敬的%s,您本月话费消费%.2f元,您的账户余额为%.2f元, #  .2 代表取小数点后2位 以此类推
打败了全国%.2f%%的用户,如余额不足请及时缴费。%d年%02d月%02d日。"""
print(msg_new % (name, cost, balance, percent, year, month, day))

2.format方式:

msg_new = """尊敬的{},您本月话费消费{:.2f}元,您的账户余额为{:.2f}元,
打败了全国{:.2f}%的用户,如余额不足请及时缴费。{}年{:02d}月{:02d}日。"""
print(msg_new.format(name, cost, balance, percent, year, month, day))

注意要在{}中添加约束条件 一般在冒号后面添加,{: .2f}代表保留小数点后两位,f是浮点型。{: 02d} :整型,占两位数字不够的话补0。

也可以添加参数:

msg_new = """尊敬的{n},您本月话费消费{c:.2f}元,您的账户余额为{b:.2f}元,
打败了全国{p:.2f}%的用户,如余额不足请及时缴费。{y}年{m:02d}月{d:02d}日。"""
print(msg_new.format(n=name, c=cost, b=balance, d=day, p=percent, y=year, m=month))

3.f-string方法(后面常用):

msg_new = f"""尊敬的{name},您本月话费消费{cost:.2f}元,您的账户余额为{balance:.2f}元,
打败了全国{percent:.2f}%的用户,如余额不足请及时缴费。{year}{month:02d}{day:02d}日。"""
print(msg_new)

字符串方法

name = ' 亚索-盲僧-石头人 狐狸 妖姬 亚托克斯 发条 '

1.去除空格: strip() lstrip rstrip(去掉左边的,去掉右边的)

print(name)
print(name.strip())  #作比较
# 亚索-盲僧-石头人 狐狸 妖姬 亚托克斯 发条 
#亚索-盲僧-石头人 狐狸 妖姬 亚托克斯 发条

2.replace 替换

print(name.replace('亚','鸭'))   #old:亚   new:鸭
#鸭索-盲僧-石头人 狐狸 妖姬 鸭托克斯 发条 

3.spilt 切分数据 默认切分空格:

import re
print(name.split('-', 1)) #以“-”切分
#[' 亚索', '盲僧-石头人 狐狸 妖姬 亚托克斯 发条 ']
print(re.split('[- ]+',name.strip())) # 以‘-’ 和空格切分
#['亚索', '盲僧', '石头人', '狐狸', '妖姬', '亚托克斯', '发条']

4.count 数字符的个数 索引的方式基本都是左闭右开 [)

print(name.count("亚", 0, 1))  #从0开始到1结束
#0                              #不包含1的位置 所以没有

5.index 索引 查看字符串的索引 一般第一个

print(name.index("亚", 3))  #同样index也可以定义起始位置  这里定义从3开始
#17                         #找到了第二个'亚'的位置

6.isdigit 判断字符串是否为数字(整数):

print("12a".isdigit())
#False

7.islower 判断字符串是否为小写字母:

print('abcA'.islower())
#False

8.isupper 判断字符串是否为大写字母:

print('Aa'.isupper())
#False

9.lower upper 大小写转换:

print("A".lower())
print("a".upper())
#a
#A

10.startwith 判断字符串以什么开头:

print(name.startswith("亚"))
# False

11.in \not in 检查一个子串是否在一个大字符串里:

print("亚" in name)
#True

12.字符串长度 : len()

print(len(name))
# 25

13.切片 [start:stop:step] start + step =>stop: step 默认为1

print(name[1:4])  # 从1开始 到4停止 (注意 不包括4)
print(name[::2])  # 步长改为2 每2步切一次
#亚索-
#索盲-头 狸妖 托斯发 

14.字符串反转:

print(name[::-1])  #通过步长来进行反转
#条发 斯克托亚 姬妖 狸狐 人头石-僧盲-索亚 

也可以通过这种方法来切片:

print(name[-3:-1])
print(name[-2:-4:-1])
#发条
#条发
print(name[3])  #通过这种方式 查找元素
#-
  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值