函数

#常见内置函数
print(all([1,2,3,4]))#判断可迭代的对象里面的值是否都为真
print(any([0,1,2,3,4]))#判断可迭代的对象里面的值是否有一个为真
print(bin(10))#十进制转二进制
print(bool(None))#把一个对象转换成布尔类型
print(chr(69))#打印数字对应的ascii
print(ord('E'))#打印字符串对应的ascii码
s='nhy'
d={}
print(dir(d))#打印传入对象的可调用方法
exec('def a():print("我是a")')#执行python代码
a = eval('1+2')  #也是用来执行python代码的,只能执行一些简单的代码,比如运算,[]  {}
print(a)
print(filter(lambda x:x>5,[12,3,12,2,1,2,35]))#把后面的迭代对象根据前面的方法筛选
print(map(lambda x:x>5,[1,2,3,4,5,6]))
print(max(111,12))#取最大值
print(min((1,2,3)))#取最小值
print(abs(-1))#取绝对值的
print(round(11.119999,3))#取几位小数
print(sorted([2,31,34,6,1,23,4]))#排序

#函数调用
def say(): #函数名
   print('hello')#函数体
#函数不调用是不会被执行的
say()  #调用函数

#函数的参数
def calc(a,b):  #形参, 形式参数
   #位置参数,必填参数
   res = a * b
   print('%s * %s = %s'%(a,b,res))

calc(7,8)  #实参,实际参数

def op_file(file_name,conent=None):
   #默认值参数,它是非必填的
   f = open(file_name,'a+',encoding='utf-8')
   f.seek(0)
   if conent:#不为空代表写
      f.write(conent)
      f.flush()
   else:
      all_users = f.read()
      return all_users  #调用完函数之后,返回什么结果
   f.close()
res = op_file('a.txt')
print(res)

def haha():
   #函数里面遇到return函数就立即结束了
   for i in range(5):
      print(i)
      if i==3:
         return  #只写一个return的话,就返回None
res = haha()
print(res)

#函数不固定参数
def syz(a,*args):  #参数组
   print(a)
   username = args[0]
   pwd = args[1]
   age = args[2]
syz('niuhanyang','2423',23,23)
syz('1s','sdf')     #会报错,因为函数参数组定义了3个参数,这里只传了一个


def syz2(time,**kwargs):  #关键字参数
   print(kwargs)
syz2('sdf')     #关键字参数,传值多少个,就多少个,不会报错。不是必填
syz2(name='nhy',age=38,time='20180912')
syz2('2018',name='nhy',age=38,addr='回龙观',home='河南')
syz2(time='xx',xx='xxx')

#1、必填参数还是非必填的
#2、它有没有限制参数个数
#3、它是把传过来的参数放到哪里


全局变量

name = '谢红'
#全局变量
#如果要改全局变量的话,那你要先声明一下,你修改值是全局变量
def sayName():
   global name
   name = '刘伟'
   print('name1',name)
def lw():
   age = 28
   return age

def setName():
   global name
   name = '摸手哥'
sayName()  #刘伟
setName()  #摸手哥
print('name2',name)   #谢红
原文地址:https://www.cnblogs.com/xiaojing2017/p/8889225.html