码迷,mamicode.com
首页 > 编程语言 > 详细

Python基础篇(数据结构、控制流、运算符与表达式)

时间:2016-07-23 20:58:55      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

一、概述

数据结构上广义上有两种,单一类型和集合类型

  • 单一类型,表示一种对象
  • 集合类型,表示包含多种对象

Python中的内建的数据类型有str、list、tuple、dict、set、number、bool、None,又可以划分为序列型、可变与不可变

序列型

  • 有序, 数字索引,通过索引取值、切片,都可以迭代, str/list/tuple
  • 无序, 没有数字索引, set/dict

可变与不可变

  • 不可变的对象,不能原处修改, 如str、tuple、number,修改会重新开辟内存空间
  • 可变的对象,可以原处修改,如list、dict、set

切片

  • [i:j:k] #起始:结束:步长
  • [::-1] #负偏移,反向
  • [:] #拷贝方式

迭代

迭代是重复反馈的结果直到没有,序列型的数据都可以迭代,number(数字)对象不可以迭代, 一般用for迭代

对象与类

  • 一切皆对象
  • 每种数据类型是一个类,提供了对象的方法和属性

帮助相关

  • help() 帮助
  • type() 查看对象的类型
  • dir() 查看对象的属性和方法 对象.方法

 


 

二、内置数据类型

 

str 有序不可变对象,可以通过索引取值、切片及迭代

list 任意对象的有序集合,可变,可以通过索引取值、切片; 嵌套、迭代及原处修改;也可以用来做
堆栈和队列
tuple 任意对象的有序集合,不可变,可以通过索引取值、切片与迭代

dict 任意对象的无序集合,可变,映射类型,通过key-value(键值)储存和取值,字典中的key是唯一并且是不重复的对象
散列hash,原处修改

number 不可变,主要做计数,算数运算

set 集合是无序不重复的对象,常用来消除重复、成员关系判断及数学上的交集、差集

bool 布尔类型是int的子类, True(0)、False(1)

None 空对象


流程控制:

if/elif/else
if语句,如果条件为True执行所属的代码块,没什么好说的

三元表达式
三元表达式是if/else的简化版,通常四行的代码可以写成一行,有什么用呢? 精简代码但作用有限
if 1 + 1 == 2:
reslut = Ture
else:
reslut False
用三元表表达式简写
reslut = True if 1 + 1 == 2 else False

while、for循环
for循环是一个通用的序列迭代器,可以遍历任何有序对象内的元素,并对每个元素运行一个代码块。for是强制迭
代直到抛出异常(内部已处理异常)

while 条件循环,条件为真则循环执行代码块直到条件为假退出循环,为了避免死循环应该给出循环推出的条件,
除非做守护进程

for比while好写,尽量使用for

break、contiune、else 循环控制
contiune 跳出当前的循环,开始下一次循环
break 停止当前所在循环
else 对于for和while,是循环正常完成后才执行else下的语句
pass 占位符,什么也不干

运算符
两个对象进行运算


真值测试
非数字零对象和非空对象、None都为Fasle,其他对象为True

短路计算

 

Weconex_2016

Python基础篇(数据结构、控制流、运算符与表达式)

标签:

原文地址:http://www.cnblogs.com/huangweimin/p/5699458.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!