day09_三元运算_函数_函数参数


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