python中函数的定义,内置对象
#Python中的函数#.py文件是文件也是一个模块
#模块中可以包含很多的类,函数,变量,常量等
#函数中分为内置函数和自定义的函数
#print()是一个内置函数 ==> 打印输出
#自定义函数是由自己编写的函数,名称可以由自己自定义
#定义函数通过关键字def定义函数 ==> defintion
# def xian05(): #def后面接:函数名
# '''次数为函数体'''
# print('西安05')
#函数需要被调用才能输出函数内部的内容
#通过函数名称调用即可
#1.函数的第一种调用方法
# xian05()
#2.使用主函数入口调用
#主函数的作用是保护写在主函数入口下得代码不被倒入到其它模块中使用,一般使用它来调试当前模块的代码
#_name_:代表的是当前模块的名称
#_main_:代表的是被运行模块的名称
#当当前模块的名称与运行模块的名称相等的时候,才会被运行判断句下面的代码,否则不运行
# if __name__ == '__main__':
# xian05()
# #函数传入单个参数
# def xian05(name):
# print('%s多测师'%name)
# if __name__ == '__main__':
# xian05('西安') #西安多测师
#函数传入多个参数
# def xian05(name,where):
# print('%s多测师%s'%(name,where))
# if __name__ == '__main__':
# xian05('西安','教育') #多个参数传参的时候顺序不能被颠倒
# xian05(where='教育',name='西安')#关键字传参
#默认参数 ==> 非必填
# def xian05(name,where='教育'):
# print('%s多测师%s'%(name,where))
# if __name__ == '__main__':
# xian05('西安')
# xian05('西安','集团') #西安多测师集团
#注意点:如果函数中有位置参数和默认参数的时候,需要把默认值参数放在位置参数的后面,否则报错
#函数参数可变长元组参数,*args
# def xian05(*args):#传入的参数只有一个元组
# print(args)
# xian05('xiao') #('xiao',)
# xian05('xiao','zhang','duo') #('xiao', 'zhang', 'duo')
#函数传入可变长字典参数 ==> 传入参数的时候需要加上**
# def xian05(**kwargs):
# print(kwargs)
# dict1 = {'name':'xiao','age':18}
# dict2 = {'sex':'man'}
# xian05(**dict1,**dict2) #{'name': 'xiao', 'age': 18, 'sex': 'man'}
#注意点:如果一个函数中同时出现可变长元组与可变长字典参数时,元组的参数需要放在字典的参数前面,否则报错
#函数中变量
# num= 10 #全局变量
# def func():
# num = 20 #局部变量
# print(num)
# func() #20,打印的是函数里面的num
# print(num) #10
# num= 10 #全局变量
# def func():
# global num#global关键字把函数中局部变量变为全局变量,glbal只能在函数中使用
# num = 20 #局部变量
# print(num)
# func() #20,打印的是函数里面的num
# print(num) #20
#注意点:函数中的变量分为局部变量和全局变量,但是函数中需要把变量变为全局变量需要用关键字glbal
#print()仅仅是打印函数中的值,并没有把函数体部的值的结果赋值给到函数本身
#return的作用是把函数中的结果返回给到函数本身,谁调用函数谁就得到函数内部的结果
# def func():
# num = 20
# print(num) #20
# return num
# # print(num) #没有执行,return后面的代码不会被执行
# print(func()) #20
#函数之间值传递
# def score():
# score = 30+50
# return score
# def student():
# if score()>=80:
# print('优秀学员')
# else:
# print('再接再厉')
# if __name__ == '__main__':
# student()
#查询登录用户的账户余额函数
# def bal(username):
# if username == 'admin':
# return 10000
# else:
# return 1000000000000
# def bal():
# if login() == '登录成功':
# print('您的余额为:0.88')
# #用户登录函数
# def login():
# user_name = input("请输入您的账号:")
# if user_name == 'admin' or 'root':
# pwd = input('请输入密码:')
# if pwd == '123456':
# return '登录成功'
# else:
# print('您输入的密码有误,请重新登录')
# login()
# else:
# print('您输入的用户名有误,请重新输入')
# login()
# if __name__ == '__main__':
# # login()
# bal()
#Python内置函数
'''=============================================================
format()函数是一个格式化字符串的函数,增强了字符串格式化的功能
基本语法:通过{}来代替以前的%
'''
# str1 = '打招呼使用{},班级名称是{}'.format('hello','xian05')
# print(str1) #打招呼使用hello,班级名称是xian05
'''
第二种格式化输出,按照索引的位置进行格式化输出
'''
# str1 = '打招呼使用{1},班级名称是{2},名字叫做{0}'.format('xiaozhang','hello','xian05')
# print(str1) #打招呼使用hello,班级名称是xian05,名字叫做xiaozhang
'''
第三种格式化输出,按照变量的名称来进行格式化输出
'''
# str1 = '打招呼使用{see},班级名称是{banji},名字叫做{name}'.format(name='xiaozhang',see='hello',banji='xian05')
# print(str1) #打招呼使用hello,班级名称是xian05,名字叫做xiaozhang
'''
第四种格式化输出,对列表进行格式化输出
0:前面的0代表是format()函数中的索引,代表list1中的索引
'''
# list1 = ['xiaozhang',18]
# list2 = ['xiaoli',48]
# str1 = '姓名为:{0},年纪为:{1}'.format(list1,list2)
# print(str1) #姓名为:xiaozhang,年纪为:48
'''
第五种格式化输出,对字典进行格式化输出
'''
# dict1 = {'name':'xiaozhang','age':18}
# str1 = '姓名为{name},年纪为{age}'.format(**dict1)
# print(str1) #姓名为xiaozhang,年纪为18
#=======python中的zip()函数============================
'''
zip()函数将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表
如果可迭代对象中元素个数不一致,则返回的列表的长度与最短的那个对象相同
'''
# list1 = ['name','age','class']
# list2 = ['xiaozhang',18,'2022']
# list3 = list(zip(list1,list2))
# print(list3) #[('name', 'xiaozhang'), ('age', 18), ('class', '2022')]
# dict1 = dict(zip(list1,list2))
# print(dict1) #{'name': 'xiaozhang', 'age': 18, 'class': '2022'}
页:
[1]