先随便写个自己写的程序,显得高大上,此程序作用是把文件转换为列表
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
未完待续