Python初识
一、编程语言
编程语言大类分三种,机器语言、汇编语言、高级语言(我们现在大多数的语言,如C,JAVA,Python都为高级语言)
①机器语言
实质就是101010101001010101010101010101010100101010,这种最底层的语言,机器可以读的懂,但我们人类是非常难懂,
优点是运行速度最快,缺点是开发效率最低,复杂程度最高
②汇编语言
在机器语言的基础上有一定的改进,但还是不便于人的阅读,较为底层
优缺点和机器语言一样
③高级语言
分两种,解释型和编译型
解释型:程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次,类似“同声传译”
优点是:跨平台性好;随时可以修改
缺点是:运行速度较慢,一边解释一边执行;代码为明文
编译型:一次编译后就一直可以执行,生成可执行文件
优点:运行速度快;不需要源代码,不依赖编译环境
缺点:跨平台性差;不便于修改
二,循环
while循环
continue 和 break
continue 是直接结束当前的循环,立刻执行下一个循环
break 直接退出整个循环
deep....loop
死循环
while......else......
在Python和其他高级语言不一样的是,while后可以接else
if choice == y or choice == Y:
三、执行py文件方式
执行python文件的两种方式:
1. a.py
2. ./a.py
四、查看变量地址
查看变量在内存中的地址
使用id,如 a=100,id(a) 即可查看地址
五,变量之间的关系
n1 = 123
n2 = n1
变量名 n1 指向了值123,n2只是通过n1这个变量名找到了123,所以n2实际上是指向了123,即n1和n2是个并列的关系
六、Python2 里两种导入编码方式
#! -*- coding: utf-8 -*-
#!encoding:utf-8
七、py2 和 py3 区别
py2 默认编码ascii
py3默认编码utf-8 没有长整型
八、提高浮点数精确度:
from decimal import #调用库
九、列表:
list.index() #查找下表索引
list.count() #查询制定元素的个数
切片
list[0:3] #顾头不顾尾
list[-5:] #切后5个
list[::2] #步长2
增
list.append('Tom') #追加
list.insert(4,'Tom') #插入
改
list[2] = 'Mary' #修改
list[4:6] = 'Pei ji' #批量修改,少用
删除
list.pop() #返回删除最后的一个值
list.remove('Tom') #删除指定值
del list[2] #全局的删除功能
del list[2:8] #批量删除
循环
for i in list:
print(i) #将列表的每一个值临时赋值给i
range(10) #生成一个0~10的列表
while 与 for 循环
while可以是死循环,但for总会有一个边界,不能回有死循环
排序
list.sort() #按ascii排序
list.reverse #反转
list+list2 #相加
list.extend(list2) #相加
list.clear() #清空列表
list.copy #copy是把两个列表完全独立了,list = list2,列表的这种赋值方法有异与变量之间的赋值,这时若改动list,则list2也会跟着改动,这时候就需要copy,将两个列表完全独立
十、copy
浅copy
n1 = list.copy() #copy了一份给n1,相当于找了一个新的杯子,但里面的元素还是共用,此时若里面有一个子列表,改变子列表的一个元素,两个列表都会同时改变
此时的需要使用深copy
imoprt copy
n1 = copy.deepcopy(list)
十一、字符串:
s = "Hello World!"
print(s.swapcase()) #大变小,小写变大写
s.capitalize() #只把首字母改成大写
十二、hash函数
不可变类型:元组,数字,字符串
可变类型:列表
十三、字典
ksy:value
key 必须唯一,可hash,不可变
可存放任意多个值、可修改、可以不唯一
无序
查找速度快
可hash是为了变成数字,使得key有规律
字典也不能当为key,因为里面是可以被修改的
item.get() #获取某个key对应的值
item.pop #删除
item.values() #取出values
item.items() #字典变列表
item.update() #覆盖,没有创建,有就被覆盖
item.setdefault('key','new_value') #增 #查找key,有就返回当前值,若没有就创建这个key,并设置成new_values
item.fromkeys() #批量生成key对应的一个values值
数字类型:数字
在py2中,当大于2**64位时,会变成long,数字后加L
在py3中,全部都为int型,大于2**64位时,还是int,没有long了