Python函数
一、语法:
def functionname( parameters ):
"函数_文档字符串"
function_suite
return [expression]
二、参数传递:
1、在 python 中,类型属于对象,变量是没有类型的。
2、python 函数的参数传递:
在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。
不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
def ChangeInt( a ):
a = 4
print "函数内取值",b #输出结果: 4
return
b = 1
ChangeInt(b)
print "函数内取值",b #输出结果: 1
可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(b),则是将 b 真正的传过去,修改后 fun 外部的 b 也会受影响。
def changelist( list ):
"修改传入的列表"
list.append([1,2,3,4]);
print "函数内取值: ", list #输出结果: [10, 20, 30, [1, 2, 3, 4]]
return
# 调用changelist函数
list = [10,20,30];
changelist( list );
print "函数外取值: ", list #输出结果: [10, 20, 30, [1, 2, 3, 4]]
附:
append() 方法用于在列表末尾添加新的对象。
语法: list.append(obj)
三、参数
1、必备参数须以正确的顺序传入函数,如调用上述 changelist() 函数,必须传入一个参数,不然会出现语法错误。
2、缺省参数:调用函数时,缺省参数的值如果没有传入,则被认为是默认值。
四、全局变量和局部变量
局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。
全局变量想作用于函数内,在变量前加 global,实现在函数内部改变变量值。
globvar = 0
def set_globvar():
global globvar # 使用 global 声明全局变量
globvar = 1
Python文件I/O
一、读取键盘输入
1、raw_input([prompt]) 函数
从标准输入读取一个行,并返回一个字符串(去掉结尾的换行符):
str = raw_input("请输入字符串:");
2、input([prompt]) 函数
和 raw_input([prompt]) 函数类似,但是 input 可以接收一个Python表达式作为输入,并将运算结果返回。
str = input("请输入:");
print "输入的内容是: ", str
结果:
请输入:[x*5 for x in range(2,10,2)]
输入的内容是: [10, 20, 30, 40]
二、打开和关闭文件
Python 提供了必要的函数和方法进行默认情况下的文件基本操作。可以用 file 对象做大部分的文件操作。
1、open 函数
先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。
语法:
file object = open(file_name [, access_mode][, buffering])
附:File对象的属性
fo = open("test.txt", "wb")
print "文件名: ", fo.name
print "是否已关闭 : ", fo.closed
print "访问模式 : ", fo.mode
2、close()方法
File 对象的 close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。
当一个文件对象的引用被重新指定给另一个文件时,Python 会关闭之前的文件。
fo = open("test.txt", "wb")
print "文件名: ", fo.name
fo.close()
三、write()、read()方法
write()方法可将任何字符串写入一个打开的文件。
read()方法从一个打开的文件中读取一个字符串。
# 打开一个文件
fo = open("test.txt", "wb")
fo.write( "www.runoob.com!\nVery good site!\n");
str = fo.read(10);
print "读取的字符串是 : ", str
# 关闭打开的文件
fo.close()
四、重命名、删除文件及文件目录
Python的os模块提供了帮你执行文件处理操作的方法。
import os #必须先导入os模块,然后才可以调用相关的各种功能
# 重命名已存在文件test1.txt到test2.txt
os.rename( "test1.txt", "test2.txt" )
# 删除一个已经存在的文件test2.txt
os.remove("test2.txt")
#在当前目录下创建一个新目录test。
os.mkdir("test")
# 将当前目录改为"/home/anngic"
os.chdir("/home/anngic")
# 显示当前的目录
print os.getcwd()
# 删除”/tmp/test”目录
os.rmdir( "/tmp/test" )