01. Python 工具
02. Python 基础
03. Numpy
- Numpy 简介
- Matplotlib 基础
- Numpy 数组及其索引
- 数组类型
- 数组方法
- 数组排序
- 数组形状
- 对角线
- 数组与字符串的转换
- 数组属性方法总结
- 生成数组的函数
- 矩阵
- 一般函数
- 向量化函数
- 二元运算
- ufunc 对象
- choose 函数实现条件筛选
- 数组广播机制
- 数组读写
- 结构化数组
- 记录数组
- 内存映射
- 从 Matlab 到 Numpy
04. Scipy
05. Python 进阶
- sys 模块简介
- 与操作系统进行交互:os 模块
- CSV 文件和 csv 模块
- 正则表达式和 re 模块
- datetime 模块
- SQL 数据库
- 对象关系映射
- 函数进阶:参数传递,高阶函数,lambda 匿名函数,global 变量,递归
- 迭代器
- 生成器
- with 语句和上下文管理器
- 修饰符
- 修饰符的使用
- operator, functools, itertools, toolz, fn, funcy 模块
- 作用域
- 动态编译
06. Matplotlib
- Pyplot 教程
- 使用 style 来配置 pyplot 风格
- 处理文本(基础)
- 处理文本(数学表达式)
- 图像基础
- 注释
- 标签
- figures, subplots, axes 和 ticks 对象
- 不要迷信默认设置
- 各种绘图实例
07. 使用其他语言进行扩展
- 简介
- Python 扩展模块
- Cython:Cython 基础,将源代码转换成扩展模块
- Cython:Cython 语法,调用其他C库
- Cython:class 和 cdef class,使用 C++
- Cython:Typed memoryviews
- 生成编译注释
- ctypes
08. 面向对象编程
09. Theano 基础
- Theano 简介及其安装
- Theano 基础
- Theano 在 Windows 上的配置
- Theano 符号图结构
- Theano 配置和编译模式
- Theano 条件语句
- Theano 循环:scan(详解)
- Theano 实例:线性回归
- Theano 实例:Logistic 回归
- Theano 实例:Softmax 回归
- Theano 实例:人工神经网络
- Theano 随机数流变量
- Theano 实例:更复杂的网络
- Theano 实例:卷积神经网络
- Theano tensor 模块:基础
- Theano tensor 模块:索引
- Theano tensor 模块:操作符和逐元素操作
- Theano tensor 模块:nnet 子模块
- Theano tensor 模块:conv 子模块
10. 有趣的第三方模块
11. 有用的工具
- pprint 模块:打印 Python 对象
- pickle, cPickle 模块:序列化 Python 对象
- json 模块:处理 JSON 数据
- glob 模块:文件模式匹配
- shutil 模块:高级文件操作
- gzip, zipfile, tarfile 模块:处理压缩文件
- logging 模块:记录日志
- string 模块:字符串处理
- collections 模块:更多数据结构
- requests 模块:HTTP for Human
12. Pandas
判断语句
基本用法
判断,基于一定的条件,决定是否要执行特定的一段代码,例如判断一个数是不是正数:
In [1]:
x = 0.5
if x > 0:
print "Hey!"
print "x is positive"
Hey!
x is positive
在这里,如果 x > 0
为 False
,那么程序将不会执行两条 print
语句。
虽然都是用 if
关键词定义判断,但与C,Java等语言不同,Python不使用 {}
将 if
语句控制的区域包含起来。Python使用的是缩进方法。同时,也不需要用 ()
将判断条件括起来。
上面例子中的这两条语句:
print "Hey!"
print "x is positive"
就叫做一个代码块,同一个代码块使用同样的缩进值,它们组成了这条 if
语句的主体。
不同的缩进值表示不同的代码块,例如:
x > 0
时:
In [2]:
x = 0.5
if x > 0:
print "Hey!"
print "x is positive"
print "This is still part of the block"
print "This isn't part of the block, and will always print."
Hey!
x is positive
This is still part of the block
This isn't part of the block, and will always print.
x < 0
时:
In [3]:
x = -0.5
if x > 0:
print "Hey!"
print "x is positive"
print "This is still part of the block"
print "This isn't part of the block, and will always print."
This isn't part of the block, and will always print.
在这两个例子中,最后一句并不是if
语句中的内容,所以不管条件满不满足,它都会被执行。
一个完整的 if
结构通常如下所示(注意:条件后的 :
是必须要的,缩进值需要一样):
if <condition 1>:
<statement 1>
<statement 2>
elif <condition 2>:
<statements>
else:
<statements>
当条件1被满足时,执行 if
下面的语句,当条件1不满足的时候,转到 elif
,看它的条件2满不满足,满足执行 elif
下面的语句,不满足则执行 else
下面的语句。
对于上面的例子进行扩展:
In [4]:
x = 0
if x > 0:
print "x is positive"
elif x == 0:
print "x is zero"
else:
print "x is negative"
x is zero
elif
的个数没有限制,可以是1个或者多个,也可以没有。
else
最多只有1个,也可以没有。
可以使用 and
, or
, not
等关键词结合多个判断条件:
In [5]:
x = 10
y = -5
x > 0 and y < 0
Out[5]:
True
In [6]:
not x > 0
Out[6]:
False
In [7]:
x < 0 or y < 0
Out[7]:
True
这里使用这个简单的例子,假如想判断一个年份是不是闰年,按照闰年的定义,这里只需要判断这个年份是不是能被4整除,但是不能被100整除,或者正好被400整除:
In [8]:
year = 1900
if year % 400 == 0:
print "This is a leap year!"
# 两个条件都满足才执行
elif year % 4 == 0 and year % 100 != 0:
print "This is a leap year!"
else:
print "This is not a leap year."
This is not a leap year.
值的测试
Python不仅仅可以使用布尔型变量作为条件,它可以直接在if
中使用任何表达式作为条件:
大部分表达式的值都会被当作True
,但以下表达式值会被当作False
:
- False
- None
- 0
- 空字符串,空列表,空字典,空集合
In [9]:
mylist = [3, 1, 4, 1, 5, 9]
if mylist:
print "The first element is:", mylist[0]
else:
print "There is no first element."
The first element is: 3
修改为空列表:
In [10]:
mylist = []
if mylist:
print "The first element is:", mylist[0]
else:
print "There is no first element."
There is no first element.
当然这种用法并不推荐,推荐使用 if len(mylist) > 0:
来判断一个列表是否为空。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论