#【 6.python中的函数】
# 1、什么是函数?是组织好的,可循环使用,来实现单一,或者相关功能的代码段
# 2、函数能提高应用的模块性
# 内建函数: print()
# 自建函数:def (怎么取定义一个函数?/定义函数的方法)
# 3、 自建函数(语法)
# def + 函数名 +(参数列表)
# 函数体
# 函数名() #调用函数
# def test(): #最后加冒号: test就是自建函数
# #这里是函数体,需要空一格taab键
# print('duoceshi') #函数体
# 1.第一种调用方法: (在本模块调用)
# def test():
# print('duoceshi')
# test() #调用函数,如果函数定义了,没有调用不会输出结果,但是调用的函数可以在其它模块调用
# 2.第二种调用方法,(在其它模块调用函数)
# import dcs7.lesson6 #通过报名,模块名导入这个模块,直接运行就可以调用(在函数模块有调用才能打印结果)
#
#
# from dcs7 import lesson6
# lesson6.test() #这样也是调用,通过模块化.函数名
# 3.第三种调用方法:
# if __name__ == '__main__': #是函数的入口,也称为主函数
# __name__ 是当前模块名,
# 当模块被直接运行时模块名是__main__
# 相当于当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块则不被运行
# def test():
# if __name__ == '__main__':
# test() #调用函数,main函数的代码不会被其它模块导入
# 4.函数中带单个参数
# def test(name): #name表示是形式参数
# print(name+'约会')
#
# test('王八蛋') # 王八蛋约会 实际参数
# 注意:如果定义的函数带了参数,调用时也需要传实际参数,
# 5.函数中带多个参数
# def test(name,where): #name表示是形式参数
# print(name+'来',where+'约会')
#
# test('王八蛋','河里')
# 6.默认值参数
# def test(name,where,action='打飞机'): #传了三个形式参数
# print(name+'来',where+action)
# # 当出现形式参数和默认值参数时,默认值参数放在形式参数后面
#
# test('王八蛋','山洞') #没有给默认值传新值,就用默认值
# test('王八蛋','山洞','倒立尿尿') #默认值给了新值,就用新值,不用默认值
# 7.可变长元组, 可变长参数用一个*号表示可变长元组
# def test(*value):
# print(value)
#
# test('张三','李四','王五') # ('张三', '李四', '王五') 这里可以写多个参数
# 8.可变长字典, 可变长参数用两个**表示可变长字典
# def test(**value):
# print(value)
# dict1 = {'name':'xiaoli','age':18}
# dict2 = {'class':1833}
# test(**dict1,**dict2) #{'name': 'xiaoli', 'age': 18, 'class': 1833}
# 9.可变长元组和可变长字典同时出现,可变长元组在前,字典在后
# def test(*value,**value1):
# print(value)
# print(value1)
# dict1 = {'name':'xiaoli','age':18}
#
# test('张三','李四','王五',**dict1)
#('张三', '李四', '王五'){'name': 'xiaoli', 'age': 18}
#10. python中的作用域
# 比如1:
# number = 100 #函数体外变量称为全局变量
# def test():
# number = 200 #函数体内变量称为局部变量,只能在函数体内用
# print(number)
# test() #200
# print(number) #100
# 比如2:
# a = 100
# def test():
# a = 200
# b = a+100
# print(b)
# test() #300
# print(a) #100
# 比如3
# a = 100
# def test():
# b = a +100
# print(b)
#
# test() #200
# print(a) #100
# 比如4:
# a = 100
# def test():
# global a # global是把函数内部的局部变量变成全局变量,之前的函数体外全局变量失效
# a = 200
# b = a +100
# print(b)
#
# test() #300
# print(a) #200
# 11.python中的返回值
# def test():
# b = a/100
# a = 600
#
# test() #运行为空
# print(test()) #打印为空:none
# 比如2:
# def test():
# a = 600
# b = a/100
# return b #把b这个结果给到函数调用出,谁拿了这个函数,谁调用这个函数就拿到这个结果
#
# test() #运行为空
# print(test()) #打印为空:6
# 比如3
# def test():
# a = 600
# b = a/100
# print(b)
# return b #把b这个结果给到函数调用出,谁拿了这个函数,谁调用这个函数就拿到这个结果
#
# test() # 6
# print(test()) # 6 6
# 编写一个求平均值函数,然后根据各科成绩判断是否为优秀学生
# def avg():
# a = 200
# b = a/3
# return b
#
# def is_good_stu():
# c = avg()
# if c>50:
# print('优秀学生')
# else:
# print('非优秀学生')
# def login():
# dict1 = {'name':'xiaoli','password':'123456'}
# name = input('请输入你的用户名:')
# if name == dict1.get('name'):
# password = input('请输入你的密码:')
# if password == dict1.get('password'):
# return'登录成功'
# else:
# return'你输入的密码有误,提示:请你重现输入密码,输入成功则登录成功'
# else:
# return '用户错误,请重新输入'
#
# def select_amount():
# a = login()
# if a == '登录成功':
# print('你的余额:xxxxx')
# else:
# print('请登录账号')
# 12.python中的内置函数
# format()函数是一种格式化字符串的函数,基本语法:是通过{}来替代以前的%
# 1).按顺序进行格式化
# str1 = '{} {}'.format('dcs','888','test')
# print(str1) #dcs 888
# 2)通过索引进行格式化
# str1 = '{1} {0}'.format('dcs','888','test')#{}中的数字是索引,format中的值就是索引值
# print(str1) #888 dcs
# 3)通过参数进行格式化
# str1 = '姓名:{name} 年龄:{age}'.format(name = 'xiaoli',age = 18)
# print(str1) #姓名:xiaoli 年龄:18
# 4)对列表进行格式化
# list1 = ['xiaoli',18]
# str1 = '姓名:{0[0]} 年龄:{0[1]}'.format(list1)
# {0[0]}第一个0表示format中的list1,第二个0是list1中的第一个值,{0[1]}这个0取到的list1,
# 这个1是list1中的第二个值
# print(str1) #姓名:xiaoli 年龄:18
# 5)对字典进行格式化
# dict1 = {'name':'xiaoli','age':18}
# str1 = '姓名:{name}年龄:{age}'.format(**dict1)
# print(str1) #姓名:xiaoli年龄:18
|
|