zoukankan      html  css  js  c++  java
  • 函数

    可变参数和关键字参数
    # def send_report(*args):#可变参数、参数组
    # print('发邮件')
    # print(args)


    def send_report(**kwargs):#关键字参数
    print('发邮件')
    print(kwargs)
    # send_report() #不传
    # send_report(num=1)#会报错
    # send_report(name='xiaohei',age=18)
    #**args
    #1不是必传的

    #必传的还是不必传的
    #*args,
    # 1、不是必填参数
    # 2、不限制参数的个数
    # 3、传入多个参数的时候他把参数放到一个元组里面

    # def myfunc(name,addr='beijing',**kwargs):

    # print('name',name)
    # print('addr',addr)
    # print('args',kwargs)

    def myfunc2(name,addr='beijing',*args,**kwargs):
    print('name',name)
    print('addr',addr)
    print('addr',args)
    print('args',kwargs)
    # myfunc2(name='xiaobai',addr='shanghai',age=18,sex='nv')

    myfunc2('xiaohei','chengdu','chongqing',country='china')

    # # myfunc(phone=110,addr='beijing',qq='23423423',email='aaa',name='xxx')
    #
    # myfunc('jiajinju',phone='110',qq='qqq',email='qq',addr='1')
    #
    # myfunc('jiajinju','qqqq',phone='110',email='email1',qq='qq')#错误的

    #关键字参数后面不能再用位置参数了。

    #传参解包
    def connect(ip,port,username,password):
    print(ip)
    print(port)
    print(username)
    print(password)

    # info = ('192.169.1.1',3318,'root','123456')
    # li = ['abc','bcd','123',456]
    # se = {1,2,3,4}
    # s = '1234'
    # dic = {'port':3307,'username':'root','password':'1233','ip':'127.0.0.1'}
    #

    # connect(*info) #解包 '192.169.1.1',3318,'root','123456'
    # connect(**dic) #解包 port=3307,username=root,password=1233,ip=127.0.0.1
    #

    1、函数补充完成    
    可变参数、参数组,*args
    # 1、不是必填参数
    # 2、不限制参数的个数
    # 3、传入多个参数的时候他把参数放到一个元组里面
    关键字参数:**kwargs
    # 1、不是必填参数
    # 2、不限制参数的个数
    # 3、传入多个参数的时候他把参数放到一个字典里面
    # 4、必须的使用关键字调用,k=v,k1=v1
    调用函数的时候:
    关键字参数后面不能再写位置参数了。
    def myfunc(name,addr,phone,qq,email):
    print(name,addr,phone,qq,email)
    myfunc('jiajinju','qqqq',phone='110',email='email1',qq='qq')#正确的
    myfunc('jiajinju','qqqq',phone='110','email1',qq='qq')#错误的
    全局变量:
    大家都可以用的变量就是全局变量。
    不可变的数据类型是全局变量的话,必须得加global:
    int str 元组
    可变的数据类型是全局变量的话,不需要加global:
    字典 list 集合
    局部变量:
    函数里面定义的变量都是局部变量。

    内置函数:
    import random
    s = 'abcefg'
    st = {3,4,1,1,7,3}
    # print(all([1,2,3,4]))#判断可迭代的对象里面的值是否都为真
    # print(any([0,1,2,3,4]))#判断可迭代的对象里面的值是否有一个为真
    # print(bin(100))#十进制转二进制
    # print(bool(''))#把一个对象转换成布尔类型
    # print(chr(97))#打印数字对应的ascii
    # print(ord('a'))#打印字符串对应的ascii码
    # print(eval('[]'))#执行python代码,只能执行简单的,定义数据类型和运算
    # print(exec('def a():pass'))#执行python代码
    # s='''
    # print("hello")
    # '''
    # exec(s)
    f = open('product.json')
    res = eval(f.read()) #只能执行简单的python代码。
    print(res,type(res))
    res = eval('{1,2,3,5}') #只能执行简单的python代码。
    # s = sorted(s)#排序,返回一个list
    # print(list(reversed(s)))#反转

    # gb2312
    # gbk
    # Jp2313
    # unicode 万国码
    # utf-8
    匿名函数
    yll = lambda x:x+1  #冒号前面的是入参,后面是返回值
    def yll2(x):
    return x+1

    map和filter

    # map() #帮你循环调用函数的
    # filter()
    import random,string,os

    stus = ['hanmin','chunting','jiajinju','yll','hjc']

    # for stu in stus:
    # os.mkdir(stu)
    # def add_prx(name):
    # return 'cnz_%s'%name
    #
    # # result = list(map(add_prx,stus))
    #
    # result = list(filter(add_prx,stus))
    #
    # print(result)

    # [1,2,3,4,5,6,7]

    #1、map是循环帮你调用函数的
    #2、map会把函数每一次调用的返回值保存,最后返回

    #filter
    #1、循环帮你调用函数
    #2、帮你过滤你传入的参数,函数的结果返回是true那就保存,返回false就不要了


    stu_score = [60,30,50,70,99,100,67]
    import xlutils
    def pandan(score):
    return score>=60

    result = list(filter(pandan,stu_score))

    print(result)

    #/venv/
    # for stu,score in stu_score.items():
    # if score<60:
    # print('不及格',stu)




  • 相关阅读:
    星空雅梦
    星空雅梦
    星空雅梦
    星空雅梦
    星空雅梦
    星空雅梦
    网络爬虫的相关综述
    HTTP协议和几种常见的状态码
    在php中,如何将一个页面中的标签,替换为用户想输出的内容
    php学习第一讲----php是什么?
  • 原文地址:https://www.cnblogs.com/Dorami/p/11041376.html
Copyright © 2011-2022 走看看