关于判断和循环语句

Python的判断和循环语句非常直观,读起来很接近自然语言。

判断语句if
标准的if语句是如下结构:

if expression:if_suite

如果expression的表达式非0或者为True,那么if_suite代码块被执行。否则执行下一条语句。
同时,Python的条件语句还有else语句。

if expression:if_suite
else:else_suite

以及elif(else_if)语句

if expression1:if_suite
elif expression2:elif_suite
else:else_suite    

循环语句
while循环结构如下

while expression:while_suite

和C类似。只是循环体没有用括号括起来,仅用缩进表示。

for循环结构
Python的for循环和C的for循环有较大的差别。Python的for接受可迭代对象(如序列或迭代器)作为参数,每次迭代其中一个元素。
如:

for item in ['apple','banana','orange']:print item

Python的for循环是接受可迭代对象的。如果我们想让它像一个传统的for循环,我们可以使用数字序列,来让他像一个计数循环的样子。

>>> for item in [0,1,2]:
...    print item
0
1
2

由于数值范围可能会特别大,每次都通过手写会很麻烦,所以Python提供了一个range()内建函数来生成这种列表。

>>> for item in range(3):
...    print item
0
1
2

同时range()函数还有多种方法可以调用。完整语法要求这样调用它

range(start, end, step)

其中不给step时,默认为 1 ,step不可以为0.

>>> range(2, 19, 3)
[2, 5, 8, 11, 14, 17]
>>> range(3, 7)
[3, 4, 5, 6]
>>> range(5, 2, -1)
[5, 4, 3]

同时range()还用两种简略的语法格式:

range(end)
range(start, end)

range(end)是接受一个值,start默认为0,step默认为1 。
range(start, end)几乎与完整版本一样,只是step默认使用了1 。

列表解析

>>> squared = [x ** 2 for x in range(4)]
>>> for i in squared:
print i
0
1
4
9

列表解析表示可以在一行中用一个for
循环来讲所有的值放到列表中。

文件
文件的打开

handle = open(file_name, access_mode = 'r')

file_name变量包含我们希望打开的文件的字符串名字,access_mode中'r'表示读取,'w'表示写入,'a'表示添加,'+'表示读写'b'表示二进制访问。如果未提供access_mode ,默认值为'r'.如果open()成功,一个文件对象句柄会被返回。所有后续操作必须通过此文件句柄进行。但一个文件对象返回之后,我们就可以访问它的一些方法,比如readlines()和close().文件对象的方法属性也必须通过句点属性标识法访问。

属性是与数据有关的项目,属性可以是简单的数据值,也可以是可执行对象,比如函数和方法。类,模块,文件还有复数等等对象都有属性。
用句点属性标识法来访问对象属性。也就是说在对象名和属性名之间加一个句点: object.attribute

错误和异常
Python允许程序在运行时检测错误。当检测到错误就引发一个异常,显示异常的详细信息。
要给代码添加错误检测和异常处理,只要将它们封装在try-except语句中。try之后的代码组,是你打算管理的代码。except之后的代码组,是处理错误的代码。

try:filename = raw_input('Enter file name: ')fobj = open(filename, 'r')for eachLine in fobj:print eachLine, fobj.close()
except IOError, e:print 'file open error:', e

函数
函数和其他语言类似。调用前必须定义,没有return则返回None
定义函数时如下

def function_name([arguments]):"optional documentation string"function_suite

def关键字后加函数名,括号里是函数需要的参数。用冒号(:)结束,之后用缩进表示函数体。
函数的默认参数
函数参数可以有默认值,用赋值语句的形式提供,如果调用时没有提供参数,它就取这个值作为默认值。

>>> def foo(debug=True):
...     'determine if in debug mode with default argument'
...     if debug:
...         print 'in debug mode'
...         print 'done'
...
>>> foo()
in debug mode
done
>>> foo(False)
done

模块
模块是将彼此有关系的Python代码组织到一个个独立文件中。可以包含可执行代码,函数和类或者这些东西的组合。

当你创建了一个Python源文件,模块的名字就是不带.py后缀的文件名。一个模块创建后,可以从另一个模块中用import语句导入这个模块来使用。

import module_name

导入完成后,模块的属性(函数和变量)通过句点属性标识法访问

module.function()
module.variable

转载于:https://www.cnblogs.com/SRL-Southern/p/4767738.html

2015/8/18 Python基本使用(2)相关推荐

  1. 小猪的Python学习之旅 —— 18.Python微信转发小宇宙早报

    小猪的Python学习之旅 -- 18.Python微信转发小宇宙早报 标签:Python 一句话概括本文: 利用itchat,监控特定信息,转发到特定微信群- 引言: 上一篇 小猪的Python学习 ...

  2. QCon北京2015:18个热门专题,出品人全部确认,新版网站上线

    距离QCon北京2015(4月23日~25日)还有不到3个月的时间,组委会正在紧张地筹备,目前18个热点专题的出品人已经全部到位,正在邀约各路技术专家前来分享.3月1日前报名,可享8折优惠. \\ 本 ...

  3. 2015/8/29 Python基础(3):数值

    数字提供了标量储存和直接访问,是不可更改类型,每次变更数值会产生新的对象.Python支持多种数字类型,包括整型.长整型.布尔型.双精度浮点.十进制浮点和复数. 在Python中,变量并不是一个盒子, ...

  4. 18.Python爬虫之Scrapy框架

    scrapy 框架 01. Scrapy 链接 02. Scrapy 的爬虫流程 03. Scrapy入门 04. setting.py文件中的常用设置 4.1. logging模块的使用 4.2. ...

  5. 18.Python字符串类型及常用内置方法

    文章目录 1.字符串 2.字符串的定义 3.打印引号 4.类型转换 5.索引取值 6.遍历 7.长度统计 8.字符串复制与拼接 8.1字符串的复制 8.2加号拼接 8.3join拼接 8.4字符截取拼 ...

  6. 学习笔记(18):Python网络编程并发编程-守护进程

    立即学习:https://edu.csdn.net/course/play/24458/296429?utm_source=blogtoedu 守护进程(了解) 1.概念:守护进程是主进程在创建子进程 ...

  7. 2015/10/9 Python核编初级部分学习总结

    终于在十一长假之后的两天看完了<Python核心编程>的初级部分. 虽然到后来两章,类和环境看得越来越慢,越来越难以理解.很多东西只能靠强记,也没办法真正掌握了,我想了想,还是不强迫自己去 ...

  8. 2019/2/18 Python今日收获

    Python day15--032,033异常处理:你不可能总是对的 1. Python标准异常总结 AssertionError 断言语句(assert)失败 AttributeError 尝试访问 ...

  9. 网络爬虫--18.python中的GIL(全局解释器锁)、多线程、多进程、并发、并行

    参考文献: python的GIL.多线程.多进程 并发和并行的区别? GIL(全局解释器锁)一看就懂的解释! 多谢作者分享!

最新文章

  1. 如何删除内联块元素之间的空间?
  2. Yii2.0 数据库更新update
  3. Java并发程序设计(四)JDK并发包之同步控制
  4. 人工智能:第六章 专家系统
  5. web 开发之js---js 中的数组操作
  6. 公司项目拓扑的演变过程
  7. 电话光端机的电话业务不通问题,该怎么去检查?
  8. react css多个变量_如何使用CSS变量和React上下文创建主题引擎
  9. 数据库MySQL/mariadb知识点——数据类型
  10. 11条建议让你成为优秀的JavaScript程序员
  11. java同步和互斥程序说明(一)
  12. 小程序多标签切换、Tab切换类似功能
  13. java RSA加密生成license,用CPU序列号生成机器码
  14. flv 视频 文件 下载
  15. web前端网页设计作业—个人网页(游戏主题)(html+css+js)
  16. MacOS系统下matplotlib中SimHei中文字体缺失报错的解决办法
  17. matlab饼状图的编程方法,matlab饼状图
  18. 【数据分析报告】携程客户分析与流失预测
  19. 全网最强的开发者技术路线图已经更新到 2020 年!GitHub 标星 114k+,还有中文的!
  20. python鼠标监听_用Python监听鼠标和键盘事件

热门文章

  1. 节目表演的点子_矿泉水桶当架子鼓,幼儿园小朋友出色表演,圈粉无数
  2. ueditor video 设置宽高的问题(uni app)
  3. Flask笔记-session安全问题(避免任务重复提交)
  4. Qt文档阅读笔记-QGraphicsEffect::draw(QPainter *painter)官方解析与实例
  5. Qt5.7+Opencv2.4.9人脸识别(三)人脸处理
  6. C/C++ OpenCV图像的线性混合
  7. java8的时间工具类_JAVA8日期工具类
  8. mysql怎么更改属性_MySQL 中怎么修改字段名,不更改属性?
  9. c语言编程顺序查找例题,C语言典型编程例题.doc
  10. 无法访问此网站 localhost 拒绝了我们的连接请求。_网站经常被DDOS攻击会造成什么影响...