""" 函数当中的可变长元组:
在不确定我当前形式参数接收数据的个数时候,我可以使用可变长
元组,来定义参数,和接收实际参数.
*:表达方法
"""
""" 固定的长度,每个形式参数固定传一组数据"""
# def function(name):
# print(name)
#
# function(("admin","username"),"123456")
""" 可变长元组:"""
# def function(*values):
# print(values)
# print(type(values))#<class 'tuple'>
# function("username","password","13510951238","420881199900077")
# def function2(name):
# print(name)
# function2("username","password")
""" 可变长字典:**星号表示可变长的字典参数.
一个形式参数,对应的是传输一组数据,当我有多组
数据的情况,就需要使用可变长字典
"""
# def function1(**name):
# print(name)
# function1(**{"username":"password"},**{"湖北":"武汉"})
# def function(**name):
# print(name)
# #第一种传输字典的方式
# function(**{"username":"password"},**{"湖北":"武汉"})
# """ 可变长字典同时传输多个字典."""
#第二种传输方式.
# function(name="admin",password="123456",phone="13510951238")
#第三种直接传入字典:
# dict1 = {"username":"password"}
# dict2 = {"湖北":"武汉"}
# function(**dict1,**dict2)
""" 可变长元组,以及可变字典可以同时出现在
一个函数当中.他们之间有先后顺序,先可变长元组
之后才能定义可变长字典"""
# def function(*tuple,**dict):
# print(tuple,dict)
#
# function(12,3,3,4,5,56,**{"username":"password"})
# """ (12, 3, 3, 4, 5, 56) {'username': 'password'} """
""" return: 语句:用来返回结果,函数当中
一旦碰到return 他会将实际的结果返回给当
前函数:"""
# def function():
# print("hell work")
# print(function()) #None
""" 没有用return打印当前函数名称,当前函数是没有
具体的属性值.结果为None"""
# def function():
# return ("hell work")
# print(function()) #hell work
""" 这里使用return 的话,他是将实际的结果,返回给
当前函数,这个时候这个函数就有了具体的属性值."""
""" return 的运用:
在工作当中,函数之间是会相互进行调用的,需要拿到
上一个函数结果,来跟我当前函数来做一些处理.
所以用print 上一个函数是没有具体的结果值 结果就为None,
如果使用return 上一个函数是具有返回的属性值 ,我return返回
什么结果,我函数结果就是什么"""
""" 拿上一个函数的结果,在我当前函数去调用他的结果参数
运算."""
# def numer():
# return (100)
#
# def number1():
# a = numer() / 2
# print(a)
# number1()
""" return作用就是给当前函数进行赋值
如果没有使用return 函数是没有具体的值,他的结果就为None
使用return他是将实际的结果返回给当前的函数,就是return赋值的
操作.
return 在函数当中可以存在多个.
一旦碰到return 语句,立马结束程序,
下面代码不会被执行
."""
""" 一个函数当中可以设置多个return"""
# def function1(a):
# if a > 5:
# return "a 大于 5"
# elif a == 5:
# return "a 等于 5"
# else:
# return "a 小于 5"
# print(function1(3))
""" 函数当中一旦碰到return 立即结束程序,
return前面的代码会执行,但是return后面的
代码不会被执行"""
# def function():
# print("987654321")
# return 10000
# a = 100
# print("123456")
# #return下面的所有
# #代码都不会被执行.
# print(function())
""" 使用return 不赋值:返回的结果也是None"""
# def function():
# return #没有返回具体的值
#
# print(function())#None
""" 用一个 return 返回多个值:
需要用逗号进行间隔,返回的是一个元组的数据类型.
"""
# def function():
# return 100,1000,100
#
# # print(type(function()))#<class 'tuple'>
# # print(function())#(100, 1000, 100)
#
# function() #这个操作只是调用function 这个函数中的代码,如果
# #使用了return 需要加上打印输出结果
"""
面试题(return的作用)
注意点:
1.函数当中返回什么结果是由return决定的,那么return返回
什么值,函数的结果就是什么值
2.函数当中如果没有return,那么当前函数的结果就为None.
3.函数当中可以存在多个return,一旦条件成立执行了return
语句,return下面的代码将不会被执行.
4.return,可以返回多个结果给当前的函数,一旦return返回
多个结果,函数是由元组类型进行接收返回的数据.return返回
多个参数时,需要用逗号隔开.
"""
""" 我当前有一个需求,需要拿到第一个函数返回的成绩.第二个函数
根据但前第一个函数的成绩,进行判断,是不时优秀学生
第一函数返回的结果:math,english 有数学和英语成绩
第二个函数需要拿到第一个函数的结果,来判断当前math,english
是否大于80分,大于就是优秀学生,小于的话就是良好学生,有一课目
小于60,打印(需要补课)
"""
#
# def test01():
# math = int(input("请输入你的数学成绩:"))
# english = int(input("请输入你的英语成绩:"))
# return math,english
# # print(test01())
#
# def test02():
# score = test01()
# """ 这里用score 的变量接收具体的成绩信息--》
# 他只会运行一次test01这个函数当中的代码."""
#
# """ 用当前的变量值,接收test01这个函数返回成绩信息"""
# if score[0] >= 80 and score[1] >=80:
# print("优秀学生")
# elif (score[0] < 80 and score[0] > 60) and score[1] <80 and score[1]>60:
# print("良好学生")
# elif score[0] < 60 or score[1] <60:
# print("需要补课")
#
# test02()
""""
需求:登录银行系统并显示余额,有两个功能第一个是登录,
第二个是登录后显示余额,先登录然后根据登录是否成功然
后是否显示余额。 分析思路:如果想查询到余额,前提必须
登录,所以现在我们用两个函数来处理,第一个函数实现登
录,第二个函数实现余额查询,调用第一个函数得到的结果
给第二个函数,然后第二个函数根据结果进行代码处理
第一个函数: login 登录的功能:
return 当前用户的登录状态:
第二个函数: get_money:查询余额:
需要获取到 login函数用户登录的返回的状态
根据状态进行判断是否显示余额
"""
""" 第一个功能函数 登录:"""
# def login():
# username = input("请输入你的账号:")
# if username == "admin":
# password = input("请输入你的密码:")
# if password == "123456":
# return ("登录成功")
# else:
# return ("密码错误")
# else:
# return ("账号错误")
#
# def get_money():
# code = login()
# if code == "登录成功":
# print("您的余额为:10000000000.00")
# elif code == "密码错误":
# print("密码错误")
# else:
# print("账号错误")
#
# get_money()
""" 函数是用来组织代码,能够管理我的代码.方便代码的维护,
提高代码的重复使用率"""
""" format:他是将之前的%号格式话改为用{}代替"""
"""注意点: 有几个{} 我就需要填写多少对应的参数"""
""" 第一种:使用format格式化方法"""
# print("age:{} name:{}".format(18,"渣渣灰"))
""" 第二种: 通过参数名称进行格式化传参:"""
# print("我的年纪为:{age} 我来自哪里:{addr}".format(age=18,addr="乌鲁木齐"))
""" 第三种: 通过format参数当中索引位置取值传参:"""
# print(" {1} {0} {2} ".format("武汉","湖北","东湖高新"))
# print(" {2} {1} {0} ".format("武汉","湖北","东湖高新"))
""" 第四种: 索引取值进行格式化输出"""
# list1 = ["武汉","黄冈","荆州","孝感"]
# list2 = ["钟祥","大冶","应城","浠水"]
# print("我来自{0[1]}市{1[3]}县".format(list1,list2))
""" {} 0 代表foramt参数里面列表的索引位置(list1)
[1]代表list1当中索引位置
"""
""" 第五种: 通过dict 进行格式化输出:"""
# dict1 = {"湖北":"武汉","name":"admin","phone":"13510951238"}
#
# print("我来着{湖北},叫做:{name},我的手机号为:{phone}".format(**dict1))
""" 字典格式化输出 {}写的是当前字典的键,通过对应的键去取值.
# format传输字典的时候需要加上**
"""
""" zip: 用来打包数据:
他是将两组数据打包成一组数据,
"""
list1 = ["湖北","湖南"]
list2 = ["武汉","长沙"]
a = list(zip(list1,list2))
""" 打包完成的数据,他是一个进制对象,这个时候我通过list函数
将他转换为list对象,进行操作,合并打包完成存储为元组
注意:两个打包的对象,数据要是一致的
[('湖北', '武汉'), ('湖南', '长沙')]
list里面包含tuple:
叫做多维数组:有多种数据形式
"""
print(a)
print(type(a))# <class 'list'>
print(type(a[0]))# <class 'tuple'> |
|