您的位置:首页 > 编程语言 > Python开发

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

2017-03-21 10:12 766 查看
一  函数部分

注意

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.softspace
fo.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")等等
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息