Python——函数,模块,简单文件读写(python programming)
函数(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)的更多相关文章
- [Python]-pandas模块-CSV文件读写
Pandas 即Python Data Analysis Library,是为了解决数据分析而创建的第三方工具,它不仅提供了丰富的数据模型,而且支持多种文件格式处理,包括CSV.HDF5.HTML 等 ...
- Python CSV模块处理文件读写
下面是一个简单的csv文件 Title,Release Date,Director And Now For Something Completely Different,1971,Ian MacNau ...
- python linecache模块读取文件的方法
转自: python linecache模块读取文件 在Python中,有个好用的模块linecache,该模块允许从任何文件里得到任何的行,并且使用缓存进行优化,常见的情况是从单个文件读取多行. l ...
- python shutil模块简单介绍
python shutil模块简单介绍 简介 shutil模块提供了大量的文件的高级操作.特别针对文件拷贝和删除,主要功能为目录和文件操作以及压缩操作. shutil 模块方法: copy(src, ...
- python之模块filecmp(文件/目录比较)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块filecmp(文件/目录比较) #用于比较文件及文件夹的内容.他是轻量级的工具.可以做一 ...
- Python win32com模块 合并文件夹内多个docx文件为一个docx
Python win32com模块 合并文件夹内多个docx文件为一个docx #!/usr/bin/env python # -*- coding: utf-8 -*- from win32com. ...
- python函数模块
python函数模块 学习完本篇,你将会深入掌握 函数相关知识 1.函数定义 2.函数如何调用 3.递归函数以及匿名函数使用 模块相关知识 1.模块如何导入调用 2.函数调用顺序 函数定义 函数代码块 ...
- 『无为则无心』Python函数 — 28、Python函数的简单应用
目录 1.函数嵌套调用 2.Python函数的简单应用 (1)打印线条 (2)函数计算 (3)打印图形 3.函数的说明文档 (1)函数的说明文档的作用 (2)函数说明文档的语法 (3)查看函数的说明文 ...
- python内置函数,lambda表达式,文件读写
Lambda表达式: lambda是个匿名函数,自动加return返回 a={ 6:2,8:0, 1:4,-5:6,99:11,4:22} print(sorted(a.items()))#按key排 ...
- python自动化--语言基础四模块、文件读写、异常
模块1.什么是模块?可以理解为一个py文件其实就是一个模块.比如xiami.py就是一个模块,想引入使用就在代码里写import xiami即可2.模块首先从当前目录查询,如果没有再按path顺序逐一 ...
随机推荐
- java中实现Comparable接口实现自定义排序
class Student implements Comparable{ String name; int gpa; @Override public int compareTo(Object arg ...
- L1-009 N个数求和 (20 分)
本题的要求很简单,就是求N个数字的和.麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式. 输入格式: 输入第一行给出一个正整数N(≤100).随后一行按格式a1/b1 ...
- (11)模板语言-if判断
views.py from django.shortcuts import render,HttpResponse # Create your views here. def index(reques ...
- MySQL数据库-数据表、以及列的增删改查
1.创建一个表 CREATE(创建) TABLE(表) ENGINE(引擎) ENGINE=INNODB(引擎)还有很多类引擎,这里只是简单的提一下INNODB引擎,INNODB引擎支持事务(回滚), ...
- jdk1.8新特性----接口可以有方法体,子类可以不用重写接口中已实现的方法
是的这就是jdk1.8新特性之一,刚刚看到. 注意:编译环境是1.8. public interface Tree { public static String name="树名" ...
- Java中的Graphics2D类基本使用教程
Java语言在Graphics类提供绘制各种基本的几何图形的基础上,扩展Graphics类提供一个Graphics2D类,它拥用更强大的二维图形处理能力,提供.坐标转换.颜色管理以及文字布局等更精确的 ...
- 芯灵思SInA33开发板怎样烧写镜像文件
上一节已经制作好了linux镜像文件,现在将它烧入开发板中需要的工具有 * SINLINX-A33_qt-4.8.7_lcd1024x600_v3.1 #镜像文件 * PhoenixSuit #烧写工 ...
- nginx实现nginx/tomcat负载均衡
准备三台centos7虚拟机,全部安装nginx或者tomcat 虚拟机A 10.0.3.46 在index.html 中添加10.0.3.46作为标志 虚拟机B 10.0.3.66 ...
- Benchmarking Zeebe: An Intro to How Zeebe Scales Horizontally and How We Measure It
Written by Felix Müller and Mike Winters on Jun 12 2018 in the Inside Zeebe category. In the past fe ...
- 用windbg 检查内存泄漏
1.下载编译https://github.com/0cch/luadbg 2.编写脚本1.txt .load luadbg_v15*.sympath+ srv*c:\MyServerSymbols*h ...