day09_三元运算_函数_函数参数
-
三元运算
-
函数
-
考试题
内容详细
1.三元运算(三目运算)
v = 成立 if 条件 else 不成立
data = input(">>>")
value = ing(data) if data.isdecimal() else None
基本定义函数
截至目前:面向过程编程。【可读性差/可重复性差】。
def send_email():
import smtplib
from email.mime.text import MLMEText
from email.utils import formaddr
?
msg = MIMEText('信息',"plain","utf-8")
msg["From"] = formataddr(["发件人","xxxxxx@163.com"])
msg["To"] = formataddr(["收件人","xxxxxxxx@qq.com"])
msg["Subject"] = "标题"
?
server = smtplib.SMTP ("smtp.163.com",25)
server.login("xxxxxx@163.com","密码")
server.sendmail("xxxxxx@163.com",["xxxxxxxx@qq.com",],msg.as_string())
server.quit()
?
user_input = input("请输入角色:")
?
if user_input =="管理员":
send_email()
elif user_input =="管理员":
send_email()
elif user_input =="管理员":
send_email()
对于函数编程:
-
本质:将n行代码拿到别处并给起个名字,以后通过名字就可以找到这段代码被执行。
-
场景:
-
代码重复执行
-
代码量特别多超过一屏,可以选择通过函数进行代码的分割。
-
2.1 函数的基本结构
def nnn():
n[11,22,33,44]
print(n)
nnn()
2.2参数
def nnn(u):
n[11,22,33,44]
print(n[u])
nnn(0)
?
def func(max_range):
result = []
while True:
if len(result) ==0:
result.append(1)
elif len(result) == 1:
result.append(1)
else:
val = result[-1] + result[-2]
if val > max_range:
dreak
result.append(val)
return result
?
v = func(100)
print(v)
def write_file(file_path,content="\n"): #换行
def read_file(file_path,num=1): #只读第一行
def fuync(*args):#*args 可以传n个参数
print(args) #传的值是元组
?
func(1)
func(1,2)
func(1,2,3)
def fuync(*args):#*args 可以传n个参数
print(args)
?
func((11,22,33,44,55))
func(*(11,22,33,44,55))
?
def fuync(**kwargs):#**kwargs 只能是指定传参
print(kwargs) #它传的参是字典
?
func(k1=1,k2=2)
func(**{"K1":"V2","K2":"V3"})
?
def fuync(*args,**kwargs):
print(args,kwargs)
?
func(1,2,3,4,5,{"K1":"V2","K2":"V3"})
global#ge lou gou 找全局里面的
nonlocal#nao lou kou 找上一级的
name = "老男孩"
def func():
name = "alex"
def inner():
global name
print(name)
name = 999
inner()
print(name)
func()
输出结果
老男孩
alex
?
?
name = "老男孩"
def func():
name = "alex"
def inner():
nonlocal name
name = 999
inner()
print(name)
func()
输出结果
alex
999