Python22个构造函数方法

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

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

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,324评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,356评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,328评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,147评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,160评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,115评论 1 296
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,025评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,867评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,307评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,528评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,688评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,409评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,001评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,657评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,811评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,685评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,573评论 2 353

推荐阅读更多精彩内容