python循环语句

while循环语法结构
当需要语句不断的重复执行时,可以使用while循环
while expression:
while_suite
语句ehile_suite会被连续不断的循环执行,直到表达式的值变成0或false
#!/usr/bin/env python
sum100 = 0
counter = 1
while counter <=100:
sum100 += counter
counter += 1
print "result is %d" % sum100

break语句
break语句可以结束当前循环然后跳转到下条语句写程序的时候,应尽量避免重复的代码
在这种情况下可以使用while-break结构
#!/usr/bin/env python
while true
name = raw_input('username:')
if name == 'tom':
break

continue语句
当遇到continue语句时,程序会终止当前循环,并忽略剩余的语句
然后回到循环的顶端,如果仍然满足循环条件,循环体内语句继续执行,否则退出
#!/usr/bin/env python
sum100 = 0
conuter = 0
while counter <=100:
counter += 1
if counter % 2:
counter
sum100 += counter
print "result is %d" % sum100

for循环
python中的for接受可迭代对象(列如序列或迭代器)作为其参数
每次迭代其中一个元素
与while循环一样,支持break,continue,else语句
一般情况下,循环次数未知采用while循环,循环次数已知采用for循环

range函数
for循环常与range函数一起使用,range函数提供循环条件
range函数的完整语法为:
range(start,end,step =1)
>>> range(5)
[0, 1, 2, 3, 4]
>>> range(1,5)
[1, 2, 3, 4]
>>> range(1,5,2)
[1, 3]
>>>

xrange函数
xrange()类似range(),不过当你有一个很大的范围列表时,xrange()可能更为合适,因为它不会再内存里创建列表的完整拷贝
它只被用在for循环中,在for循环外使用它没有意义
它的性能远高出range(),因为它不生成整个列表

斐波那契数列
斐波那契数列就是某个数,总是前两个数之和,比如0,1,1,2,3,5,8
使用for循环和range函数编写一个程序,计算有10个数字的斐波那契数列
改进程序,要求用户输入一个数字,可以生成用户需要长度的斐波那契数列
#!/usr/bin/env python

fib = [0, 1,]
num = int(raw_input("number"))
for i in range(num -2):
fib.append(fib[-1] + fib[-2])
print fib
乘法口诀表
#!/usr/bin/env python
for i in range(1,10):
for j in range(1,i+1):
print "%sx%s=%s" % (j, i, i*j),
print

列表解析
它是一个非常有用,简单,而且灵活的工具,可以用来动态的创建列表
语法:
[expr for iter_var in iterable]
这个语句的核心是for循环,它迭代iterable对象的所有条目
expr应用于序列的每个成员,最后的结果值是该表达式产生的列表
>>> ['hail hydra' for i in range(2) ]
['hail hydra', 'hail hydra']

——————————————————————————————————————————————————————————————————————————————
文件对象

文件对象访问模式
r:读方式打开(文件不存在则报错)
w:写方式打开(文件存在则清空,不存在则创建)
a:追加模式打开(必要时创建新文件)
r+:读写模式打开
w+:读写模式打开
a+:读写模式打开

文件打开方式
open及file内建函数
作为打开文件之门的钥匙,内建函数open()以及file()提供了初始化输入/输出(I/O)操作的通用接口
成功打开文件后会返回一个文件对象。否则引发一个错误
open()方法和file()方法可以完全相互替换
基本语法
file_object = open(file_name,access_mode'r',buffering=-1)

文件输入
read方法
read()方法用来直接读取字节到字符串中,最多读取给定数目个字节
如果没有给定size参数(默认为-1)或者size值为负,文件将被读取直至末尾
>>> f = open('network.py')
>>> f.read()
'#!/usr/bin/env python\n\nfor i in range(1,10):\n for j in range(1,i+1):\n print "%sX%s=%s" % (j, i, i*j),\n print '
>>> f.close()(关闭的意思)

文件输出
write方法
write()内建方法功能与read()相反,它把含有文本数据或二进制数据块的字符串写入到文件中去
写入文件时,不会自动添加行结束标志,需要手工输入
>>> f = open('network.py', 'w')
>>> f.write()
>>> f.write('hail hydra')
>>> f.flush()

writelines方法
针对列表的操作,它接受一个字符串列表作为参数,将他们写入文件
行结束符并不会被自动加入,所以如果需要的话,必须在调用writelines()前给每行加上结束符
>>> f.writelines(['hail hydra \n','hail hydra \n'])
>>> f.close()

模拟cp操作
#!/usr/bin/env python

f1 = open('/bin/ls')
f2 = open('/root/ls','w')

data = f1.read()
f2.write(data)

f1.close()
f2.close()

——————————————————————————————————————————————————————————
函数

创建函数
函数是用def语句来创建的,语法如下
def function_name(arguments):
"function_documentation_string"
function_body_suite
标题行由def关键字,函数的名字,以及参数的集合组成
def子句的剩余部分包括了一个虽然可选但是强烈推荐的文档字串和必须的函数体

调用函数
同大多数语言相同,python用一对圆括号调用函数,如果没有圆括号,只是对函数的引用
>>> def foo():
... print 'hydra'
...
>>> foo()
hydra
>>> foo
<function foo at 0x7f45678c5c80>

函数的返回值
多数情况下,函数并不直接输出数据,而是向调用者返回值
函数的返回值使用return关键字,没有return的话,函数默认返回none
>>> def foo():
... res = 3+4
...
>>> i = foo()
>>> print i
None

函数参数
形式参数
函数定义时,紧跟在函数名后(圆括号内)的参数被称呼为形式参数
简称形参,由于它不是实际存在变量,所以又称之为虚拟变量

实际参数
在主调函数中调用一个函数时,函数名后面括号中的参数(可以是一个表达式)称为实际参数,简称实参

传递参数
调用函数时,实参的个数需要与形参个数一致,实参将依次传递给形参

位置参数
与shell脚本类似,程序名以参数都以位置参数的方式传递给python程序
使用sys模块的argv列表接收

默认参数
默认参数就是声明了默认值的参数,因为给参数赋予了默认值,所以在函数调用时,不向该参数传入值也是允许的

——————————————————————————————————————————————————————————————————
模块
模块是从逻辑上组织python代码的形式,当当代码量变得相当大的时候,最好把代码分成一些有组织的代码段,
前提是保证它们的彼此交互,这些代码片段相互间有一定的联系,可能是一个包含数据成员和方法的类
也可能是一组相关但彼此独立的操作函数

创建模块
模块物理层面上组织模块的方法是文件,每一个以.py作为结尾的python文件都是一个模块
模块名称切记不要与系统中已存在的模块重名,模块文件名字去掉后面的扩展名.py 即为模块名

导入模块
使用impo导入模块,模块被导入后,程序会自动生成pyc的字节码文件以提升性能
模块属性通过 "模块名.属性" 的方法调用,如果仅需要模块中的某些属性,也可以单独导入

加载模块
一个模块只被加载一次,无论它被导入多少次,只加载一次可以阻止多重导入时代码被多次执行
如果两个文件相互导入,防止了无限的相互加载
模块加载时,顶层代会自动执行,所以只将函数放入模块的顶层是良好的编程习惯

模块导入的特性
模块具有一个_name_特殊属性,当模块文件直接执行时,_name_的值为'_main_'
当模块被另一个文件导入时,_name_的值就是该模块的名字

python 循环语句 函数 模块的更多相关文章

  1. Python循环语句,对象

    Python循环语句,对象 案例1:斐波那契数列 案例2:模拟cp操作 案例3:生成8位随机密码 1 案例1:斐波那契数列 1.1 问题 编写fib.py脚本,主要要求如下: 输出具有10个数字的斐波 ...

  2. jmeter数据库,charles抓包,Python循环语句

    jmeter数据库,charles抓包,Python循环语句 一.Jemeter数据库 添加jar包数据库 jemeter=>浏览 添加JDBC Connection Configuration ...

  3. Python import语句导入模块语法[转]

    Python import语句导入模块语法 社区推荐:掘金是国内最活跃的技术社区,我们每日有优质Python开发实例分享,海量python开源库推送.来掘金,和更多懂技术的小伙伴交流.   pytho ...

  4. python循环语句详细讲解

    想必大家都知道python循环语句吧,可以python循环语句有多种,比如for循环.while循环.if.else等等,   我们可以通过设置条件表达式永远不为 false 来实现无限循环,实例如下 ...

  5. Python 循环语句(break和continue)

    Python 循环语句(break和continue) while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出 ...

  6. Python循环语句及函数的定义

      循环语句¶ 重复执行某一个固定的动作或者任务 语法 for 变量 in序列: 语句1 语句2 ..... In [2]: # 列表知识只是以后会讲 # 比如[1,2,3,4,5,6,7] list ...

  7. python基础14 ---函数模块5(模块和包)

    模块与包 一.模块 1.模块是怎么诞生的. 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护.为了编写可维护的代码,我们把很多函数分组,分别放到 不同的文 ...

  8. Python循环语句代码详解:while、for、break

    1 while循环 循环语句是程序设计中常用的语句之一.任何编程语言都有while循环,Python也不例外.while循环的格式如下所示.  while(表达式):       -   else:  ...

  9. Python循环语句

    1.Python循环类型 1.while循环:在某条件下,循环执行某段程序 a. while语句有两个重要命令:continue,break来跳出循环. continue用来跳出该次循环 break用 ...

随机推荐

  1. Mysql高可用架构(主从同步)

    做高可用的优势 1.成本低 2.解决单点故障 3.不容易遇到性能瓶颈 一 .Mysql主从同步架构搭建案例 优点如下:·在业务繁忙阶段,在从服务器上可以执行查询工作(即我们常说的读写分离),降低主服务 ...

  2. 百度插件webuploader的坑!

    前言: 自因为项目中需要使用上传插件,所以之前找了几款上传插件.但是呢,小的上传插件是不支持我们项目上传的(做虚拟机项目的,一个镜像可能好几个G),所以呢这个插件要支持分片上传,拓展性要高(肯定的啦, ...

  3. Cypher查询语言--Neo4j-MATCH(二)

    目录 Match 相关节点 接出关系Outgong relationship 定向关系和标识符 通过关系类型匹配 通过关系类型匹配和使用标识符 带有特殊字符的关系类型 多重关系 可变长度的关系 在可变 ...

  4. 济南清北学堂游记 Day 5.

    十一月的第一天.算下来在济南已经呆了接近一星期了...... 还剩九天...看着洛谷的倒计时心里直发慌. 也许我不该过多纠结于高级算法,基础也是很重要的. 今天晚上就自由的敲一些板子吧.最后的九天,让 ...

  5. BZOJ 3198: [Sdoi2013]spring [容斥原理 哈希表]

    3198: [Sdoi2013]spring 题意:n个物品6个属性,求有多少不同的年份i,j满足有k个属性对应相等 一开始读错题了,注意是对应相等 第i个属性只能和第i个属性对应 容斥一下 \[ 恰 ...

  6. Kafka基本知识回顾及复制

    Producers发布记录到集群,集群维护这些记录并且将记录分发给Consumers. 在Kafka中,最关键的抽象是topic.Producers发布记录到一个topic,Consumers订阅一个 ...

  7. Typora最常用快捷键

    插入图片:直接拖动到指定位置即可或者ctrl+shift+i 插入链接:ctrl+k 对于本地图片,我们可以直接拖进来 双回车可以回到行首

  8. 应用负载均衡之LVS(二):VS_TUN和VS_DR的arp问题

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  9. php 处理并发问题

    对于商品抢购等并发场景下,可能会出现超卖的现象,这时就需要解决并发所带来的这些问题了 在PHP语言中并没有原生的提供并发的解决方案,因此就需要借助其他方式来实现并发控制. 方案一:使用文件锁排它锁 f ...

  10. 反反爬虫 IP代理

    0x01 前言 一般而言,抓取稍微正规一点的网站,都会有反爬虫的制约.反爬虫主要有以下几种方式: 通过UA判断.这是最低级的判断,一般反爬虫不会用这个做唯一判断,因为反反爬虫非常容易,直接随机UA即可 ...