函数以及常用模块

先随便写个自己写的程序,显得高大上,此程序作用是把文件转换为列表
new = []

with open("Information.txt","r",encoding="utf8") as file:
    for line in file.readlines():
new.append(line.strip().split(","))
print(new)

先来个有序字典,使用了collections模块。

In [60]: ol = collections.OrderedDict()

In [61]: ol["k1"] = "v1"

In [62]: ol["k2"] = "v2" 

In [63]: print ol
OrderedDict([('k1', 'v1'), ('k2', 'v2')])
有序字典

定义函数:

def func(my_name): #my_name为函数的形参
    print("my name is",my_name)
func("parktrick") #传入的值为实参,parktrick传递给my_name,最后打印便是my name is parktrick

默认参数:

def func(name,job = "IT"):   #需要注意的是参数一定要放在参数列表的最后
    print("my name is %s,my job is %s"%(name,job))
func("parktrick") #传参的时候可以不写job,写了的话就以你的写的显示

正常情况下,传参是需要按顺序来的,也可以不按顺序来传参,如:

def stu_register(name,age,course,country="CN"):
    print("----注册学生信息------")
    print("姓名:", name)
    print("age:", age)
    print("国籍:", country)
    print("课程:", course)


stu_register("王山炮", 22,"python_devops")
stu_register("张叫春", 21,"linux")
stu_register("刘老根", 25,"linux")
打印如下所示:

----注册学生信息------
姓名: 王山炮
age: 22
国籍: CN
课程: python_devops
----注册学生信息------
姓名: 张叫春
age: 21
国籍: CN
课程: linux
----注册学生信息------
姓名: 刘老根
age: 25
国籍: CN
课程: linux

非固定参数之元组形式

不确定用户想传入多少个参数时,就可以使用非固定参数

def stu_register(name,age,*args):
    print("姓名:",name)
    print("年龄:",age)
    print("工作:",args)
stu_register("huihuang",18,"IT")
打印如下:

姓名: huihuang
年龄: 18
工作: ('IT',)   #这里可以理解*agrs把默认参数放入至元组中,所以用小括号表示,元组里只有一个元素时,需要带个逗号。

 

非固定参数之字典形式

def stu_register(name,age,**kargs):
    print("姓名:",name)
    print("年龄:",age)
    print("工作:",kargs)
stu_register("huihuang",18,job="teacher",salary=2000)
打印结果如下:

姓名: huihuang
年龄: 18
工作: {'job': 'teacher', 'salary': 2000}

局部变量和全局变量

name = "alex" #全局变量
def func(name):
    print("my name is",name) 

name = "我是局部变量" #此name为局部变量

print("测试我是局部变量:",name)
func("huihuang") print("my other name is",name)
打印结果如下:

my name is huihuang
测试我是局部变量: 我是局部变量
my other name is alex

未完待续

posted @ 2016-11-03 18:30  梦轻尘  阅读(166)  评论(0编辑  收藏  举报