笔记未加整理,占供自己查看
目录
一、运行
在linux中,进入终端直接输入python即可进入python交互模式
创建1.py文件,
vim 1.py进入编译 ,
用python 1.py进行解释
若在1.py前加入 #!/usr/bin/python
再加入可执行权限 chmod +x 1.py
就可以通过 ./1.py 进行解释
创建2.py ,输入以下代码
import py_compile
py_compile.compile("1.py") //作用是编译 1.py
则会生成 1.pyc 编译文件
优化代码
经过优化的源代码,扩展名为".pyo"
命令 python -O -m py_compile 1.py
则会生成1.pyo文件
编译文件比解释文件运行速度快
chomod +x * //全部加执行权限
.pyc 和.pyo 不能使用 ./1.pyc[o] 来执行
二、变量
* 变量命名
* 变量赋值
>>>a=1
>>>id(a) //查看变量的地址
>>>a=1
>>>a=34
//这两个a并不在同一个空间
print a
>>>a=123
>>>b=123
>>>id(a)
>>>id(b)
//a和b的地址相同
三、运算符
+ 加法
- 减法
* 乘法
/ 实数除法 3/2=1 3.0/2=1.5
// 整数整除 3.0//2=1.0
% 取余
** 幂 3**2=9
逻辑 and or not
优先级:
匿名函数 Lambda
逻辑运算 or
逻辑运算 and
逻辑运算 not
成员测试 in,not in
同一性测试 is,is not
比较 <,<=,>,>=,!=,==
按位或 |
按位异或 ^
按位与 &
移位 <<,>>
加减法 +,-
乘法、除法与取余 *,/,//,%
正负号 +x,-x
按位取反 ~x
指数 **
a=raw_input()
输入 数字 其实是字符串
可以用
a=int(raw_input())
也可以出现一些提示
a=int(raw_input('请输入一个数字:'))
四、数据类型
数字
type(数据) #查看数据的类型
整型 int
长整形 long
浮点型 float
复数型 complex >>>c=3.14j
字符串 string
单引号 '~'
双引号 "~"
三引号 """~""" '''~'''
切片 例 a='abcde'
>>>a[1:4] //左闭右开
>>>'bcd'
>>>a[:4]
>>>'abcd'
>>>a[::2] //步长为2
>>>a[-4:-1] //反向取
>>>'bcd'
>>>a[-2:-1:-1] //最后-1代表从右往左取
字符串和列表 元组 都属于序列 都有索引和切片
序列的基本操作
len() 求序列的长度 len(str)
+ 连接2个序列 str1+str2
* 重复序列元素 str*5
in 判断元素是否在序列中 'c' in str1 返回一个布尔类型
max() 返回最大的值 str='12345' max(str) -->5
min() 返回最小的值
cmp(tuple1,tuple2) 比较2个序列值是否相等 1代表前面的大
0代表两个一样大
-1代表后者大
元组 :通过()定义 和字符串一样不可变的
>>> userinfo='milo 30 male' #不方便
>>> t=("milo",30,"male")
>>> name,age,gender=t
>>> a,b,c=(1,2,3) #就是a=1,b=2,c=3
创建空元组
t=()
创建单个元素的元组
t=(2,) #逗号不能去掉, 不然就是t=(2)为<int>型
列表 :通过[]定义 和元组相似,但它是可变的,即可以修改里面的值
列表操作
-取值
* 切片和索引
* list[]
-添加
* list.append()
-删除
* del(list[])
* list.remove(list[]) //挑第一个删除
-修改
* list[]=x
-查找
* var in list
-帮助
help(list.append)
字典 通过{}定义 具有一一映射关系(哈希表)
>>>t=[name="name"] 不方便
zip()函数
字典的定义
dic={name:'milo','age':25,'gender':'male',key:value}
dic[0] //错误
dic['name']
>>>'milo'
dic[key]
>>>value
--------
>>>a=123
>>>b=456
>>>dic={a:"aaa",'b':"ddd"}
>>>{123:"aaa",'b':"ddd"}
访问字典,遍历
for k in dic
print k
dic[k]
增加值
dic[key]=value 无序的
修改
dic[key]=new_value
删除
del(dic[key])
del(dic) //删除整个字典
dic.pop(key) 删除并且返回键为key的元素
dic.clear() 删除字典里的所有元素
字典相关的内建函数
type() str() cmp()
工厂函数dict() 缺点:慢 一般不用
dic.get(key,default=null) 从列表中取出键值为key的值
dic.get(key,'error') 如果不存在key,则提示error
dict.keys() dict.values 返回字典所有的键和值