学习Python第二课(下)
日期:2021年03月29日 讲师:风陨老师
Python基础知识点及运用方法
1. 索引取值 ----[]
a = 'abcdefg'
print(a[0]) # print(参数变量名[指定索引下标取值位置])
a # 输出结果
print(a[7]) # print(参数变量名[指定索引下标取值位置])
Traceback (most recent call last):
File "D:/Python/Python_notebook/课堂笔记/学习Python第二课3.26.py", line 141, in <module>
print(a[7])
IndexError: string index out of range # 输出结果:当下标取值范围超出可取值位置时就会报错
print(a[3:]) # print(参数变量名[索引取值下标开始位置:一直到最后的位置])
defg # 输出结果:从取值第3位置开始一直到最后的取值
print(a[:5]) # print(参数变量名[从第一个开始:索引取值结束位置])
abcde # 输出结果:从下标0的位置开始索引5个位置
print(a[3:5]) # print(参数变量名[索引取值下标开始位置:索引取值结束位置])
de # 输出结果:从下标3的位置开始索引到下标5之前的位置
print(a[::1]) # print(参数变量名[::间隔步长])
abcdefg # 输出结果: 正序排列的取值
print(a[1::2]) # print(a[开始下标位置:结束下标位置:间隔步长])
bdf # 输出结果:从下标1的位置开始索引,间隔2个步长取值
print(a[-1]) # print(参数变量名[指定索引下标取值位置])
g # 输出结果:从最后一个开始来索引位置
print(a[::-1]) # print(参数变量名[::间隔步长])
gfedcba # 输出结果: 倒序排列的取值
print(a[::-2]) # print(参数变量名[::间隔步长])
geca # 输出结果: 倒序排列间隔2个步长取值
2. 格式化
1. %S ----- 占位符
str1 = '我'
str2 = '很帅'
str3 = '真的'
d = 'str1%sstr2%s' %(str3, str3) # 'str1%sstr2%s' %(前面放入几个'%s',后面就要放入几个参数)
print(d)
str1真的str2真的 # 输出结果
2. 整数 ----- int
%o ---- 8进制 满八进一
'%o' %7
'7'
'%o' %8
'10' # 输出结果
int('7', 8)
7
int('9', 8) #int('待输入参数', 进制数[2进制、8进制、10进制、16进制])
Traceback (most recent call last):
File "<input>", line 1, in <module>
ValueError: invalid literal for int() with base 8: '9'
# 输出结果: 在8进制下,待输入参数数值8、9不能格式化转存,会报错
int('10', 8)
8 # 输出结果
%d ----- 10进制 满十进一
%x ----- 16进制 满16进一
'%x' %9
'9'
'%x' %10
'a'
'%x' %11
'b'
'%x' %12
'c'
'%x' %13
'd'
'%x' %14
'e'
'%x' %15
'f'
'%x' %16
'10'
# 16进制 满16进一 数值10至15分别用字母'a' 'b' 'c' 'd' 'e' 'f' 代替
int('10', 16)
16
int('11', 16)
17
int('1e', 16)
30 # 输出结果
3. 浮点数 ---- float
%f -----默认保留6位小数
'%.3f' % 2 # %小数点后面保留3位 %待保留参数
'2.000' # 输出结果
'%.8f' % 2.1100 # %小数点后面保留8位 %待保留参数
'2.11000000' # 输出结果 当小数点后面位数不足时用0补足8位数
%e ---- 科学计算 默认保留6位小数
'%e' %100.11001000
'1.000000e+02'
'%.1e' %140.11001000
'1.4e+02' # 输出结果:'1.4 X 10**2' 1.4乘10的2次方
%g ----- 科学计算转换
2. join ----- 列表[str1,str2,str3]多个字符串拼接
str1 = '2021' # 在多个字符串拼接时赋值格式必需以字符串格式输入
str2 = '03'
str3 = '31'
print('-'.join([str1, str2, str3])) # 在用'join'格式化时必需有列表格式代入
2021-03-31 # 输出结果
3. format ----- {} 跟点位符类似点位,点位数量与传值数量一致 重点 重点 重点
str1 = '2021{}03{}29'
print(str1.format('年', '月'))
# str1.format('要占位的参数1', '要占位的参数2') # 用点'.'查询
'2021年03月29' # 输出结果
n = '年'
y = '月'
str1 = '2021{}03{}29'
print(str1.format(n, y))
2021年03月29 # 输出结果
a = 1
b = 2
print(f'{a}{b}') # 声明引用已经定义的变量
12 # 输出结果
3. 身份运算符
1. == ---- 判断值是否相同
1 == 1
1 == 2
print(1 == 2)
False # 输出结果:1 不等于 2
2. is ---- 判断值是否相同 id是否相同(内存地址)
a = 1111
b = 1111
print(a is b)
True
print(id(a) is id(b))
False # 输出结果: 在pycharm中如果只是判断值是是否相等时,返回是True;如果判断内存地址是否相同时,任何值都反回False
a = 256
b = 256
a is b
True
id(a)
140732947274784
id(b)
140732947274784
a = 1111
b = 1111
a is b
False
id(a)
1646783675024
id(b)
1646783675088 # 输出结果: 在交互模式下运行时 判断 a is b 有个内存地址空间 -5 ---- 256 之间的数值id地址时返回True,超出这个地址范围时返回False
3. is not
a = 255
b = 255
print(a is not b)
False
print(id(a) is not id(b))
True # 输出结果:
a = 255
b = 254
a is not b
True
id(a)
140732947274752
id(b)
140732947274720
a = 255
b = 255
a is not b
False
id(a)
140732947274752
id(b)
140732947274752
a = 300
b = 300
a is not b
True
id(a)
1646783674992
id(b)
1646783672720
# 输出结果: 在交互模式下运行时 判断 a is not b 内存地址,在地址区间(-5 ---- 256)之内的是相同地址,超出这个地址范围时的是不同的内存地址
4.成员运算符
1. in ---- 判断一个字符串是否存在指定的数据
2. not in
a = '我是大熊猫'
print('大熊猫' in a)
True
a = '我是大熊猫'
print('宝宝' in a)
False
print('宝宝' not in a)
True
5. 比较运算符
1. == ----- 值是否相等
print(f'值是否相等 {1 == 1}')
print(f'值是否相等 {1 == 2}')
值是否相等 True
值是否相等 False #输出结果
2. != ----- 不等于
print(f'值是否相等 {1 != 1}')
print(f'值是否相等 {1 != 2}')
值是否不等于 False
值是否不等于 True #输出结果
3. > ----- 大于
print(f'值是否大于 {2 > 1}')
print(f'值是否大于 {1 > 2}')
值是否相等 True
值是否相等 False #输出结果
4. < ----- 小于
print(f'值是否小于 {2 < 1}')
print(f'值是否小于 {1 < 2}')
值是否小于 False
值是否小于 True #输出结果
5. >= ----- 大于等于
print(f'值是否小于 {2 >= 1}')
print(f'值是否小于 {1 >= 2}')
值是否大于等于 True #输出结果:当只要有一个值是符合的,返回True
值是否大于等于 False
6. <= ----- 小于等于
print(f'值是否小于 {2 <= 1}')
print(f'值是否小于 {1 <= 2}')
值是否小于等于 False
值是否小于等于 True #输出结果:当只要有一个值是符合的,返回True
6. 逻辑运算符
1. and(与) #两边条件都满足时,返回True,只要一边条件不满足就返回False
a = 1
b = 2
c = 1
print(a == c and b != c)
True #输出结果:当只有当两边的条件都符合时,返回True
print(a == c and b == c)
False #输出结果:当只有当两边的条件都符合时,返回True,不符合时返回False
2. not(非) #当条件反馈True时,not之后为False
a = 1
b = 2
c = 1
print(not a != c)
True #输出结果
print(a == c)
False #输出结果
3. or(或) #一方为真则为真
a = 1
b = 2
c = 1
print(a == c or a != c)
True #输出结果
当两边都为真时优先取前面
优先级顺序:not > and > or
7. 增量方法
-
+=
a = 2 a = a + 1 print(a) 3 a += 1 # 这是简化的方法:a = a + 1 print(a) 3
近期刚换了工作,学习进度有点跟不上了,后期等新工作稳定 了会持续更新的。