函数与模块

if __name__ == ‘__main__’:  #模拟程序的入口,一个编程的良好习惯

函数(function:是为完成一个操作而组合在一起的语句组

好处:1、可以省去编写重复代码的苦闷

2、可以组织和简化编码

3、提高代码可读性

分类:1、内置函数(官方文档:https://docs.python.org/zh-cn/3/library/functions.html)

老九常用函数总结:http://wiki.xuetang9.com/?p=7170

2、自定义函数

bool()如果不给参数,默认为False;值为0,空序列(空列表、空字符串)、None等,

返回False

str(),str(None)返回None(字符串)

complex(),将字符串转换为一个复数,运算符之间不能有空格,

ASCII码:空格-32  A-65  a-97

ord(),求当前字符对应的数字(ASCII码)

chr(),求当前数字对应的字符(ASCII码)

math模块

补充两个内置函数

eval(),编译执行函数,动态的表达式求值。

exec(),可以用来执行字符串语句。

变量的操作

globals(),返回当前作用域内的全局变量和其组成的字典

locals(),返回当前作用域范围内局部变量和其组成的字典

定义函数的语法:函数定义由函数名称、形式参数以及函数体组成

def <函数名>([参数列表]):   # def:表示定义函数 <>:表示固定的,[]:表示可选的

<函数体>

[return <返回值列表>]

注意:Python中,传递参数的时候实际上传递的是对象(共享传参,形参是实参的别名)。

函数体中出现pass表示该函数不用实现。

当函数不写返回值的时候,默认回返回一个None

一个函数最好只做一件事。

函数的调用分为位置参数和命名关键字参数,使用位置参数要求参数按照定义函数

中的顺序进行传递,使用命名关键字时,参数的顺序是任意的。

可变参数:*是个分隔符,告诉Python解释器这是个可变参数。(可变参数实际

上是参数在传递给函数时,函数内部自动将多个参数组装成一个元组对象)。

参数的传递机制

可变数据类型呢故事指变量所指向的内存地址的值是可以被改变的。

想要改变列表原来的值必须使用下标进行访问修改。

传参使用切片,相当于创建一个新的切片列表进行访问修改,不影响原来的列表

模块化代码:模块化可以使代码易于维护和调试,提高代码的重用性,可以将函数的定义放在一个被称为模块的py文件中,这些模块文件后面就可以被我们的程序导入并重复使用了。

使用import进行引入。:import 模块名

引入包中的模块太长可以取别名:import 包名.模块名 as 别名

从某个包中引入某个模块:from 包名 import 模块名

导入某个包下的所有子模块(不推荐使用):from 包名 import *

变量的作用域:指变量可以在程序中被引用的范围

  1. 所有函数之外创建的变量是全局变量,可以被所有函数访问(在函数中修改全局变量不是一个好习惯)
  2. 在函数内部定义的变量被称为局部变量,只能在函数内部访问。局部变量的作用域从创建变量的地方开始,直到包含该变量的函数结束为止。
  3. 如果在函数中想访问当前模块定义的全局变量,那么需要在变量前添加global(全局的)关键字。

函数小总结:

可变与不可变类型

在Python中,一切皆为对象,一切皆为对象的引用

不可变的类型:int、float、string、number、tuple,特点是不可变对象的值并没有发生改变,变得只是创建了新的对象,改变了变量对对象的引用

可变类型:列表、字典、集合、自定义类型,特点所谓可变对象,对象的内容可变。

传递参数的5种方式

  1. 位置参数:参数定义的位置好饿传递时的位置要求一致。(默认使用位置参数调用)
  2. 默认参数:在函数定义的时候在形参列表中使用=赋值,使用默认参数时,默认参数必须指向不可变对象。当默认参数类型为可变类型时,可变对象只会被执行一次

3、关键字参数(key word arguments):使用**定义

4、命名关键字参数:在关键字参数的基础上限制传入关键字的变量名(*后面的变量名)

5、不定长参数:使用*,注意和命名关键字的区别

注意:书写的时候,必须遵循的顺序为:位置参数 -> 默认参数 -> 不定长参数 -> 关键字参数 -> 命名关键字参数。如果参数列表中存在不定长参数,后面如果再出现命名关键字参数,就可以不用单独一个星号来分隔了

元组:tuple

1、与列表相似,不同之处就在于元组的元素不能被修改

2、列表使用的是中括号,元素使用的是小括号

3、列表属于可变类型,元组属于不可变类型(一旦创建,元素不能被修改)

4、Python内部对元组进行了大量的优化,访问和处理速度都比列表快

5、不能删除元组中的某个元素,只能使用del删除整个元组。

tuple1 = tuple((1,2,3))                         #创建一个包含3个元素的元组对象

tuple2 = (1,)                                           #创建一个元素的元组时,必须带有逗号

遇到问题,可加老九君个人QQ:614940318,请备注来自CSDN
老九学堂免费C、C++、Java课程地址: https://study.163.com/courses-search?keyword=老九学堂

徐老师线下全栈就业班开始报名啦~

零基础开讲,8个月,Java全栈学习,终身推荐就业

【老九】【Python】函数与模块相关推荐

  1. python中sin函数在哪个模块中_从零开始第5步:Python 函数和模块

    ▍『1』函数 当代码出现有规律的重复的时候,可以使用函数.函数是对代码的封装复用,也可以看成是功能的抽象. 函数通过def关键字定义,def关键字后跟一个函数的标识符,然后跟一对圆括号.圆括号之中可以 ...

  2. 小白都能学会的Python基础 第四讲:Python函数与模块

    1.华小智系列 - Python基础(案例版) <Python基础>目录 第四讲:Python函数与模块 1.函数的定义与调用 2.函数参数与返回值 2.1 参数再研究 2.2 返回值 2 ...

  3. python函数和模块有什么关键特性_Python学习----第一模块笔记(Python基础知识)...

    1.python是什么? python是动态解释型的强类型定义语言. python官方版本的解释器是CPython.该解释器使用C语言开发. 当前主要使用3.x版本的python. 2.第一个pyth ...

  4. python函数和模块有什么特性_python-函数包和模块

    python函数的作用: 在Python代码段中如果有一段几十行的代码,需要多次重复使用这几十行代码时,为了提高代码的可用性,将代码段放进函数体内,以后在使用中直接调用该函数模块即可,函数是一个独立的 ...

  5. python 函数 类 模块

    python基础语法5 函数 作用域 函数参数 函数对象 无名函数 回调函数 函数嵌套 类 类的创建 类的调用 初始化方法 类的继承 类的定制 模块 使用模块 函数 封装好,进行某种功能 del 函数 ...

  6. python函数模块_06.Python函数和模块

    函数基础 目标 函数的快速体验 函数的基本使用 函数的参数 函数的返回值 函数的嵌套调用 在模块中定义函数 函数的快速体验 1.1 快速体验 所谓函数,就是把 具有独立功能的代码块 组织为一个小模块, ...

  7. python函数和模块有什么关键特性_零基础学python之函数与模块(附详细的代码和安装发布文件过程)...

    代码重用--函数与模块 摘要:构建函数,创建模块,安装发布文件,安装pytest和PEP 8插件,确认PEP8兼容性以及纠错 重用代码是构建一个可维护系统的关键. 代码组是Python中对块的叫法. ...

  8. python函数和模块的使用方法_Python学习06_函数和模块的使用

    引入 在写有些代码的时候,会发现有些步骤重复了多次,他也不像循环,都是相同的东西在重复,而是指做某件事情的步骤方法,做事的人或对象发生了改变,但是方法却没有改变. 要想写出高质量的代码,首先要解决的就 ...

  9. Python函数和模块总结

    文件操作 with open("xxx/xx/xx","wra+",encoding="utf-8")as f: f.read() f.wr ...

  10. 二、python函数与模块

    009 文件操作 1.文件操作 读文件 读文本文件(字符串:rt.r) 打开:file_object = open('info.txt', mode='rt', encoding='utf-8') 读 ...

最新文章

  1. Matlab图像复原(运动模糊、散焦模糊)
  2. istringstream ostringstream stringstream
  3. UML 中关系详解以及在visio中的表示
  4. 详解pager-taglib-2.0配合SSH分页
  5. 【转载】opencl中设备内存
  6. 利用HTML5开发Android笔记(中篇)
  7. AndroidDeveloper Weekly No.3
  8. Static 单例模式
  9. 数据分析2 - 基础篇
  10. VSCode中Clangd无法找到stdio.h
  11. 安装和使用华三HCL模拟器的常见问题总结
  12. 扫雷——Windows上的经典小游戏
  13. PPPD chat中文帮助
  14. 接口用例设计从哪些方面考虑
  15. 婴儿体重不用计算机怎么算,测量宝宝体重计算器
  16. 大一C语言实验报告九江学院,九江学院C语言实验报告及答案-资源下载人人文库网...
  17. 怎么判断一个数字是否是快乐数
  18. php酷狗音乐json,酷狗音乐API接口
  19. 【python】GIL是什么?
  20. Java(Spring)学习笔记--->自动装配(autowire)

热门文章

  1. IDEA和Eclipse的debug怎么实现?出于好奇心,我越挖越深!
  2. phpword 实现word文件模板字符替换
  3. 【前端开发】:行间距和首行缩进
  4. python背景图添加_Python实例讲解 -- tkinter canvas (设置背景图片及文字)
  5. 计算机发展的雏形,( )是现代计算机的雏形。
  6. 最网最全python框架--scrapy(体系学习,爬取全站校花图片),学完显著提高爬虫能力(附源代码),突破各种反爬
  7. 关于 NM_CONTROLLED和Network Manager
  8. 高效办公之云端实时协作企业办公软件:石墨文档
  9. ueditor编辑器二次开发与优化
  10. 工作第九周:勇敢的少年,快去创造奇迹!