- 内存分配规则
- 算法小练习,冒泡、递归、二叉树更多等
- lamda 使用方法
- 多线程
字符串拼接
first_name="ada"
last_name="lovelece"
full_name= first_name+" "+last_name
print (full_name)
ada lovelece
- 变量名只能包含字母数字下划线,但是不能数字开头、变量名不能包含空格
- 不能将python关键字和函数作为变量名称
- 慎用字母L和O,很可能被看成0
name ="ada lovelace"
print name.title()
首字母大写
整数、浮点数
浮点数,所有语言都存在这样的问题
image.png
- 为什么0.1+0.2的结果是0.30000000000000004
我们知道,计算机中存储的都是二进制的0和1,而我们现实中的数存入计算机中转换为二进制时有可能不能整除,也就是不能正好整除,所以用二进制表示现实中的数并计算就产生了误差。
把十进制的0.1和0.2转换为二进制:
0.1 => 0.0001 1001 1001 1001…(1001无限循环)
0.2 => 0.0011 0011 0011 0011…(0011无限循环)
但是我们计算机的硬件存储的位数是有限制的不可能无限循环下去,一般双精度浮点数总共占用64位,其中最多53位为有效精度数字(包括符号位),所以存储时:
0.1=>0.0001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001
0.2=>0.0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011
0.1+0.2=> 0.0100 1100 1100 1100 1100 1100 11001 100 1100 1100 1100 1100 1100
转换为十进制就是:0.30000000000000004
- 浮点数的长度是多少
1. 计算机硬件存储设备是有限的一般双精度浮点数共占用64位,其中最多是53位为有效精度数字
2. 单精度浮点数(float)与双精度浮点数(double)
3.
•单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38 8进制
•双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308 16进制
- 整数的长度是多少
因为2进制计算
32位系统上是 2**31 - 1,64位系统上是2**63 - 1
- 整数运算11/4=2
- 浮点数运算11.0/4.0=2.75
语句与函数
- 语句是语法范畴,比如if 语句、while语句、for语句、lamda、print正则表达式等,是将固定标记翻译成机器语言或者函数,直接计算,是固定的语法结构不能改变。
- 函数将数据接收后做一系列的处理,可以修改函数实现过程
列表
- 删除列表指定元素 del 语句
删除角标为0 的元素 :del list[0] 删除后无法访问了 - 删除列表指定元素 pop()方法
默认:pop()弹出列表末尾元素
指定元素:pop(0)弹出指定索引元素
pop_ele=list.pop(0)弹出的元素可以继续使用 ,这里del语句 不可以
同时list列表元素正常弹出角标为0 的元素 - 删除列表指定元素remove()
根据 值 删除列表元素,删除列表中出现的第一个元素
list.remove(a) 删除列表中的a元素 - 列表的排序
- 永久性修改,原始排列顺序已经修改
list.sort() 永久性的修改了列表元素的排列顺序,升序排列
list.sort(reverse=True),永久性的修改了列表元素的排列顺序,降序排列 - 临时性修改,原始排列顺序不修改
list.sorted()、list.sorted(reverse=True) ,可以复制使用 - 倒着打印列表,永久性修改列表
list.reverse(),调用2次就可以恢复原来的样子
网友评论