目录
逻辑运算
- 布尔值
运算优先顺序 ()->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}了")
结果