python-02
- 基础数据类型
一、int、float、bool
1、 int
- 整数
- 加减乘除、大小比较
2、 float
- 小数、浮点数
- 数据范围是无限的
- 计算机表示小数是会有误差的
3、bool
- 用来做条件判断的
- 取值范围:True、False
- 在python中所有的非空字符串都是True , 空字符串是False
4、 基础数据类型之间的转化
想把xxx转化成谁 ,就用谁把xxx套起来
二、字符串⭐⭐⭐⭐⭐
1、字符串的格式化
%s 字符串占位 、 万能的
%d 占位整数
%f 占位小数
1.1 输出的三种
name = input("Enter your name: ")
adress = input("Enter your address: ")
age = int(input("Enter your age: "))
hobby = input("Enter your hobby:")
s = "我叫%s, 我住在%s , 我今年%d岁 ,我的爱好是%s" % (name, adress, age, hobby)
print(s)
s1 = "我叫{}, 我住在{} , 我今年{}岁 ,我的爱好是{}" .format(name, adress, age, hobby)
print(s1)
s2 = f"我叫{name}, 我住在{adress} , 我今年{age}岁 ,我的爱好是{hobby}"
print(s2)
s = "我叫%s, 我住在%s , 我今年%d岁 ,我的爱好是%s" % (name, adress, age, hobby) print(s)
s1 = "我叫{}, 我住在{} , 我今年{}岁 ,我的爱好是{}" .format(name, adress, age, hobby) print(s1)
s2 = f"我叫{name}, 我住在{adress} , 我今年{age}岁 ,我的爱好是{hobby}" print(s2)
这种方式是python新加入的提倡使用的方法:f-String
2、索引和切片
2.1 索引
按照位置提取元素
自我感觉和数组<Java或者C语言>很相似,都是从 0 开始,调用的时候没有那么严克
同时在这里是存在负数的,表示 ” 倒数第几个“
格式
s = "我家大门常打开,欢迎你来做客" print(s[2])
2.2 切片
从一个字符串中提取一部分内容
格式
print(s[start:end])
表示从索引的start位置开始到end结束
⭐这里需要注意:是无法取到end位置上的东西
用数学格式来理解就是:【start , end)
如果从start开始,或者到end结束,可以不写start或者end
s = "我家大门常打开,欢迎你来做客"
print(s[2])
print(s[2:5])
print(s[:5])
print(s[3:])
print(s[-5:-2])
2.3 步长
可以给切片添加步长来控制切片的方向
s = "我爱你" print(s[::-1])
语法
s[start:end;step]
表示从 start 切到 end , 每 step 个元素出来一个元素
s = "sbcdefghigkrst" print(s[1:10:3])
如果最后一个为负数的话,为倒数,取最右边的
3、字符串的常规操作
字符串的操作一般不会对原字符串产生影响,一般是返回一个新的字符串
3.1 字符串的大小写转化
主要 : upper()方法
单个首字母大写
s = "python" s1 = s.capitalize() print(s) print(s1)
每个单词的首字母大写
a = "I love python" a1 = a.title() print(a) print(a1)
只能把一串英文识别为单词
把每个字母都变成大写
b = "I love python" b1 = b.upper() print(b) print(b1)
在这里,upper方法使用很多,比如输入验证码进行判断的适合,都转化为大写可简省很多。 //忽略大小写进行判断
eg:
code = "aDef" user_input = input(f"请输入验证码{code}:") if user_input.upper() == code.upper(): print(True) else: print(False)
3.2替换和切割
主要有: strip() 、 replace() 、split()
strip()
去掉字符串左右两端的空白符号:空格、\t、\n
案例 1 :
s = " hello world " s1 = s.strip() print(s1)
案例 2 :
username = "admin" password = "123456" print(username,password) username_input = input("enter your username:").strip() password_input = input("enter your password:").strip() if username_input == username and password_input ==password: print("welcome") else: print("False")
replace()
字符串的替换
案例:
s = "hello world" s1 = s.replace(" ", "") print(s1)
split()
split(用什么切割) 字符串的切割
切割之后的结果会放到列表之中
用谁去切,就会损失掉谁
案例:
a = "我家大门常打开,欢迎你来做客!" a1 = a.split("我家大门常打开") print(a1)
3.3查找和判断
3.3.1查找
find()
s = 'hello world' s_find = s.find('world') print(s_find)
如果出现-1则没有该字符串出现
index()
如果出现报错则没有出现该字符串
in
条件上的判断
print("world" in s) # for letter in s: # print(letter) print("hello" not in s)
3.3.2判断
判断字符串的开头
name = input("Enter your name: ") # 判断是不是姓常 if name.startswith("常"): # 判断字符串是不是以xxx开头 print("Hello") else : print("False")
判断是否由整数组成
money = input("Enter your money: ") if money.isnumeric(): # 判断字符串是否有整数组成 money = int(money) print("Your") else: print("False")
4、补充和总结
4.1补充
- len()
内置函数、和print一样
长度,length
join()
拼接
lst = ['123','123'] s = "_".join(lst) print(s)
字符串的循环和遍历
for c in s: print(c) # 输出字符串中的每个字符