函数知识及文件IO操作(python快速入门精华切记03)

来源:互联网 发布:c语言如何编写头文件 编辑:程序博客网 时间:2024/06/01 15:27

一  函数部分

注意

1. 在python中类型属于对象,变量无类型:例如a=[1,2,3]和a="kobebryant"中,[1,2,3]是list类型,"kobebryant"

是String类型,而变量a无类型,它不过是一个对象的引用,可以指向各种类型。


2. strings, tuples,和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。


不可变类型:变量赋值a=8 后再赋值a=24,实际是新生成一个 int 值对象 24,再让 a 指向它,而 8 被丢弃,

故不是改变a的值,而相当于新生成a。故在函数传递中这些类型相当于值传递,不影响其值。


可变类型变量赋值bryant=[1997,08,24,2016]后再赋值bryant[1]=8 则是将 list bryant 的一个元素值更改,本身

bryant没有动,而是其内部的一部分值被修改了。故在函数传递中会更改其值。



python函数语法


1.正式的参数传递类型有四种:必备参数,关键字参数,默认参数,不定长参数。



2.匿名函数Lambda




二  模块导入基础

1.import module


2.from a import func  表示导入模块的func函数


3.from math import *  表示导入数学模块中所有


4.包的概念:一个分层次的文件目录结构,定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。包就是文件夹,该文件夹下必须存在 __init__.py 文件, 该文件的内容可为空。__int__.py用于标识当前文件夹是一个包。


三 文件I/O

# -*- coding: utf-8 -*-fo=open("66.txt","w+")sub="kobe\nmvp\nchampion!!"fo.write(sub)print "\n写入后当前位置:",fo.tell()print "len:",len(sub)fo.seek(0,0)print "重回原点位置:",fo.tell()print fo.read(4),"读完后当前位置:",fo.tell()print "换行\\n占了一个位置"print fo.read(1),"读完一位后当前位置:",fo.tell()print fo.read(3),"读完后当前位置:",fo.tell()print "换行\\n占了一个位置"print fo.read(1),"读完一位后当前位置:",fo.tell()print fo.read(8),"读完后当前位置:",fo.tell()print fo.read(2),"读完一位后当前位置:",fo.tell()print fo.read(1),"读完一位后当前位置:",fo.tell()print fo.read(1),"读完一位后当前位置:",fo.tell()fo.seek(-8,2)print "将位置定到倒数第二位置:",fo.tell()print "倒数第二位向后读取4字节: ",fo.read(4),'\n'print "文件属性:",fo.name,fo.closed,fo.mode,fo.softspacefo.close();



运行结果:



1.open()函数中第二个参数是打开文件的模式,常见有:




2.write()方法写进后当前只是位置将在内容后一个字节处,故写入后若想立即读所写,必须用seek()

方法将位置定到开头,否则读入空或者其他无法预料!其中:


seek():第一个参数是移动的字节数offset,第二个参数from,0表示参考位置是开头,1表示参考位置

是当前,2表示参考位置是末尾!!


3.重命名文件和删除文件:import os后用os.rename("66.txt","newName.txt"),os.remove("66.txt")


4.目录函数(os模块):os.mkdir("newfolder"),os.chdir("newdir"),os.getcwd(),os.rmdir("dirname")等等








0 0
原创粉丝点击