Python入门(5)
导览:
- 函数
- 集合
- 迭代器与生成器
- 模块
一、函数
只要学过其他编程语言应该对函数不太陌生,函数在面向过程的编程语言中占据了极重要的地位,可以说没有函数,就没有面向过程编程,而在面向对象语言中,对象的方法与函数类似,都是将某一计算过程封装起来,方便多次调用的一种手段。
编程中的函数与数学中的函数极其相似,类比数学中的函数f(x) = x^2,x(自变量)被称为参数,得到的f(x)称为返回值,而f(对应法则)被称为函数体,之前我们使用的print(),input()等函数就是如此,只不过在编程中有些函数可能没有返回值,函数的执行结果可能通过其他方式作用于程序。
在Python3中,我们这样来定义一个函数
def 函数名(参数列表):
函数体
如果需要返回一个值,就使用return 返回值语句进行返回,需要注意的是,Python3支持返回多个值,而在调用函数时,往往需要与返回值相同个数的变量来接收。
对于一个y = x^2函数,在Python中可以这样实现:
def Square(x):
return x*x
当需要使用函数时,直接用函数名(参数)的形式调用:
Square(15)
二、集合
Python3中支持集合数据类型,这里的集合与数学中的集合概念完全一样,这里只列出集合的三大特点,其余概念不再赘述。
- 无序性:集合中的元素是无序的。
- 互异性:集合中各个元素各不相同。
- 确定性:集合中元素均是确定的。
集合定义有两种方式:
a = {value1,value2,...}
或者
b = set(value)
定义空集合只能使用set()。
根据集合的特点,我们可以使用集合来轻易地获取字符串中出现的不重复字符。
三、迭代器与生成器
迭代器能够从集合的第一个元素开始逐个遍历,并且它能够记住上一次访问的位置,可以使用iter()来创建一个迭代器对象,用next()来访问。这样说起来很抽象,不如我们直接来试试。
在集合中能够迭代,在函数中同样能迭代,集合中,迭代器能记住当前访问的位置,在函数中也是这样,在函数中使用了yield关键字后,函数每次执行会将yield后的值返回,并且暂停当前函数,当下一次调用函数,函数会从这个地方继续运行,这样的函数返回值是一个迭代器,我们称这种函数为生成器。
四、模块
在实际的编程过程中,你会发现很多不同的程序会用到很多相同的功能,我们之前说过,当一个功能在一个程序中需要重复使用的时候,能把它封装成函数,方便重复调用,那么,在多个程序使用到相同的功能时,我们似乎可以通过“复制、粘贴”来实现函数的“移植”,但事实上,这种方法是不可靠的,可能会出现很多的问题,而且,我们又更方便的办法——模块。
我们可以把那些功能类似的函数放在一个文件中,封装成一个“模块”,这样,我们只需要在新的程序中导入这个模块,就能够使用他们了。比如:我们写了一套求正弦、余弦等三角函数的功能,我们现在把这些函数全部放到一个名字叫做"triangle.py"的文件中,当你在新程序中需要使用的时候,只要把triangle.py复制到新程序所在的文件夹,然后使用import triangle就能导入模块,如果需要调用模块中求正弦的函数,可以这样:
import triangle
print(triangle.sin(1.74))
如果我们只是需要用到某个模块的一个函数,还可以使用import triangle.sin来只导入sin函数,这时,调用只要用sin函数名即可。
import triangle.sin
print(sin(1.74))
五、练习
编写一个模块,用来处理字符串,需要包含功能:
- 求任意一个字符串不重复的字符
- 求两个字符串的相似度
Python入门(5)的更多相关文章
- python入门简介
Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...
- python入门学习课程推荐
最近在学习自动化,学习过程中,越来越发现coding能力的重要性,不会coding,基本不能开展自动化测试(自动化工具只是辅助). 故:痛定思痛,先花2个星期将python基础知识学习后,再进入自动化 ...
- Python运算符,python入门到精通[五]
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是“+”.在计算器语言中运算符大致可以分为5种类型:算术运算符.连接运算符.关系运算符.赋值运 ...
- Python基本语法[二],python入门到精通[四]
在上一篇博客Python基本语法,python入门到精通[二]已经为大家简单介绍了一下python的基本语法,上一篇博客的基本语法只是一个预览版的,目的是让大家对python的基本语法有个大概的了解. ...
- Python基本语法,python入门到精通[二]
在上一篇博客Windows搭建python开发环境,python入门到精通[一]我们已经在自己的windows电脑上搭建好了python的开发环境,这篇博客呢我就开始学习一下Python的基本语法.现 ...
- visual studio 2015 搭建python开发环境,python入门到精通[三]
在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo, ...
- python入门教程链接
python安装 选择 2.7及以上版本 linux: 一般都自带 windows: https://www.python.org/downloads/windows/ mac os: https:/ ...
- Python学习【第二篇】Python入门
Python入门 Hello World程序 在linux下创建一个叫hello.py,并输入 print("Hello World!") 然后执行命令:python hello. ...
- python入门练习题1
常见python入门练习题 1.执行python脚本的两种方法 第一种:给python脚本一个可执行的权限,进入到当前存放python程序的目录,给一个x可执行权限,如:有一个homework.py文 ...
- Python入门版
一.前言 陆陆续续学习Python已经近半年时间了,感觉到Python的强大之外,也深刻体会到Python的艺术.哲学.曾经的约定,到现在才兑现,其中不乏有很多懈怠,狼狈. Python入门关于Pyt ...
随机推荐
- render 函数渲染表格的当前数据列使用
columns7: [ { title: '编号', align: 'center', width: 90, key: 'No', render: (h, params) => { return ...
- iOS7下Status Bar字体颜色修改
原文来自这里:iOS7下Status Bar字体颜色修改. 旧项目在iOS7上遇到status bar字体颜色需要修改的问题,症状如下:导航栏设置为黑色后,iphone上status bar的字体颜色 ...
- 苹果内购小结 - iOS
此篇针对 iOS 支付进行一次小结,很久没碰这块了,有些方法 Apple 官方也进行了优化,故也将随之进行更新. 首先,code 部分将分为两部分,一部分在 appdelegate 中,另一部分单独封 ...
- stack permutation
#include <iostream> #include <stack> #include <queue> using namespace std; bool ch ...
- 【HDOJ 1285】确定比赛名次(拓扑排序+优先队列)
Problem Description有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员 ...
- python字符编码转换说明及深浅copy介绍
编码说明: 常用编码介绍: ascii 数字,字母 特殊字符. 字节:8位表示一个字节. 字符:是你看到的内容的最小组成单位. abc : a 一个字符. 中国:中 一个字符. a : 0000 10 ...
- jquery实现表单验证简单实例
/* 描述:基于jquery的表单验证插件. */ (function ($) { $.fn.checkForm = function (options) { var root = this; //将 ...
- margin中的bug解决方法
margin bug问题 : 当做子元素中使用margin-top: 50px;父子元素都会跑出50px, 解决方法: 在父元素中使用下面三种任意一种都可以. 方法一:给父元素加边框 border: ...
- JSP + servlet 源码 实现文件的上传
JSP页面 upLoad.jsp _________________________________ <%@ page language="java" import=&quo ...
- 分析nginx 日志常用命令
一.概念 并发连接数 客户端向服务器发起请求,并建立了TCP连接.每秒钟服务器链接的总TCP数量,就是并发连接数.请求数 请求数指的是客户端在建立完连接后,向http服务发出GET/POS ...