zoukankan      html  css  js  c++  java
  • python基础(四)

    一、list循环

    import copy
    # l = [1,1,1,2,3,4,5]
    # #1 1,2,3,4,5
    # #0 1 2 3 4 5 6
    # # l2=[1,1,1,2,3,4,5]
    # # l2 = copy.deepcopy(l)# 深拷贝
    #
    # l2 = l #浅拷贝
    # #l2 = l.copy() #浅拷贝
    #
    # print(id(l))
    # print(id(l2))
    # for i in l2:
    # if i%2!=0:
    # l.remove(i)
    # print(l)
    #循环删list的时候,会导致下标错位,结果是不对的

    a='tanailing'
    b = a
    a='niuniu'

    print(a)
    print(b)

    2、非空即真、非零即真(重要)
    #非空即真,非零即真

    name = input('请输入名称:').strip()
    #name='abc'
    #a=''
    #l=[]
    #d={}
    #t=()
    #b=None
    name = int(name)
    if name:
    print('输入正确')
    else:
    print('name不能为空')

    三、函数
    def my(name,sex):
    #位置参数,必填
    #默认值参数
    #函数体
    return name

    def db_connect(ip,port=3306):
    print(ip,port)

    # db_connect('118.24.3.40',3307)
    # db_connect('118.24.3.40')
    import json
    def op_file_tojson(file_name,dic=None):
    if dic:
    with open(file_name,'w',encoding='utf-8') as fw:
    json.dump(dic,fw)
    else:
    f = open(file_name,encoding='utf-8')
    content = f.read()
    if content:
    res = json.loads(content)
    else:
    res = {}
    f.close()
    return res


    res = db_connect('118.24.3.40',3307)

    def my2():
    for i in range(50):
    return i

    def my3():
    a = 1
    b = 2
    c = 3
    return a,b,c

    b,c,d = my3()
    s = my3()
    # print(b,c,d)
    # print(s)

    # a,b,c = 1,2,3
    #
    # a = b = c = 1

    # def my4(s:str,d:dict):
    # print(s)
    # print(d)
    #
    # my4(134,'abcd')


    #return 有2个作用
    #1、结束函数,只要函数里面遇到return,函数立即结束运行
    #2、返回函数处理的结果

    四、校验小数类型
    def check_float(s):
    '''
    这个函数的作用就是判断传入的字符串是否是合法的小数
    :param s: 传入一个字符串
    :return: True/false
    '''
    s = str(s)
    if s.count('.')==1:
    s_split = s.split('.')
    left,right = s_split
    if left.isdigit() and right.isdigit():
    return True
    elif left.startswith('-') and left[1:].isdigit()
    and right.isdigit():
    return True
    return False
    print(check_float(1.3))
    print(check_float(-1.3))
    print(check_float('01.3'))
    print(check_float('-1.3'))
    print(check_float('-a.3'))
    print(check_float('a.3'))
    print(check_float('1.3a3'))
    print(check_float('---.3a3'))

    #1.5 1.34
    #-0.5 -8.4
    # 1.5
    # a.3
    # -----1.3
    #正小数
    #1、小数点个数为1
    #2、小数点左边和右边都是整数
    #负小数
    # 1、小数点个数为1
    # 2、小数点左边和右边都是整数
    # 3、负号开头,并且只有一个负号

    五、全局变量
    import datetime

    def get_today():
    print(datetime.datetime.today())
    name = 'wangcan'#全局变量
    names = []
    def get_name():
    # global name
    names.append('hahaha')
    name = 'hailong'
    print('1、函数里面的name',name) #2 wangcan hailong hailong
    def get_name2():
    global name

    print('2、get_name2',name)#1 hailong wangcan wangcan
    get_name2()
    get_name()
    print(names)

    print('3、函数外面的name',name) # 3、hailong wangcan hailong



    money = 500
    def test(consume):
    return money - consume

    def test1(money):
    return test(money) + money

    # money = test1(money)
    # print(money)


    def test():
    global a
    a = 5

    def test1():
    c = a + 5
    return c
    # test()
    res = test1()
    print(res)

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

    def db_connect(ip,user,password,db,port):
    print(ip)
    print(user)
    print(password)
    print(db)
    print(port)

    db_connect(user='abc',port=3306,db=1,
    ip='sdfsd',password='sdfsd')
    db_connect('192','root',
    db=2,password='123456',port=123)

    # db_connect(password='123456',user='192.468',
    # 'sdfsdf','sdfsdf','sdfsd')#不对的

    七、可变参数、关键字参数
    def my(name,sex='女'):
    #name 必填参数、位置参数
    #sex 默认值参数
    #可变参数
    #关键字参数
    pass

    def send_sms(*args):
    #可变参数,参数组
    #1、不是必传的
    #2、它把传入的元素全部都放到了一个元组里面
    #3、不限制参数个数
    #4、它用在参数比较多的情况下
    for p in args:
    print(p)

    #关键字参数

    def send_sms2(**kwargs):
    #1、不是必传的
    #2、不限制参数个数
    print(kwargs)

    send_sms2()
    send_sms2(name='xiaohei',sex='nan')
    send_sms2(addr='北京',country='中国',c='abc',f='kkk')

    #1、不传参数
    #2、传1个
    #3、传N个

    #1、是不是必传的
    #2、传入多个参数的时候,它把参数保存到了哪里
    # send_sms()
    # send_sms(1861231231)
    # send_sms(1861231231,121342,1231231,1232342,42342342)

    def my(name,country='China',*args,**kwargs):
    #1、位置参数 2、默认值参数 3、可变参数 4、关键字
    print(name)
    print(country)
    print(args)
    print(kwargs)
    # my('xiaojun','Japan','beijing','天通苑',color='红色',
    # age=32)

    # my('xiaojun','beijing','天通苑',
    # color='红色',age=32)

    八、集合

    # int float list str dict tuple bool set

    #集合,
    # 1、天生可以去重
    # 2、集合是无序
    l=[1,1,2,2,3,3]
    res = set(l)
    l = list(res)
    print(res)
    {1, 2, 3}

    jihe = set() #定义一个空的集合


    xingneng =['tanailing','杨帆','liurongxin','小黑']
    zdh = ['tanailing','杨帆','liurongxin','小军','海龙']
    xingneng = set(xingneng)
    zdh = set(zdh)
    # res = xingneng.intersection(zdh)#取交集
    # res = xingneng & zdh #取交集
    # res = xingneng.union(zdh) #取并集,把2个集合合并到一起,然后去重
    # res = xingneng | zdh
    #差集
    # res = xingneng.difference(zdh) #取差集,在a里面有,在b里面没有的
    # res = xingneng - zdh #取差集
    #对称差集
    # res=xingneng.symmetric_difference(zdh)#两个里不重复的值
    # res = xingneng ^ zdh
    print(res)
    import string
    l1 = set(string.ascii_lowercase)
    print(l1)
    # l2 = {'a','b','c'}
    l2={1,2,3}
    # print(l2.issubset(l1))
    # print(l1.issuperset(l2))
    # print(l1.isdisjoint(l2)) #有交集返回false,没有交集返回true
    # print(l2)
    # print(list3.issubset(list1)) # 判断list3是不是list1的子集
    # print(list1.issuperset(list3)) # 判断list1是不是list3的父集
    # print(list1.isdisjoint(list3)) # 判断list1和list3是否有交集

    l2.add('s')#添加元素
    # l2.remove('a')#删除指定的元素
    l2.pop()#随机删除一个元素
    for l in l1:
    print(l)

    九、模块
    #模块
    # 1、标准模块,不需要你单独安装,python自带的模块
    # 2、第三方模块
    # 3、自己写的python
    #一个python文件就是一个模块
    import random
    print(random.randint(100000,999999)) #随机取一个整数
    print(random.uniform(1,900))#取一个小数
    stus = ['xiaojun','hailong','yangfan','tanailing','yangyue','cc']
    print(random.choice('abcdefg'))#随机取一个元素
    print(random.sample(stus,2)) #随机取N个元素

    l = list(range(1,101))
    print('洗牌之前的',l)
    print(random.shuffle(l))#洗牌,这个就只能传list了
    print('洗牌之后的',l)






  • 相关阅读:
    CentOS7_装机软件推荐
    http://www.osyunwei.com/archives/4788.html
    SQL经典面试题集锦
    异步方式
    webwxgetcontact 获取的是通讯录里的群或好友的信息
    perl 微信取自己的ID
    perl weixin 发消息接口 webwxsendmsg
    Invalid project description.
    运行期间id是不变的
    关于微信 init接口返回的Count和webwxbatchgetcontact post请求的参数Count
  • 原文地址:https://www.cnblogs.com/mengmeng1011/p/9736197.html
Copyright © 2011-2022 走看看