其次,想重复使用某个函数或方法,可以使用迭代来控制重复使用的次数。
import random
for i in range(3):
print(random.randint(1, 5))
输出:
5
2
4
1.定义一个函数
def printme( str ):
2."打印任何传入的字符串"
print str;
return;
3. 使用这个函数
printme("chtml.cn");
4.运行结果:
chtml.cn
5.删除一个文件函数实例
def dellFile(pathFile):
import os
filename = pathFile
if os.path.exist(filename):
os.remove(filename)
print filename
return;
python打印金子塔
def printPyramid(level):
for i in range(level):
print ' ' * (level-i-1) + '*' * (2*i+1)
printPyramid(5)
一、列表推导式
a = [1, 2, 3, 4, 5]
result = [i*i for i in a]
print(result)
1
2
3
1
2
3
二、lambda函数
1、lambda函数即为匿名函数,仅在定义匿名函数的地方使用这个函数,其他地方用不到,所以就不需要给它取个阿猫阿狗之类的名字了。
匿名函数一般不会单独使用,而是配合其他方法,为其他方法提供内置的算法或判断条件
a=(lambda x,y:x+y)(3,4)
print(a)
1
2
1
2
2、与map函数一起使用时:
map(function, iterable, …)
map() 会根据提供的函数对指定序列做映射。
参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
function – 函数
iterable – 一个或多个序列
Python 3.x 返回迭代器
a = [1, 2, 3, 4, 5]
b = [5,4,3,2,1]
result = map(lambda x,y:x*y,a,b)
for i in result:
print(i)
1
2
3
4
5
1
2
3
4
5
三、yield 以及生成器和迭代器
迭代器,它可以像list那样被遍历,但又不占用多少内存generator(生成器)是一种特殊的迭代器,只能被遍历一次,遍历结束,就自动消失了
总之,不管是迭代器还是生成器,都是为了避免使用list,从而节省内存
python内置了迭代函数 iter,用于生成迭代器
yield 则是用于构造生成器的
generator保存的是函数算法,节约内存
generator也是可迭代对象
可用next函数调用,也可以用for循环调用
Python3的for循环本质上就是通过不断调用next()函数实现的
generator保存的是算法,每次调用next(generaotr_ex)就计算出他的下一个元素的值,直到计算出最后一个元素,没有更多的元素时,抛出StopIteration的错误
generator和函数的执行流程,函数是顺序执行的,遇到return语句或者最后一行函数语句就返回。而变成generator的函数,在每次调用next()的时候执行,遇到yield语句返回,再次被next()调用时候从上次的
作为Python语言的爱好者及工作者,偶认为其实Python是比较好入门的语言之一了,对于新手比较友好,要是做一些比较简单的应用还是比较容易的。
首先,要先学会Python的基本语法,比如for、while循环,构造函数,基本的输入输出,捕获异常,文件的基本操作等。
学习过基本语法后,就可以去选择感兴趣的方向了,众所周知,Python语言开发速度特别快,做一个项目其他语言需要几十行甚至几百行的代码Python几行就可以搞定,其根本原因就是别的语言需要重复的造“轮子”的过程,而反观Python,其本身就有着强大的支持库,省去了重复造轮子的过程,几乎在所有需要的项目中,Python都会有至少一个库进行支持,比如你要学习爬虫方向,那么可以先用requests库配合xpath模块进行练习抓取网页数据,用循环语句将抓取到的数据进行筛选,再用pymysql模块将抓取到的数据进行保存到mysql数据库中,这样就完成了一次简单爬虫操作,熟练后就可以用爬虫届的扛把子——Scrapy框架进行爬取内容了,进行各种分布式爬虫操作,让你感受飞一般的感觉!除了爬虫之外,如果你想要开发一个图形用户界面,可以学习Python的Tkinter来开发图形用户界面,讲之前偶说的那些操作都放到图形界面中,是不是感觉很棒?这些东西都是很方便操作的,一个简单爬虫甚至几行代码就可以完成,开发完成一个小应用可能也就用几十行代码就可以完成啦,开发其他小工具也是很简单的哟!!!