Python基础(一)
2018-02-06 本文已影响30人
EvanForEver
本文代码测试环境为 Python3x
一、Python环境安装
pip安装第三方库
- pip install package(Mac在sudo后可能要加—user参数)
- 因为GFW影响,可以采用豆瓣源: pip install package -i --trusted-host
http://pypi.douban.com/simple - Windows专用已编译包下载
Anaconda环境安装和使用
- 常用命令
更新包:conda upgrade –all
列出已安装包:conda list
安装包:conda install package(=version)
删除包:conda remove package
搜索包名:conda search xxx
常用命令速查表 - 常用工具
spyder集成环境
Jupyter-notebook网页交互环境
二、Python基本语法规则
- 单选注释 #
(notebook里单行或多行注释:Ctrl+/ ) - 代码分隔 \
- 文本分隔 \n (制表符 \t)
- 多行文本赋值 ''' (维持文本格式)
- 多行语句写在一行 ;
- 缩进
- 分隔代码块:
(函数的头部和函数体之间的分隔) - 空行 (pass)
- 脚本运行 (举例%run d:/1.py)
Python标识符命名规则
标识符:计算机语言中,允许作为名字的有效字符串集合
- 特殊标识符(关键字,BIFs,专用下划线标识符)
- 创建合法的标识符规则(第一个字符以字母或下划线开始,其它部分可以是数字,字母或下划线)
- 大小写敏感
- 变量命名时建议采用驼峰表示法
Python中的关键字
- 常量
True,False,None - 函数,类,对象和模块
def , class,import,from,del,global , return , lambda - 判断与循环
If,elif,else,is,in,assert , and , or , not - 循环
for,while,continue,break,pass - 异常
with , raise,try,except,finally,as
BIFs: Python的自带电池
- 查看: dir(_builtins_)
- IO:print(), open(), input()
- 列表与帮助:dir()与help()
- 类型与身份:type(),id(),memoryview(),isinstance(), issubclass(),
- 数学运算类:sum,pow,round,min,max,hash等
- 类型转换:int,bin,hex,oct,str,float,list,bytes等
- 序列: len(), range(), zip(), map(),reduce(),filter(), reversed() , sorted(), enumerate()
标准操作符
- 算术运算符
+,-,*,/,// 取整,%取模(余数 ),**求幂
- 比较运算符
=! 或者 <> ,==, >,>=,<,<=
- 赋值运算符
=, (增量赋值:+=,-=,*=,/=,**=,//=)
- 逻辑运算符
and / or / not
- 成员运算符
in / not in
- 身份运算符
is / is not
循环
- 迭代循环 for (迭代器为range)
for i in range(5):
print('For loop, ',i,' times run')
- 条件循环 while
while(i<15):#终止条件
print('While loop ',i,'times run')
i=i+1
- 循环控制
break
continue
pass (没有什么实际意义)
条件判断
- if
- if else
- if elif
- Python 三元表达式
(语法:为真时执行的内容 if 判定条件 else 为假时执行的内容)
三、Python标准数据类型
不可变类型:
- 数值 Number
- 数值类型:
int整数类型
(二进制bin()、八进制 oct()、十六进制hex())
float浮点
a=5e3 #5000
b=5e-3 #0.005
float("inf") #正无穷
float("-inf") #负无穷
float('inf')+float('-inf') #nan
complex复数
>>a=5+22j # 记得加j
>>print(type(a))
>>print(a.real,a.imag) # 求实部和虚部
<class 'complex'>
5.0 22.0
- 操作
数值类型间转换
(int(a)、float(a)、complex(a))
绝对值,四舍五入
(abs(a) 、round(a,1) #数字表示保留小数点几位数 )
其它操作
- 字符串 String
- 字符串的初始化,及转义
- 字符串长度(len())
- 访问
(循环,索引,切片(左闭右开)) - 拼接
(直接+,*) - 查找与替换
a.find('a') #返回查找到第一个a的索引
a.replace('a','b') #用b去替换a
a.count('a') # 统计字母a在a中出现的次数
a.index('a') #字母a所在的索引
- 大小写
url.title()#首字母大写
url.upper()#全部字母大写
url.lower()#全部字母小写
- 格式化输出
方法一:%占位操作符
格式化字符串时,Python使用一个字符串作为模板。模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式。Python用一个tuple将多个值传递给模板,每个值对应一个格式符。
例如:print("I'm %s. I'm %d year old" % ('Vamei', 99))
或者:print("I'm %(name)s. I'm %(age)d year old" % {'name':'Vamei', 'age':99})
格式:%[(name)][flags][width].[precision]
typecode(name)为命名,flags可以有+,-,' '或0。+表示右对齐。-表示左对齐。' '为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐。0表示使用0填充。width表示显示宽度,precision表示小数点后精度
格式符(含不同格式码) | 作用 |
---|---|
%s | 字符串 (采用str()的显示) |
%r | 字符串 (采用repr()的显示) |
%c | 单个字符 |
%b | 二进制整数 |
%d | 十进制整数 |
%i | 十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数 |
%e | 指数 (基底写为e) |
%E | 指数 (基底写为E) |
%f | 浮点数 |
%F | 浮点数,与上相同 |
%g | 指数(e)�或浮点数 (根据显示长度) |
%G | 指数(E)或浮点数 (根据显示长度) |
%% | 字符"%" |
>>print("%+10x" % 10)
>>print("%04d" % 5)
>>print("%6.3f" % 2.3)
#运行结果如下:
+a
0005
2.300
方法二:字符串处理函数str.format()
format是python2.6新增的一个格式化字符串的方法,相对于老版的%格式方法,有很多优点。
不需要理会数据类型的问题,在%方法中%s只能替代字符串类型
单个参数可以多次输出,参数顺序可以不相同
填充方式十分灵活,对齐方式十分强大
官方推荐用的方式,%方式将会在后面的版本被淘汰
>>url='http://www.{}.com'
>>companyName='简书'
>>url.format(companyName)
http://www.简书.com
具体见:python中的format函数
- 编码与解码
- 其它操作dir()
容器类型(可变类型):
- 列表 List
- 元组 Tuple
- 集合 Set
- 字典 Dictionary