Python——函数,模块,简单文件读写

函数(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

时间: 2024-10-09 08:02:13

Python——函数,模块,简单文件读写的相关文章

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

# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块filecmp(文件/目录比较) #用于比较文件及文件夹的内容.他是轻量级的工具.可以做一些简单的文件比较操作,将电脑上相同的文件进行删除去重处理 import filecmp #1.匹配2个文件的内容是否匹配,参数为文件路径 #返回布尔值 print filecmp.cmp('test1.txt','test2.txt')#False print filecmp.cmp('test3.

标C编程笔记day05 函数声明、文件读写、联合类型、枚举类型

函数声明: 1.隐式声明:在没有声明的情况下,系统可根据参数类型判断去调用函数(有可能出错) 2.显式声明:声明在被调用之前,如:double add(double,double);  函数声明参数可只写类型,不需要写函数体. 文件操作: fopen  --打开文件,FILE *pFile=fopen("a.txt","w"); fopen的打开模式: r:只能读,要求文件存在 r+:可读可写,要求文件存在 w:只能写,创建文件,如果文件存在则先删除旧文件 w+:可

Java简单文件读写

Java简单文件读写, 昨天帮同学写了一个简单的文件处理程序,记录这边吧,竟然花了一个小时,就是因为system.out打印日志的时候位置写错了 :-( public static void main(String[] args){ try{ BufferedReader br = new BufferedReader(new FileReader("D:/a.txt")); File dest = new File("D:/b.txt"); BufferedWri

Python之IO编程——文件读写、StringIO/BytesIO、操作文件和目录、序列化

IO编程 IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口.从磁盘读取文件到内存,就只有Input操作,反过来,把数据写到磁盘文件里,就只是一个Output操作. 由于CPU和内存的速度远远高于外设的速度,所以,在IO编程中,就存在速度严重不匹配的问题.举个例子来说,比如要把100M的数据写入磁盘,CPU输出100M的数据只需要0.01秒,可是磁盘要接收这10

转载-Python学习笔记之文件读写

Python 文件读写 Python内置了读写文件的函数,用法和C是兼容的.本节介绍内容大致有:文件的打开/关闭.文件对象.文件的读写等. 本章节仅示例介绍 TXT 类型文档的读写,也就是最基础的文件读写,也需要注意编码问题:其他文件的读写及编码相关详见专题的博文. open()   close()     with open(...) as ... 看以下示例就能了解 Python 的 open() 及 close() 函数.这边调用 read()方法可以一次读取文件的全部内容,Python把

python 函数初识和文件操作

文件操作  打开文件:文件句柄 = open('文件路径', '模式') 打开文件的模式 w #以写的方式打开 (不可读,不存在则创建,存在则删除内容) a #以追加的模式打开(可读, 不存在则创建,存在则追加内容) r #以只读模式打开 "+" 表示可以同时读写某个文件 r+ #以读写的模式打开 w+ #以读写的模式打开 a+ #以读写的模式打开 "b”表示处理二进制文件 rb #以二进制模式读打开 wb #以二进制写模式打开 ab #以二进制追加模式打开 rb+ #以二进

Python学习笔记九-文件读写

1,读取文件: f=open('目录','读写模式',encoding='gbk,error='egiong') 后三项可以不写但是默认是' r'读模式:open函数打开的文件对象会自动加上read()方法: f.read()读出刚刚打开的文件:最后一定要记得close()函数:否则会出现不可估计的后果. 读写模式:r只读,r+读写,w新建(会覆盖原有文件),a追加,b二进制文件.常用模式 .如:'rb','wb','r+b'等等 readline()函数,会依次读取多有文件内容,按行返回lis

python新手学习之文件读写之修改

文件除r.w.a方式打开外,还可以有多种组合方式如r+ w+ a+等多种方式 1.r+ 读写模式介绍,开始读是从一行开始读,写永远从最后开始写(类似于追加) # f = open("test.txt","r+",encoding ="utf-8") f.readline() f.readline() f.readline() # 不管如何读或者是seek.文件永远从尾部追加.写时候,不会影响读光标位置. print("当前光标位置:&q

python基础操作_文件读写操作

#文件读写# r只能读不能写,且文件必须存在,w只能写不能读,a只能写不能读# w+是写读模式,清空原文件内容# r+是读写模式,没有清空原文件内容,# 只要有r,文件必须存在,只要有w,都会清空原文件# 如果在open的时候没有指定模式,那就是r的模式打开文件.# a+ 又能写又能读又不校验文件是否存在,还不清空原文件,完美啊# b是2进制的模式打开或者读写.如rb+ wb+ ab+# readline 读一行# readlines 读全部# writelens 写全部f=open('E:\i