zoukankan      html  css  js  c++  java
  • python 学习三

    list循环删除下标会出错
    L = [1,1,1,2,3,4,5]#list是根据下标来取值
      #下标0,1,2,3,4,5,6  循环后下标错位  输出的结果是【1,2,4】,把1也取到了
    #l2 = [1,1,1,2,3,4,5]
    l2 = l
    for i in l2:#如果L循环的时候回导致下标错位输出结果错误
        if i%2!=0:
            l.remove(i)#删除列表中的元素
    print(l)
    View Code

    浅拷贝与深拷贝

    import copy
    L =[1,2,3,4,5,6]
    L2=L #浅拷贝,就是直接赋值,内存地址不变
    L2 = copy.deepcopy(L)#深拷贝,重新赋予新的内存地址
    L2 = L.copy()#浅拷贝
    print(id(L))
    print(id(L2))
    View Code

    非空即真

    name = input('请输入名称:').strip()#strip()去空格
    #name='abc'
    #a=''
    #l=[]
    #d={}
    #t=()
    #b=None    什么都没有也是为空
    name = int(name)
    if name:
        print('输入正确')
    else:
        print('name不能为空')
    View Code

    什么是函数:函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

    函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。

    def functionname( parameters ):  #函数代码块以def关键词开头,后接函数标识符名称和圆括号()。任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
       "函数_文档字符串"#数的第一行语句可以选择性地使用文档字符串—用于存放函数说明函。
       function_suite
       return [expression]  #选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
    View Code

     默认值函数

    def my():
        pass  #什么也不干先占位,如果不写就会报错
    def my(a,b):   #位置参数,调用时必须填写两个参数
        return  a
    
    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')
    View Code

    参数

    def send_sms(*args): #可变参数
        for p in args:
            print(p)
    send_sms()#不是必传的
    send_sms(1213,121,3123) #不限制传的个数,都存在元祖
    View Code

    递归

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

     return的作用

    def my2():
        for i in range(50):
            return i
    #return 有2个作用
    #1、结束函数,只要函数里面遇到return,函数立即结束运行
    #2、返回函数处理的结果
    View Code

     小数的类型

    判断小数的函数用法
    s为字符串
    s.isalnum() 所有字符都是数字或者字母
    s.isalpha() 所有字符都是字母
    s.isdigit() 所有字符都是数字
    s.islower() 所有字符都是小写
    s.isupper() 所有字符都是大写
    s.istitle() 所有单词都是首字母大写,像标题
    s.isspace() 所有字符都是空白字符、	、
    、
    
    View Code
    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'))
    View Code

     全局变量

    name = 'aaaa'#全局变量,在什么函数都可以使用
    names = []
    def get_name():
        names.append('hahaha')
        name = 'bbbbb' #局部变量,只能在函数内使用
        print('1、函数里面的name:',name)
    def get_name2():
        global name   #要修改全局变量就要先申明
        print('2、get_name2:',name)
    get_name2()
    get_name()
    print(names)
    print('3、函数外面的name:',name)
    View Code

    集合

       # 1、天生可以去重
        # 2、集合是无序
    l=[1,1,2,2,3,3]
    res = set(l)#去重
    l = list(res)
    print(res)
    #{1, 2, 3}
    jihe = set() #定义一个空的集合
    
    
    xingneng =['bb','aa','ccc','oooo']
    zdh = ['bb','aa','opq','cc','sds']
    xingneng = set(xingneng)
    zdh = set(zdh)
    res1 = xingneng.intersection(zdh)#取交集
    res2 = xingneng &  zdh   #取交集
    res3 = xingneng.union(zdh) #取并集,把2个集合合并到一起,然后去重
    res4 = xingneng | zdh #取并集
    res5 = xingneng.difference(zdh) #取差集,在a里面有,在b里面没有的
    res6 = xingneng - zdh #取差集
    res7 = xingneng.symmetric_difference(zdh)#对称差集,两个里不重复的值
    res8 = xingneng ^ zdh  #对称差集
    View Code

    random模块

    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个元素
    pw = ''.join(random.sample("VWXYZ_.123456780!@()+=-><:",random.randint(2, 5)))#随机生成8到16位的字符
    View Code

      

  • 相关阅读:
    C# 操作ini配置文件
    2015-2016跨年感想
    HTTP 状态码总结 (HTTP Status Codes)
    简单、精准、高效的使用搜索引擎,快速的找到你想要的结果
    ASP.NET前后台交互之JSON数据
    软件开发项目做需求分析的一点心得
    我是如何自学编程的“3遍读书法”
    C#中Request.ServerVariables详细说明及代理
    C#
    JavaScript如何计算两个日期间的时间差
  • 原文地址:https://www.cnblogs.com/test49355--/p/9623342.html
Copyright © 2011-2022 走看看