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 ...
随机推荐
- Spark Streaming编程示例
近期也有开始研究使用spark streaming来实现流式处理.本文以流式计算word count为例,简单描述如何进行spark streaming编程. 1. 依赖的jar包 参考<分别用 ...
- 初识Java——第一章 初识Java
1. 计算机程序: 为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合. 2. JAVA相关的技术: 1).安装和运行在本机上的桌面程序 2).通过浏览器访问的面向 ...
- Sass变量及嵌套
1. 变量:SASS允许使用变量,所有变量以$开头. 变量声明:$highlight-color: #000; 注意:变量可以在css规则块定义之外存在.如下例子: $nav-color: #F90; ...
- node 版本升级,版本管理,版本切换
查看node版本 node -v 升级步骤 1,清除node缓存 sudo npm cache clean -f 2,安装n模块 sudo npm install -g n 3,升级到稳定版本 sud ...
- .Net Core如何在程序的任意位置使用和注入服务
最近有人问我:我该如何在Startup类之外的地方注入我的服务呢,都写在startup里看着好乱:我该如何在程序的其他地方获取我注入的服务呢: 故我写了这篇博客,文中有不对的地方欢迎指正. 一.如何在 ...
- Flink实例-Wordcount详细步骤
link实例之Wordcount详细步骤 1.我的IDE是IntelliJ IDEA.在官网上https://www.jetbrains.com/idea/下载最新版2018.2的IDEA,如下图.破 ...
- Python学习5——基本格式化输出
整数的格式化输出 十进制.八进制.十六进制 num01 = 100 print("十进制输出:%d"%num01) print("八进制输出:%o"%num01 ...
- PWA-网络
PWA-网络 fetch API Get fetch('/some/url',{ method:'GET' }).then(function(resp){ //success }).catch(fun ...
- 实现一个带有指纹加密功能的笔记本(Android)第二部分
上文基本完成了整个笔记本的笔记功能的实现,接下来记录实现指纹识别加密以及一些小注意事项. 首先判断该手机是否具备指纹识别的硬件功能和用户是否开启指纹识别. public boolean isFinge ...
- Hibernate学习笔记三
1.1.1 Hibernate的关联关系映射:(多对多) 1.1.1.1 多对多的配置: 步骤一创建实体和映射: Student: public class Student { private Int ...