python菜鸟教程

文章目录

  • 基础教程
    • 简介
    • 基础语法(略)
    • 变量类型
      • 标准数据类型
      • 数字
      • 字符串
      • 列表
      • 元组
      • 字典
      • 数据类型转换
    • 运算符
      • 算术运算符
      • 赋值运算符
      • 位运算符(?)
      • 逻辑运算符
      • 成员运算符 in/not in
      • 身份运算符 is/is not
      • 运算符优先级
    • 条件语句 if (): elif (): else:
    • 循环语句
    • 函数
    • 模块
  • 高级教程
    • 面向对象
    • 正则表达式
  • 其他学习博客

基础教程

简介

  • Python 是一种解释型语言,需要虚拟机(?)来运行,边运行边解释编译。
    编译型语言如C,运行前先完成编译。编译型语言运行的已经是完全的二进制内容,运行起来十分干净利落,所以速度很快。
  • python是面向对象语言。三个基本特征是:封装、继承(接口?)、多态(??)。
  • python是交互式语言。交互式编辑器
  • python可嵌入C++程序中

基础语法(略)

变量类型

标准数据类型

  • Python有五个标准的数据类型:

     Numbers(数字)String(字符串)List(列表)Tuple(元组)Dictionary(字典)
    

数字

  • Python支持四种不同的数字类型:

    int(有符号整型)
    long(长整型,也可以代表八进制和十六进制)
    float(浮点型)
    complex(复数)

  • math 模块、cmath 模块
    Python 中数学运算常用的函数基本都在 math 模块、cmath 模块中。

    Python math 模块提供了许多对浮点数的数学运算函数。

    Python cmath 模块包含了一些用于复数运算的函数。

    cmath 模块的函数跟 math 模块函数基本一致,区别是 cmath 模块运算的是复数,math 模块运算的是数学运算。

  • 随机数函数

choice(seq)  从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。
randrange ([start,] stop [,step])   从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1
random()    随机生成下一个实数,它在[0,1)范围内。
seed([x])   改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。
shuffle(lst)    将序列的所有元素随机排序
uniform(x, y)   随机生成下一个实数,它在[x,y]范围内。

字符串

  • python的字串列表有2种取值顺序:

    从左到右索引默认0开始的,最大范围是字符串长度少1
    从右到左索引默认-1开始的,最大范围是字符串开头

    [头下标:尾下标] 获取的子字符串包含头下标的字符,但不包含尾下标的字符。
    Python 列表截取可以接收第三个参数,参数作用是截取的步长,
    以下实例在索引 1 到索引 4 的位置并设置为步长为 2(间隔一个位置)来截取字符串。letters[1:4:2],取到2和3两位。

  • 字符串运算符

  • Python 三引号

列表

  • List(列表) 是 Python 中使用最频繁的数据类型。

    列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。

    列表用 [ ] 标识,是 python 最通用的复合数据类型。

    列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。
    list = [ ‘runoob’, 786 , 2.23, ‘john’, 70.2 ]
    tinylist = [123, ‘john’]

  • 更新列表 list.append(‘xxx’)

#!/usr/bin/python
# -*- coding: UTF-8 -*-list = []          ## 空列表
list.append('Google')   ## 使用 append() 添加元素
list.append('Runoob')
print list
['Google', 'Runoob']
  • 删除列表元素
#!/usr/bin/pythonlist1 = ['physics', 'chemistry', 1997, 2000]print list1
del list1[2]
print "After deleting value at index 2 : "
print list1
['physics', 'chemistry', 1997, 2000]
After deleting value at index 2 :
['physics', 'chemistry', 2000]

元组

  • 元组是另一个数据类型,类似于 List(列表)。

    元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表
    tuple = ( ‘runoob’, 786 , 2.23, ‘john’, 70.2 )
    tinytuple = (123, ‘john’)

字典

  • 字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。

    两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

    字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
    tinydict = {‘name’: ‘runoob’,‘code’:6734, ‘dept’: ‘sales’}

数据类型转换

float(x)

运算符

Python语言支持以下类型的运算符:

算术运算符
比较(关系)运算符
赋值运算符
逻辑运算符
位运算符
成员运算符
身份运算符
运算符优先级

算术运算符

//   取整除 - 返回商的整数部分(向下取整)>>> 9//2
4
>>> -9//2
-5

赋值运算符

+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**=    幂赋值运算符  c **= a 等效于 c = c ** a
//=    取整除赋值运算符    c //= a 等效于 c = c // a

位运算符(?)

按位运算符是把数字看作二进制来进行计算的。

逻辑运算符

以下假设变量 a 为 10, b为 20:

x and y  如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。   (a and b) 返回 20。
x or y   如果 x 是非 0,它返回 x 的计算值,否则它返回 y 的计算值。   (a or b) 返回 10。
not x    如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False

成员运算符 in/not in

除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

in
not in

身份运算符 is/is not

身份运算符用于比较两个对象的存储单元

is 是判断两个标识符是不是引用自一个对象    x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is not 是判断两个标识符是不是引用自不同对象   x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

注: id() 函数用于获取对象内存地址。

is 与 == 区别:is 用于判断两个变量引用对象是否为同一个(同一块内存空间,一个变量俩名字?), == 用于判断引用变量的值是否相等。

运算符优先级

以下表格列出了从最高到最低优先级的所有运算符:

运算符  描述
**      指数 (最高优先级)
~ + -  按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % //    乘,除,取模和取整除
+ -        加法减法
>> <<   右移,左移运算符
&       位 'AND'
^ |     位运算符
<= < > >= 比较运算符
<> == !=   等于运算符
= %= /= //= -= += *= **=   赋值运算符
is is not   身份运算符
in not in   成员运算符
not and or  逻辑运算符

条件语句 if (): elif (): else:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 例2:elif用法num = 5
if num == 3:            # 判断num的值print 'boss'
elif num == 2:print 'user'
elif num == 1:print 'worker'
elif num < 0:           # 值小于零时输出print 'error'
else:print 'roadman'     # 条件均不成立时输出

循环语句

while

while 判断条件(condition):执行语句(statements)……

for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

for iterating_var in sequence:statements(s)
#!/usr/bin/python
# -*- coding: UTF-8 -*-for letter in 'Python':     # 第一个实例print("当前字母: %s" % letter)fruits = ['banana', 'apple',  'mango']
for fruit in fruits:        # 第二个实例print ('当前水果: %s'% fruit)fruits = ['banana', 'apple',  'mango']for index in range(len(fruits)):print ('当前水果 : %s' % fruits[index])print ("Good bye!")

break
continue
pass 空语句,是为了保持程序结构的完整性。

函数

模块

高级教程

面向对象

正则表达式

re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match() 就返回 none。
re.search 扫描整个字符串并返回第一个成功的匹配。匹配成功re.search方法返回一个匹配的对象,否则返回None。

re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。

Python 的 re 模块提供了re.sub用于替换字符串中的匹配项。
compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。

>>>import re
>>> pattern = re.compile(r'\d+')                    # 用于匹配至少一个数字
>>> m = pattern.match('one12twothree34four')        # 查找头部,没有匹配
>>> print m
None
>>> m = pattern.match('one12twothree34four', 2, 10) # 从'e'的位置开始匹配,没有匹配
>>> print m
None
>>> m = pattern.match('one12twothree34four', 3, 10) # 从'1'的位置开始匹配,正好匹配
>>> print m                                         # 返回一个 Match 对象
<_sre.SRE_Match object at 0x10a42aac0>
>>> m.group(0)   # 可省略 0
'12'
>>> m.start(0)   # 可省略 0
3
>>> m.end(0)     # 可省略 0
5
>>> m.span(0)    # 可省略 0
(3, 5)

findall在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果有多个匹配模式,则返回元组列表,如果没有找到匹配的,则返回空列表。
注意: match 和 search 是匹配一次 findall 匹配所有。

re.finditer和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。

split 方法按照能够匹配的子串将字符串分割后返回列表。

其他学习博客

python面试 上,下

python基础知识拾遗相关推荐

  1. Python基础与拾遗1:Python中的数字

    Python基础与拾遗1:Python中的数字 写在前面 数字常量 表达式操作符 变量 除法 复数 二进制,八进制与十六进制 常用内置数学工具 小数与分数 集合 布尔 写在前面 转瞬之间,笔者已经有一 ...

  2. Python基础与拾遗9:Python中的函数与作用域

    Python基础与拾遗9:Python中的函数与作用域 函数的作用 函数的设计理念 Python中的函数 Python中的函数关键字 Python中的多态 Python中函数的参数传递 Python中 ...

  3. Python基础知识梳理(一)

    Python基础知识梳理: 转载于:https://blog.51cto.com/10412806/2095116

  4. python基础知识资料-Python基础知识汇总

    原标题:Python基础知识汇总 1.Anaconda的安装 百度Anaconda的官网,下载左边的Python3.X版本 然后是设置路径,最后给出Jupyter notebook.具体参考: 猴子: ...

  5. python基础知识资料-Python基础知识梳理 - 第02部分

    本文是Python基础知识的第二篇, 主要是对内置对象类型的介绍, 涉及的类型如下表. 数字类型 在Python中, 数字并不是一个真正的对象类型, 而是一组类似类型的分类, 如整数和浮点数, 复数等 ...

  6. python语法基础知识总结-Python基础知识梳理 - 第01部分

    在开始Python基础知识梳理前, 先安装下环境. 以下过程是在Linux操作系统, root用户下进行的, 主要安装了2.7版本的python, 和pip, ipython, virtualenv等 ...

  7. python笔记基础-Python基础知识

    Python基础知识 安装Python mac 通过命令行brew install python3 或者下载对应版本安装包安装 linux 通过包管理器安装apt-get install python ...

  8. python基本语法规则-python基础知识——基本语法

    在python基础知识这个系列中,准备罗列出我学习python的一些基础知识,包括:基本语法 控制语句 内置数据结构 模块和函数 字符串 文件处理 面向对象 异常处理 以前写机器学习算法喜欢使用Mat ...

  9. python基础知识整理-python爬虫基础知识点整理

    首先爬虫是什么? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本. 根据我的经验,要学习Python爬虫 ...

最新文章

  1. Oracle学习笔记:oracle的编程接口
  2. MySQL中只会count(),sum()?累加运算没听过?
  3. CGI、FastCGI 知识总结
  4. sql中在查询语句中加判断,控制输出的内容
  5. 10分钟腾讯云配置免费https
  6. Go_笔试题记录-不熟悉的
  7. 计算机风险评估管理程序,第5章 信息安全风险评估实施流程
  8. (八)ASP.NET自定义用户控件(1)
  9. LeetCode第617题:合并二叉树
  10. JavaWeb — session+Cookie
  11. Slurm如何管理和使用节点资源
  12. Silverlight实现文件下载
  13. js利用CLodop实现打印功能
  14. 精选 8个 学习英语的APP,完全免费,适合不同阶段的你
  15. 美通企业周刊 | 爱立信已获100份5G商用合同;北京广东世界五百强数量领跑全国​...
  16. 应用程序正常初始化 0xc015002 失败
  17. Spring动态代理原理是什么?
  18. linux编译各种报错(拙见)
  19. jquery的ajax常用写法
  20. 哥大sps学院有计算机,哥大的sps学院是什么意思

热门文章

  1. 自动驾驶岗位招聘——感知算法、决策规划算法、系统架构师
  2. 微软云盘OneDrive和Dropbox云盘的比较分析
  3. 关于手机连接上WiFi但是部分软件不能上网解决办法
  4. Linux安装arthas(阿尔萨斯)
  5. superagent 模块
  6. UG\NX二次开发 获取装配根节点 UF_ASSEM_ask_root_part_occ
  7. WPS AI内测申请窍门;AI数字人最全工具盘点;AI超级个体必读书籍;产品国际化与本地化指南;生成式AI应用路线图 | ShowMeAI日报
  8. 牛奶布丁,我也会做了-o-
  9. R语言使用决策树预测NBA球员投篮结果
  10. tsconfig.json文件的作用