函数(function)定义原则:

最大化代码重用,最小化代码冗余,流程符合思维逻辑,少用递归;

函数的定义方法:

def function_name(param_1, param_2):

  .....

  return output  #输出,结束函数

注意:

函数要在使用之前定义
函数的使用方法以print()函数为例
形式参数和实际参数
在函数内定义的变量为本地变量,在函数外无法访问

参数传递:

实际参数通过赋值运算传递给形式参数
注意:如果参数是列表,在函数内可以被修改 (列表可以原位传递)

1 def add_ab(a,b):
2 c = a + b
3 return c
4 n = add_ab(1.5,3)
5 s = add_ab('mmm','nnn')
6 print(m)
7 print(n)

函数返回多个变量:  

如果一个函数需要返回多个变量:
函数定义中的return语句后面放置多个变量,以逗号分隔
该函数返回一个多元组
调用函数时,等号左端放置相应数量的变量名,以逗号分隔
也可以用一个变量承载函数返回的多元组,然后在拆分(元组,有序的小集合,不可原地修改)

 1 def max_min(a,b):
2 if a > b:
3 return a,b
4 else:
5 return b,a
6 m1,n1 = max_min(1,2)
7 m2,n2 = max_min(2,1)
8 print('m1:', m1)
9 print('n1:', n1)
10 print('m2:', m2)
11 print('n2:', n2)

声明全局变量:

函数内的变量前加上关键字global以声明全局变量
全局变量是模块级的
不要滥用全局变量,尤其是在Python中
使用全局变量不符合黑箱假设,不利于代码重用

函数是一个对象:

当我们使用def定义一个函数时,我们定义了一个函数类型的对象。
将函数定义放在if else语句之中,可以分情况来定义不同的函数体
函数名可以当作变量来进行赋值操作
函数可以被重新定义
函数可以有属性

函数嵌套:

如果函数A中需要调用函数B:
在A第一次执行之前,B必须被定义
不一定要在A定义之前就定义B

默认参数

1 def f(a, b = 2 , c = 3)

lambda函数:lambda语句创建一个无名函数,并将该函数作为返回值

只能包含一个表达式,连if这样的结构都不支持
def语句中的函数名是预先设定好的,lambda语句则可以把产生的函数赋给任意一个变量名
lambda产生的函数也可以不占用变量名

模块:

将一些函数或变量封装在.py文件中,以供调用
比函数更高层次的封装
.py文件的名字就是模块的名字
通过这种封装,可以避免单个.py文件过长
自定义的模块应该放在主程序目录下

模块调用:

import numpy as np
from numpy import arccos
from numpy import * #破坏命名空间,可能会破坏本来命名的和调用模块重名的方法函数

读取文本文件

打开一个文件
input = open(‘file_name’, ‘r’)
读取文件中的内容到一个字符串
content = input.read()
关闭文件
input.close()

转载自https://www.cnblogs.com/wwwwwei/p/10552915.html

Python——函数,模块,简单文件读写(python programming)的更多相关文章

  1. [Python]-pandas模块-CSV文件读写

    Pandas 即Python Data Analysis Library,是为了解决数据分析而创建的第三方工具,它不仅提供了丰富的数据模型,而且支持多种文件格式处理,包括CSV.HDF5.HTML 等 ...

  2. Python CSV模块处理文件读写

    下面是一个简单的csv文件 Title,Release Date,Director And Now For Something Completely Different,1971,Ian MacNau ...

  3. python linecache模块读取文件的方法

    转自: python linecache模块读取文件 在Python中,有个好用的模块linecache,该模块允许从任何文件里得到任何的行,并且使用缓存进行优化,常见的情况是从单个文件读取多行. l ...

  4. python shutil模块简单介绍

    python shutil模块简单介绍 简介 shutil模块提供了大量的文件的高级操作.特别针对文件拷贝和删除,主要功能为目录和文件操作以及压缩操作. shutil 模块方法: copy(src, ...

  5. python之模块filecmp(文件/目录比较)

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块filecmp(文件/目录比较) #用于比较文件及文件夹的内容.他是轻量级的工具.可以做一 ...

  6. Python win32com模块 合并文件夹内多个docx文件为一个docx

    Python win32com模块 合并文件夹内多个docx文件为一个docx #!/usr/bin/env python # -*- coding: utf-8 -*- from win32com. ...

  7. python函数模块

    python函数模块 学习完本篇,你将会深入掌握 函数相关知识 1.函数定义 2.函数如何调用 3.递归函数以及匿名函数使用 模块相关知识 1.模块如何导入调用 2.函数调用顺序 函数定义 函数代码块 ...

  8. 『无为则无心』Python函数 — 28、Python函数的简单应用

    目录 1.函数嵌套调用 2.Python函数的简单应用 (1)打印线条 (2)函数计算 (3)打印图形 3.函数的说明文档 (1)函数的说明文档的作用 (2)函数说明文档的语法 (3)查看函数的说明文 ...

  9. python内置函数,lambda表达式,文件读写

    Lambda表达式: lambda是个匿名函数,自动加return返回 a={ 6:2,8:0, 1:4,-5:6,99:11,4:22} print(sorted(a.items()))#按key排 ...

  10. python自动化--语言基础四模块、文件读写、异常

    模块1.什么是模块?可以理解为一个py文件其实就是一个模块.比如xiami.py就是一个模块,想引入使用就在代码里写import xiami即可2.模块首先从当前目录查询,如果没有再按path顺序逐一 ...

随机推荐

  1. difference among String,StringBuilder,StringBuffer

    difference among String,StringBuilder,StringBuffer String常用构造函数 String(byte[] bytes) String(byte[] b ...

  2. 【挑战赛16A】【取石子】【组合数学】

    链接:https://www.nowcoder.com/acm/contest/113/A 来源:牛客网 取石子时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言5 ...

  3. python3.x 正则表达式的应用

    正则表达式是我认为比较难的一个东西,今天忽然又学到了这个,想到写下来,以后作为参考手册使用. python如果想使用python需要引用re方法,在文件开始进行引用. import re 接下来说一下 ...

  4. 《DSP using MATLAB》Problem 6.16

    从别的地方找来的: 截图有些乱. 结构流程图如下

  5. supervisor使用总结

    简介: Supervisor是一个进程控制系统. 它是一个C/S系统(注意: 其提供WEB接口给用户查询和控制). 它允许用户去监控和控制在类UNIX系统的进程. 它的目标与launchd.daemo ...

  6. Computer Go Programming 学习

    https://senseis.xmp.net/?ComputerGoProgramming https://www.worldscientific.com/doi/pdf/10.1142/S0218 ...

  7. margin重叠现象

    1.上下/左右相邻的普通元素margin,不是两者相加之和,而是取最大值,这个现象叫做margin重叠. 2. 普通元素才会发生margin重叠,如果是float元素,就不会发生.margin是两者相 ...

  8. shiro学习笔记

    一.概念: shiro是apache旗下一个开源框架,它将软件系统的安全认证相关的功能抽取出来,实现用户身份认证.权限授权.加密.会话管理等功能,组成了一个通用的安全认证框架. (一)shiro的功能 ...

  9. zeromy quick start - python

    软件: pip install pyzmq 代码: ==server.py #  #   Hello World server in Python  #   Binds REP socket to t ...

  10. React V16.x 生命周期调整

    旧声明周期: table th:nth-of-type(5) { width: 400px; } 生命周期 属于阶段 调用次数 是否可以setState 作用 getDefaultProps 创建阶段 ...