您的当前位置:首页正文

Python基础(一)

来源:华拓网

本文代码测试环境为 Python3x

一、Python环境安装

pip安装第三方库

  • pip install package(Mac在sudo后可能要加—user参数)
  • 因为GFW影响,可以采用豆瓣源: pip install package -i --trusted-host
  • 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标准数据类型

不可变类型:

  1. 数值 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) #数字表示保留小数点几位数 )
    其它操作
  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只能替代字符串类型
 单个参数可以多次输出,参数顺序可以不相同
 填充方式十分灵活,对齐方式十分强大
 官方推荐用的方式,%方式将会在后面的版本被淘汰


>>companyName='简书'
>>url.format(companyName)

  • 编码与解码
  • 其它操作dir()

容器类型(可变类型):

  1. 列表 List
  2. 元组 Tuple
  3. 集合 Set
  4. 字典 Dictionary