zoukankan      html  css  js  c++  java
  • day05函数、集合、random模块

    1.函数

      1)位置参数

    def my(name,sex):
    #调用函数时位置参数是必填的
    return name,sex
    print(my()) #如果不传值时会报错


    2)默认参数及默认参数的使用
    def db_connect(ip,port=3306): #port=3306给默认参数赋值
    return print(ip,port)
    db_connect("192.0.0.1") #调用函数不给默认参数传值时,不会报错,会使用默认值
    db_connect("192.0.0.1",3307)

    默认参数练习:
    import  json

    # 写一个函数,如果传入的dic不为空时,写入文件,如果传入的dic为空,读文件
    def op_file(filename,dic=None):
    if dic:
    with open(filename,'w',encoding="utf-8") as f1:
    json.dump(dic,f,ensure_ascii=False)

    else:
    with open(filename,encoding="utf-8") as f2:
    content=f2.read()
    if content:
    reg=json.load(content)
    else:
    reg={}
    return reg
    3)return的作用
    #return的作用 1.结束函数,只要遇到return函数结束 2.返回函数结果
    def my():
    for i in range(50):
    return i
    print(my()) #只返回一个值 0

    4)写一个函数,校验传入的参数是否是小数
    思路:1)传入的参数必须是数字
    2)传入的参数必须有且只有一个小数点
    3)如果参数的参数时负小数必须满足条件1和条件2,并且只以一个负号开头
    def jy_xiaoshu(num):
    num=str(num)
    if num.count(".")==1:
    a,b=num.split(".")
    # print(type(a),b)
    if a.isdigit() and b.isdigit():

    print("是正小数")
    elif a.startswith("-") and a[1:].isdigit() and b.isdigit():

    print("是负小数")

    # else: # 使用else时,如果传入的值时"--10.3",返回的是“” ,当传入10a.3返回也是空
    # else:
    return print("传入不是小数")
    jy_xiaoshu("---10.3")

    5)全局变量
    name="aaa"  #全局变量,str.int,元组不可变的需要声明
    names=[] #如果是list或者字典不需要声明全局变量
    def get_name():
    global name #如果想在函数中修改全局变量的值,需要声明变量的值
    name="bbb"
    print(name)
    names.append("hahha")
    get_name()

    print(name)
    6)递归调用
    #递归函数自己调用自己,最多递归999次
    # def say():
    # print("say")
    # say()
    #
    # say()
    #直到输入的数为偶数为止
    def test1():
    num = int(input('please enter a number:'))
    if num%2==0:#判断输入的数字是不是偶数
    return True #如果是偶数的话,程序就退出了,返回true
    print('不是偶数请重新输入!')
    return test1()#如果不是偶数的话继续调用自己,输入值
    print(test1())#调用test

    7)可变参数
    #可变参数在形参前面加 * ,传多个参数时是元组,**传入的是字典
    """
    1.可变参数时传参时不是必填的,

    """
    # def sen_sys(*phone):
    # print("报警了注意",(phone))
    #
    #
    # sen_sys() #报错
    # sen_sys(1313,2313) #报错
    # sen_sys(23424)

    def my(name,country="beijing",*args,**kwargs):
    #位置参数 2.默认参数。3.可变参数 4.关键字
    print()

    2.集合
    
    
    #集合天生不重复
    #集合是无序的,不能用下标取值

    list=[1,2,1,3]

    l=set(list)
    print(l)
    jihe=set() #定义空集合

    jihe.add("5") #添加

    jihe.remove("5") #删除指定元素
    jihe.pop() #随机删除一个元素

    3.模块

    1)标准模块 :不需要单独安装,python自带,如os.time,random模块
    random模块的使用
    import random
    import time
    import json
    import os

    print(random.randint(0,100)) #随机取一个整数

    print(random.uniform(0,99)) #取一个小数

    print(random.choice("sdasd")) #随机取一个元素,choice可以循环的列表,str,集合等

    stu=["aa",'bb','cc','dd']
    print(random.sample(stu,2)) #随机取n个元素

    l=list(range(100))

    random.shuffle(l) #这个函数没有返回值,打乱列表中的元素

    print(l)
     
     

































  • 相关阅读:
    vue 组件的封装
    原生tab选项卡
    vue 登录验证码
    input type=”file“ change事件只执行一次的问题
    Java容器解析系列(13) WeakHashMap详解
    Java容器解析系列(12) LinkedHashMap 详解
    Java容器解析系列(11) HashMap 详解
    Java泛型之自限定类型
    java Reference
    Thread类源码解析
  • 原文地址:https://www.cnblogs.com/zzzao/p/9638058.html
Copyright © 2011-2022 走看看