美文网首页
Python22个构造函数方法

Python22个构造函数方法

作者: 测试小菜 | 来源:发表于2020-01-15 18:09 被阅读0次

    学习于公众号:凹凸玩数据发布的文章

    写函数:就是写一个算法,用来实现一些功能。

    01.两个变量互换

    两个变量可以通过这种方式互相互换赋值

    a=5
    
    b=10
    
    a,b=b,a
    
    print(a)   #此时a=b=10
    
    print(b)  #此时b=a=5
    

    02.检查是不是偶数

    这个功能主要是利用bool类型进行判断

    def is_even(num):
    
        return num%2==0
    
    print(is_even(10))   #返回的应该是true,返回true即为偶数
    
    print(is_even(3))    #返回的应该是False,返回False即不为偶数
    
    

    03.分割一个字符串为一个列表

    这个案例使用换行符分割,实际应用中,可以更改为任何符号

    def split_lines(s):
    
        return s.split('/n')
    
    a=split_lines('yang/n mu/n sen/n sen')
    
    print (a)
    
    运行后:
    
    [‘yang’,'mu','sen','sen']
    

    04.查找对象使用内存的大小

    这个例子调用sys的看内存占用情况函数 sys.getsizeof()

    import sys
    
    print(sys.getsizeof(5)) 
    
    print(sys.getsizeof('python'))
    
    运行后:
    
    28
    
    55
    

    05.翻转字符串

    简单的字符串可以翻转,以后的图片、音频、视频一样可以翻转。如果你在一个函数里用这个功能,可以解决某些场景里的问题。

    language='yang-wang'
    reversed_language = language[::-1]
    print(reversed_language)
    
    运行后:
    gnaw-gnay
    

    06.打印字符串X遍的小程序

    1.考虑如何打印N遍。2.理解函数调用

    def repeat(string,n):
        return(string * n)
    a=repeat('y',10)
    print(a)
    
    运行后:
    yyyyyyyyyy
    

    07.检查一个字符串是否与他的翻转相同

    翻转+bool判断

    def palindrome(string):
        return string==string[::-1]
    print (palindrome('python'))
    
    运行后:
    False  #False代表不相等不相同
    

    08.把一个列表拼装成字符串

    用到了列表的join方法

    strings=['1','2','3']
    print('num'.join(strings))
    
    运行后:
    1num2num3
    

    09.将两个列表删除重复项并合并

    list(set())的功能是:对原列表去重并按从小到大排序

    def union(a,b):
        return list(set(a+b))
    a=union([1,2,3,4,5],[6,2,8,1,4])
    print(a)
    
    运行后:
    [1, 2, 3, 4, 5, 6, 8]
    

    10.将列表去重

    def unique_elements(numbers):
        return list(set(numbers))
    a=unique_elements([1,2,2,3,4])
    print(a)
    
    运行后:
    [1, 2, 3, 4]
    

    11.找到一组数字的均值

    *args 用来将参数打包成tuple给函数体调用;
    函数mean()可以来计算均值,也可以自己造一个,如下:

    def average(*args):
        return sum(args,0.0)/len(args)   #  sum()用法:sum((2, 3, 4), 1),元组计算总和后再加 1
    a=average(5,8,2:
    print(a)
    
    运行后:
    5.0
    

    12.检查一个数组里面是不是都是唯一的值

    def unique(list):
        if len(list)==len(set(list)):
            print('所有数据都是唯一的')
        else:
            print('并不唯一')
    
    a=unique([1,2,3,4,5])
    print(a)
    
    运行后:
    所有数据都是唯一的
    None
    

    13.找到列表频率最大的数据(还未理解透彻)

    def most_frequent(list):
        return max(set(list),key=list.count)
    
    numbers=[1,2,3,2,4,3,1,3]
    a=most_frequent(numbers)
    print(a)
    
    运行后:
    3
    

    14.角度变弧度(此处往下均未学习)

    import math
    
    def degrees_to_radians(deg):
        return (deg * math.pi) / 180.0
    
    degrees_to_radians(90) 
    # 1.5707963267948966
    

    15.打印运行计算花费时间

    import time
    start_time = time.time()
    a,b = 5,10  #随便一个过程
    c = a+b     #随便一个过程
    end_time = time.time()
    time_taken = (end_time- start_time)*(10**6)
    print("运行这个耗费微秒数为:", time_taken)
    
    # 运行这个耗费微秒数为: 2.1457672119140625
    

    16.找到一组数的最大公因数

    借助工具functools

    from functools import reduce
    import math
    def gcd(numbers):
        return reduce(math.gcd, numbers)
    gcd([24,108,90]) 
    # 6
    

    17.使用lambda公式

    x = lambda a, b, c : a + b + c
    print(x(5, 10, 20)) 
    # 35
    
    # 或者也可以这样
    
    def x(a, b, c): 
        return a + b + c
    print(x(5, 10, 30))  
    # 35
    

    18.使用map函数

    对一个列表每一个元素都进行操作的话,可以用map函数,下边是个小案例

    def multiply(n):
        return n*n
    
    list1 =[1, 2, 3]
    result = list(map(multiply, list1))
    print(result)
    # [1, 4, 9]
    

    19.使用过滤函数-filter

    arr = [1, 2, 3, 4, 5]
    
    def Even(x):
        return list(filter(lambda x: x % 2 == 0, arr))
    
    Even(arr)  
    # [2, 4]
    

    20.列表连续操作

    numbers = [1, 2, 3]
    
    def squares(nums):
        return [number**2 for number in nums]
    
     squares(numbers)
    
    # [1, 4, 9]
    

    21.切片操作

    切片用于从给定序列中提取元素的连续序列或子序列。以下函数用于合并两个切片操作的结果。首先,我们将列表从索引d切到末尾,然后从开始切成索引d。

    def rotate(arr, d):
        return arr[d:] + arr[:d]
    
    if __name__ == '__main__':
        arr = [1, 2, 3, 4, 5]
        arr = rotate(arr, 2)
        print (arr) 
    
    # 结果:[3, 4, 5, 1, 2]
    

    22.使用链功能

    最后的代码段用于从一行开始调用多个函数并评估结果。

    def add(a, b):
        return a + b
    def subtract(a, b):   
        return a - b
    a, b = 5, 10
    print((subtract if a > b else add)(a, b))  # 15
    print((subtract if a < b else add)(a, b))  # -5
    

    相关文章

      网友评论

          本文标题:Python22个构造函数方法

          本文链接:https://www.haomeiwen.com/subject/xlbtzctx.html