变量
在代码中用来临时保存数据
基本规范:1、只能由数字、字母、下划线组成
2、不能以数字开头
3、不能使用python中的关键字
python中的关键字
import keyword
print(keyword.kwlist)
打印结果:['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await',
'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally',
'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal',
'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
数值类型:
整数:int
age = 18
小数(浮点数):float
num01 = 33.333
布尔类型:
True:表示真,条件成立
Flase:表示假,条件不成立
所有的数据都可以转换为布尔值:
非零为True:数据值不为0,数据长度不为0,数据值不为空(None),那么这个数据的布尔值是True
算术运算符:
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
// | 除法取整 |
% | 除法取余 |
** | 幂运算 |
比较运算符:
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
!= | 不等于 |
== | 等等于 |
备注:等于号(=)表示给变量进行赋值
字符串
可以通过引号来表示
字符串的转义: \ 可以对特殊符号进行转义
\n :表示换行
\t :表示制表符
s1 = "你好"
s2 = '你好'
字符串的拼接,可以通过"+"号拼接
a = '小铭'
b = '小琳'
print(a+'的好朋友是'+b)
打印结果:小铭的好朋友是小琳
字符串的输出
1、传统的%号格式化
%s :表示一个字符串占位符(后面填任意类型的数据都可以)
%d :表示一个整数占位符(后面只能填数值类型的数据,会转换为整数)
%f :表示一个浮点数占位(后面只能填数值类型的数据,为转换为小数)bool int float
name = '小铭'
money = 20000
desc = "今收到%s,交来学费%s元,开此收据为凭" % (name, money)
print(desc)
print('交来学费%d元' % (8.88))
print('交来学费%f元' % (700))
打印结果:
今收到小铭,交来学费20000元,开此收据为凭
交来学费8元
交来学费700.000000元
2、字符串的f 表达式(f小写大写都可以)
name = '张三'
age = 800
desc4 = F'收到{name},交来学费{age}元,开此收据为凭'
print(desc4) #输出结果为 : 收到张三,交来学费800元,开此收据为凭
3、format:格式化
# 可以在{}中指定填充数据的位置
desc2 = "今收到{1},交来学费{0}元,开此收据为凭".format('李四', 800)
print(desc2) #打印结果:今收到800,交来学费李四元,开此收据为凭
# 格式化小数
desc2 = "今收到{},交来学费{:.3f}元,开此收据为凭".format('李四', 888.99499923232)
print(desc2) #打印结果:今收到李四,交来学费888.995元,开此收据为凭
# 格式化百分比显示
desc3 = '接口自动的用例执行通过率为 {:.1%}'.format(0.8899)
print(desc3) #打印结果:接口自动的用例执行通过率为 89.0%
"""格式化字符串的长度:
{:^20}: ^居中对齐
{:<20}: 左对齐
{:>20}: 右对齐
{:*>20}:可以在对齐符号的前面指定填充字符"""
print("今收到{:^20},交来学费80元,开此收据为凭".format('dasda'))
print("今收到{:>20},交来学费80元,开此收据为凭".format('dsiuauidas'))
print("今收到{:<20},交来学费80元,开此收据为凭".format('ds'))
print("今收到{:*>20},交来学费80元,开此收据为凭".format('dsasdasdsasda'))
"""
打印结果
今收到 dasda ,交来学费80元,开此收据为凭
今收到 dsiuauidas,交来学费80元,开此收据为凭
今收到ds ,交来学费80元,开此收据为凭
今收到*******dsasdasdsasda,交来学费80元,开此收据为凭
"""
字符串的索引和切片
python中所有的序列类型(字符串、列表、元组)数据都有索引
索引:
正向索引:按从前往后的顺序,从0开始数,越往后值越大
反向索引:按后前往前的顺序,从-1开始数,越往前值越小
索引取值: 结果 = 数据[索引值]
s1 = 'abcdefg'
res1 = s1[4]
res2 = s1[-1]
print(res1) #打印结果:e
print(res2) #打印结果:g
切片:
1、切片:[start:end]
结果 = 数据[起始位置索引:终止位置的索引]
切片注意点:取头不取尾 (左闭右开)
2、加步长的切片:[start:end:length]
结果 = 数据[起始位置索引:终止位置的索引:步长]
# 注意点:起始位置和终止位置不写,默认代表最前面和最后面
"""有个字符串为"abcdefg.exe" 通过切片完成下面的任务
1.输出前3个字符
2.输出后2个字符
3.倒叙输出
4.间隔1个字符串输出"""
a = "abcdefg.exe"
print(a[:3]) # abc
print(a[-2:]) # xe
print(a[::-1]) # exe.gfedcba
print(a[::2]) # acegee
字符串常用的方法
1. replace:替换字符串中的内容
参数1:需要替换的内容
参数2:替换之后的内容
参数3:可以指定替换的次数(默认是替换所有的值)
注意点:(参数2)替换之后的内容只能传递字符串
s = 'python123java123php123C++'
res = s.replace("123", '999')
print(res) #打印结果为 : python999java999php999C++
s = 'python123java123php123C++'
res = s.replace("123", '999',2) #指定替换的次数
print(res) #打印结果为 : python999java999php123C++
2、find: 查找指定字符的索引位置,若找不到则返回-1(返回查找到的第一个的索引)
s2 = 'pythonAjavaAphpA'
res = s2.find('A')
print(res) #打印结果为:6
print(s2.find('x')) # -1
3、join:字符拼接的方法 ‘’.jion(需要拼接的字符串)
res1 = ''.join(('python', 'java', 'php'))
print(res1) #打印结果为:pythonjavaphp
res2 = '_'.join(('python', 'java', 'php')) #以下划线进行拼接
print(res2) #打印结果为:python_java_php
x = "abc"
y = "def"
z = ["d", "e", "f"]
print(x.join(y)) # dabceabcf
print(x.join(z)) # dabceabcf
4. split:把一个字符串,以分隔符为分割点,分割成多个字符
s4 = 'python99java99php99c++'
res = s4.split('99')
print(res) #打印结果为:['python', 'java', 'php', 'c++']
s5 = '@id@mobile@pwd'
print(s5.split('@')) #打印结果为:['', 'id', 'mobile', 'pwd']
5. strip:去除前后指定的字符(默认是去除空白字符)
扩展:lstrip() 去除前面的(默认是去除空白字符)
rstrip() 去除后面的(默认是去除空白字符)
# 字符串去除前后空白字符
s = ' python35 hello python '
print(s)
res = s.strip()
print(res)
打印结果:
# 去除前后指定的字符
s2 = '+++++++python35 hello python------------'
res2 = s2.strip('+')
print(res2) # python35 hello python------------
res3 = s2.strip('-')
print(res3) # +++++++python35 hello python
6. upper:将字符串中的小写字符转换为大写
lower:将字符串中的大写字符转换为小写