python 入门学习
一周掌握 python 入门知识
学习目标:
开始进入函数变成阶段
1、 函数编程的作用
2、语法定义&特性
3、各种参数
4、函数返回值的作用
5、局部变量和全局变量
6、内置函数
学习内容:
1、 函数编程的作用
将重复的代码封装单独封装起来,起个名字,之后直接调用
2、语法定义&特性
- 定义:函数就是将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需要调用其函数名即可
- 特性:1.减少重复代码 2.使程序变得可扩展 3.使程序变得易维护
- 代码示例:
def sayHi(name,age):
print(f"Hello,my name is {name}.I am {age} year old.")
sayHi("lisa",23)
运行结果:
3、各种参数
- 默认参数:
#默认参数
def stu_register(name,age,course,country="CN"):
print("============注册学生信息==========")
print(f"姓名:{name}")
print(f"年龄:{age}")
print(f"国籍:{country}")
print(f"课程:{course}")
stu_register("张三",18,"python")
stu_register("lisa",19,"English","ES")
stu_register("李四",18,"linux")
默认参数的位置很重要
- 关键参数(指定参数)
正常情况下,非函数传参数要按顺序,不想按顺序就可以用关键参数,只需要指定参数名即可(指定了参数名的参数就叫关键参数),但是有一个要求:关键参数必须放在位置参数(以位置顺序确定对应关系的参数)之后
位置参数比关键参数的优先级高
#关键参数
def stu_register(name,age,course,country="CN"):
print("============注册学生信息==========")
print(f"姓名:{name}")
print(f"年龄:{age}")
print(f"国籍:{country}")
print(f"课程:{course}")
stu_register("张三",18,country="CN",course="python")
#stu_register("lisa",19,country="ES","English") 报错
stu_register(name="李四",age=18,course="linux")
- 非固定参数
若你的函数在定义时不确定用户想传入多少个参数,就可以使用非固定参数
#非固定参数
def stu_register(name,age,*args): #*args 会把多传入的参数变成一个元组形式
print("============注册学生信息==========")
print(name,age,args)
stu_register("张三",18,"python")
stu_register("lisa",19,"English teacher",18700814407)
stu_register("李四",18,"man")
def stu_register(name,age,*args,**kwargs): #*args 会把多传入的参数变成一个元组形式;kwargs就会是个字典形式
print("============注册学生信息==========")
print(name,age,args,kwargs)
stu_register("张三",18,"python",add="陕西西安")
stu_register("lisa",19,"English teacher",Tel=18700814407,sex="woman")
4、函数返回值的作用
函数外部的代码想获取函数的执行结果
#函数返回值
def func(x,y):
return x*y
result=func(3,4)
print(result) #12
也可以返回多个值;如果未在函数中指定return,那函数的返回值就是None;return代表着函数的结束
def stu_register(name,age,*args,**kwargs):
print("============注册学生信息==========")
print(name,age,args,**kwargs)
if age >14:
return name,age,args,kwargs
else:
return false
stu_register("张三",18,"python","CN")
5、局部变量和全局变量
#局部&全局变量
name="lisa"
def change():
name=input("新名字:")
print("改了后:",name)
change()
print("外部:",name)
局部变量:只在函数内部生效,函数结束就销毁了,作用域仅在函数
全局变量:在程序一开始定义的变量,作用域是整个程序
变量的查找顺序:局部变量>全局变量
在函数内不能直接修改到全局变量,除非声明一个全局变量(但是不建议使用)
name="lisa"
def change():
global name
name=input("新名字:")
print("改了后:",name)
change()
print("外部:",name)
给函数传递列表、字典的现象
#传列表、字典
d={"name":"张三","age":18,"country":"中国"}
l=["lisa","rose","jenne"]
def change(info,idol):
info["country"]="新加坡"
idol.append("jisoo")
change(d,l)
print(d)
print(l)
因为变成了地址传递了,类似于c的指针传递
6、内置函数
学习产出:
练习:学籍注册小程序