第一周内容重点复习

编程导论
1、程序开发流程:分析问题->编写程序->检查与法->运行调试->完成
2、机器码:
数制转换:二进制、八进制、十进制、十六进制。一般情况先转十进制,然后有十进制转换为目标进制。当前位的值乘以进制的位数减一次幂之和为该数字的十进制对应值
示例:八进制数 76543对应的十进制计算
7*(84)+6*(83)+5*(82)+4*(81)+3*(8**0)
由十进制转任意进制利用竖除法。
原码:
补码:
反码:
字符编码:是为了解决我们现实信息和机器信息实现一一对应所指定的一套标准
ASCII:0~127 一个字节
unicode: 两个字节
utf-8: 1-4字节
gb2312: 2个字节
gbk: 2个字节

3、python环境搭建

变量:命名 可以使用字符串数字以及下划线(_)的组合
不能以数字开头,不能使用关键字
建议:命名有意义,多个有意义的单词下划线连接
变量没有类型,变量的类型由其值确定。
变量必须先定义后使用。

分支、遍历、循环
对于分支的建议(条件范围有小到大依次判定),原因在if语句中条件只需要达成一次,之后的所有子句将不予执行。

break,continue之间的区别

语法建议:缩进 4个空格
三元表达式: a = 1 if a>1 else 0

表达式
运算:数学运算、位移运算、条件运算、逻辑运算、赋值运算、成员身份

代码建议:运算符号前后留空

#数字
import math #导入数学模块
a,b,c = 1.234,2.543,3.454
print(math.ceil(a)) #向上取整
print(math.floor(b))#向下取整
print(round(c,1))  #四舍五入
print(round(c,2))
print(round(c))
print(math.pow(a,b))#计算a的b次幂
print(math.fabs(b))#取绝对值等价于 abs函数
print(math.log(b))#取b的自然对数
print(math.sqrt(a))#求a的开方结果
2
2
3.5
3.45
3
1.7069250467489514
2.543
0.9333444864399827
1.1108555261599053
#序列:索引、切片、成员检测
#索引永远从0开始,切片注意方向

#字符串,‘ “ ’‘’包裹 转义 r|R
#格式化
a = ('abc'+'123')*4 #字符串的组合运算及重复运算

print(a.strip())#取出两边不可见字符 相关 lstrip() rstrip()
print(a.split('123')) #使用指定符号将a切割成列表 可选参数count可以指定切割次数
print(a.split('123',2))
print(a.replace('a','A'))#替换
print(a.replace('b','D',3))#指定替换次数
print(a.encode('utf-8'))#获取字符串对应的编码的字节流对象
print(b'Hello World'.decode('gbk'))#获取字节流对象对应的字符串
print('abc'.join(['1','2','3']))#使用字符串‘abc’将序列中的元素连接起来构成一个新的字符串
abc123abc123abc123abc123
['abc', 'abc', 'abc', 'abc', '']
['abc', 'abc', 'abc123abc123']
Abc123Abc123Abc123Abc123
aDc123aDc123aDc123abc123
b'abc123abc123abc123abc123'
Hello World
1abc2abc3
#列表 元素可以时任意类型
l = [1,2,3,4]
#列表支持 + × 运算
l.append([1,2,3])#列表追加一个元素
print(l)
l.extend([1,2,3])#给列表追加多个元素
print(l)
l.insert(3,'ABC')#列表的3号索引位置之前插入一个元素
print(l)
a = l.pop()#删除列表最后一个元素并返回
print(l,a)
a = l.pop(4)#删除索引为4的元素并返回
print(l,a)
l.remove(2)#删除值为2的第一个元素
print(l)
[1, 2, 3, 4, [1, 2, 3]]
[1, 2, 3, 4, [1, 2, 3], 1, 2, 3]
[1, 2, 3, 'ABC', 4, [1, 2, 3], 1, 2, 3]
[1, 2, 3, 'ABC', 4, [1, 2, 3], 1, 2] 3
[1, 2, 3, 'ABC', [1, 2, 3], 1, 2] 4
[1, 3, 'ABC', [1, 2, 3], 1, 2]
#列表推倒式
#使用一个序列通过推导的方式生成一个列表。示例:通过如下代码生成一个10以内的偶数的列表
[x for x in range(1,10) if x % 2 == 0]
[2, 4, 6, 8]
#扩展 生成式 使用圆括号  语法和推倒式基本一致:示例:
a = (x for x in range(1,10) if x % 2 == 0)
print(a)
for x in a:
    print(x)
<generator object <genexpr> at 0x7f4e9df4db10>
2
4
6
8
#元组
#注意空元组的声明以及一个元素的元组声明
#元组不可改,元组的元素如果是可修改类型则该元素可改。
#可以进行 + × index 切片操作
#字典 不是序列
#字典可遍历 遍历的是key
#字典的key具有唯一性,不可变
d = {1:2,2:3,'a':'abc',(1,2):'ccc'}
#访问修改

#字典的方法
d.get('key')#获取字典d中key对应的值
d.setdefault('key',404)#获取字典中key的值,如果不存在则设置
d.update(d)#将d的内容更新到原始的字典当中
d.keys()#获取字典的key的序列
d.values()#获取字典的value的序列
d.items()#获取字典的元素的序列,元素以(key,value)形式的元组展示
d.pop('key')#删除指定元素
d.popitem()#随机删除元素
((1, 2), 'ccc')
#集合 像字典一样定义 但是没有value 支持 & 交 | 并 - 差运算
#扩展 深复制与浅复制 重点(必须掌握)
l = [1,2,3,4,['a','b','c','d']]
#浅复制实现
l1 = l.copy()
print(l,l1)
l1.append('abc')
print(l,l1)
l1[4].append('abc')
print(l,l1)

l = [1,2,3,4,['a','b','c','d']]
#深复制实现
import copy
l1 = copy.deepcopy(l)
print(l,l1)
l1.append('abc')
print(l,l1)
l1[4].append('abc')
print(l,l1)
[1, 2, 3, 4, ['a', 'b', 'c', 'd']] [1, 2, 3, 4, ['a', 'b', 'c', 'd']]
[1, 2, 3, 4, ['a', 'b', 'c', 'd']] [1, 2, 3, 4, ['a', 'b', 'c', 'd'], 'abc']
[1, 2, 3, 4, ['a', 'b', 'c', 'd', 'abc']] [1, 2, 3, 4, ['a', 'b', 'c', 'd', 'abc'], 'abc']
[1, 2, 3, 4, ['a', 'b', 'c', 'd']] [1, 2, 3, 4, ['a', 'b', 'c', 'd']]
[1, 2, 3, 4, ['a', 'b', 'c', 'd']] [1, 2, 3, 4, ['a', 'b', 'c', 'd'], 'abc']
[1, 2, 3, 4, ['a', 'b', 'c', 'd']] [1, 2, 3, 4, ['a', 'b', 'c', 'd', 'abc'], 'abc']
'name %20s age %-05d'%('王五',23.7)
'name                   王五 age 23   '

猜你喜欢

转载自blog.csdn.net/weixin_43688726/article/details/84349148
今日推荐