python学习笔记--字符串、布尔类型

目录

逻辑运算

编码

基本数据类型

布尔类型

字符串类型


逻辑运算

  • 布尔值

运算优先顺序 ()->not ->and ->or

  • 数字进行逻辑运算

非零数字当成Ture,零当成False

and 和or正好相反

or   看第一个,是0不取0,不是零取前面

#or运算
# x or y
if x==0:
    结果是y
else
    结果是x
print(0 or 3) #结果3
print(2 or 3) #结果2
print(2 or 0) # 2
    

 and  看第一个 是0取0,不是0取后面

#and
# x and y
if x==0:
    结果是x
else 
    结果是y
print(0 and 6)  #0
print(3  and 5) #5

编码

不同编码之间不能直接进行转换

 encode()编码  可以将汉字根据gbk或者utf-8编码

decode()解码  将内容转化为人可以读懂的,根据其编码的形式进行解码

 

s="新年"
#编码
print(s.encode("gbk"))
#结果: b'\xd0\xc2\xc4\xea'

#解码
ss=b'\xd0\xc2\xc4\xea'
print(ss.decode("gbk"))
#结果 新年  

基本数据类型

bool,int,str

布尔类型

基本数据类型之间可以相互转换;空的东西转化后为False。

bool() 转化为布尔类型

str()转化为字符串类型

int()转化为整数类型

type(变量)查看数据类型

字符串类型

  • 字符串索引

下标从0开始,最后一个用-1表示

s="我爱中国"
#取出第一个字 我
print(s[0])
#取出第二个字 爱
print(s[1])
#取出倒数第一个字 国
print(s[-1]) 
  • 字符串切片

方法:s[start:end]  从start开始切片到end  但是不包括end (顾头不顾尾)

  默认从左向右切片

s="我爱中国,一个充满希望的国家"
print(s[2:8]) #“中国,一个充”
print(s[:8])#前面不写  从头切 “我爱中国,一个充”
print(s[2:])#后面不写  切到尾 “中国,一个充满希望的国家”
print(s[:])# 从头切到尾 “我爱中国,一个充满希望的国家”

需要从右向左切片时,要给第三个参数,step,正数时从左向右取,负数时,从右向左取

s[start : end :step] 

a="abcdef"
print(a[4:1:-1]) #从右向左 -1相当于步长  edc
print(a[1:4:2]) #每两个取出来一个  bd
  • 字符串处理

strip()函数:去掉字符串左右两边的空白(空格,\t ,\n)

        也可以去掉头尾包含的指定字符串

\t  就相当于Tab  \n 换行符

可以在写登录功能时用,用户输入用空格时,可以避免出错

去除空格

username=input("请输入用户名:").strip()
pwd=input("请输入密码:").strip()
if username=="tom" and pwd=="123":
    print("登陆成功")
else:
    print("登陆失败")

去除首尾字符串(中间的不去除)

s="00000iam00chinese00123000"
print(s.strip('0'))

#result
iam00chinese00123

 replace()  字符串替换

replace(“要替换的”,“替换的内容”)  

#replace()
s="我是一个粉刷匠"
print(s.replace("粉刷匠","xxx"))
#Result
我是一个xxx


#替换掉字符串里面的空格
ss="我有   两个   苹果   "
print(ss.replace(" ",""))
#Result
我有两个苹果

split()   字符串分割

分割后得到许多字符串

s="张三_李四_王五_杨六"
print(s.split('_'))


#Result
['张三', '李四', '王五', '杨六']

join()  把一个列表组合成字符串

#   join()
#   用'_认识_'组合列表

list=['张三', '李四', '王五', '杨六']
print('_认识_'.join(list))
#Result
张三_认识_李四_认识_王五_认识_杨六
  • 字符串格式化

旧的版本

%s 表示在字符串中占位,稍后会填充字符串(任何内容)

%d 表示在字符串中占位整数(digit)

%f 表示在字符串中占位小数(float)

float默认保存小数点后6位,%.2f表示保存小数点后2位

print("我叫%s,我来自%s,我今年%d"%("张三","中国",18))
print("我叫%s,我来自%s,我的收入是%.2f"%("张三","中国",28.888))

结果

新的格式化方案 python版本3.5以上

在字符串前加f  表示格式化(frame),用{}表示该变量

name="lucy"
sex="girl"
age=18
print(f"我叫{name},我是一个{sex},我今年{age}了")

结果

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值