Python Function Note

 #汉诺塔问题Python实现
def my_move(n, a, b, c):
if n == 1:
print(a + ' --> ' + c)
else:
my_move(n-1, a, c, b)#将前n-1个盘子从a放到b
my_move(1, a, b, c)#将最下面的盘子从a放到c
my_move(n-1, b, a, c)#将b上的n-1个盘子放到c上
return
 #杨辉三角Python实现
def my_triangles(max):
i = 1
now = [1]
while i <= max:
yield now#保存当前list
now = [1] + [now[n]+now[n+1] for n in range(len(now)-1)] + [1]#构建下层list
i+=1
print('done')
 #实现将‘123.456’转换成123.456,即函数float的实现
def my_float(s):
def my_front(x, y):
return x*10+y
def my_behind(x, y):
return x*0.1+y front = s.split('.')[0]
behind = s.split('.')[1]
return reduce(my_front, map(int, front)) + 0.1*reduce(my_behind, map(int, behind))
 #利用埃氏筛法筛选出素数
#产生无限的奇数
def my_productNumber():
n = 1
while 1:
n += 2
yield n #返回判断是否是素数的函数
def my_isPrime(n):
return lambda x: x % n > 0 #素数发生器
def my_Primes():
yield 2
it = my_productNumber()
while 1:
n = next(it)
yield n
it = filter(my_isPrime(n), it) for n in my_Primes():
if n < 100:
print(n)
else:
break
 #判断一个数是否回文
def my_isPalindrome(n):
return str(n)[::-1] == str(n)
print(filter(my_isPalindrome, range(1, 1000)))
 #关于装饰器
import functools def log(text=None):
def decorator(func):
@functools.wraps(func)
def wrapper(*args, **kw):
if text == None:
# print('call %s()' % func.__name__)
pass
else:
# print('%s %s()' % (text, func.__name__))
pass
print('Begin Func↓')
temp = func(*args, **kw)
print('End Func↑')
return temp
return wrapper
return decorator @log('call') #相当于now = log('hahaha')(now)
def now(t):
print("")
return t
now(4)
print(now.__name__)

Python Function Note的更多相关文章

  1. #MySQL for Python(MySQLdb) Note

    #MySQL for Python(MySQLdb) Note #切记不要在python中创建表,只做增删改查即可. #步骤:(0)引用库 -->(1)创建连接 -->(2)创建游标 -- ...

  2. python function parameter

    Python 2.7.10 (default, Oct 14 2015, 16:09:02) [GCC 5.2.1 20151010] on linux2 Type "copyright&q ...

  3. kwargs - Key words arguments in python function

    This is a tutorial of how to use *args and **kwargs For defining the default value of arguments that ...

  4. python Function

    Python 2.7.10 (default, Oct 14 2015, 16:09:02) [GCC 5.2.1 20151010] on linux2 Type "copyright&q ...

  5. elike.python.function()

    将python用于基本的科学计算,能完全替代matlab.就最近写的一个物理模型程序来看,用python建立的物理模型的可控性,代码的层次性都优于matlab,只不过python没有matlab那样的 ...

  6. Python - Learn Note (3)

    Python之模块 包就是文件夹:包可以有多级: 模块就是 xxx.py文件:可以创建自己的模块,并且导入它们,模块的名字就和文件的名字相同: Python使用import语句导入一个模块. impo ...

  7. Python - Learn Note (2)

    Python注释 Python的注释以#开头,后面的文字直到行尾都算注释 Python基本数据类型 整数.浮点数(浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置 ...

  8. Python - learn note(1)

    1. 下载安装Python 2.7(为了向下兼容以前的版本), Python 3.5(VS2015不支持配置3.6的环境) 教程 需要使用VS2015进行开发,必须勾选上后面两项: 2. VS2015 ...

  9. python function with variadic arguments or keywords(dict) 可变参数与关键字参数

    *args 表示任意个普通参数,调用的时候自动组装为一个tuple **kwags 表示任意个字典类型参数, 调用的时候自动组装成一个dict args和kwags是两个约定俗成的用法. 变长参数可以 ...

随机推荐

  1. 【Java】Java网络编程菜鸟进阶:TCP和套接字入门

    Java网络编程菜鸟进阶:TCP和套接字入门 JDK 提供了对 TCP(Transmission Control Protocol,传输控制协议)和 UDP(User Datagram Protoco ...

  2. ASCII是指128个字符(不是256个)和ASCII Extended Characters(就是那些奇怪的外文字符)

    ASCII第一次以规范标准的型态发表是在1967年,最后一次更新则是在1986年,至今为止共定义了128个字元:其中33个字元无法显示(一些终端提供了扩展,使得这些字符可显示为诸如笑脸.扑克牌花式等8 ...

  3. 【HDOJ】2531 Catch him

    简单BFS.就是要把所有的D点当成一个整体考虑(整体移动). /* 2531 */ #include <iostream> #include <queue> #include ...

  4. 「Poetize7」足球比赛

    描述 Description SJZEZ和TSYZ正在进行一轮足球联谊赛,根据规则,这轮比赛有两场,一场在SJZEZ的主场进行,一场在TSYZ的主场进行.胜负判断标准如下:1.在两场比赛中进球总数较多 ...

  5. hihoCoder 1391 Countries 【预处理+排序+堆】 (ACM-ICPC国际大学生程序设计竞赛北京赛区(2016)网络赛)

    #1391 : Countries 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 There are two antagonistic countries, countr ...

  6. 将汉字转化为拼音,正则表达式和得到汉字的Unicode编码

    一:上图,不清楚的看代码注解,很详细了 二:具体代码 窗体代码 using System; using System.Collections.Generic; using System.Compone ...

  7. IOS的 testflight测试设置

    管理员邀请参与者 1.登录开发者账号https://developer.apple.com/account 2.进入后,点击ituns connect 3.点击进入用户和职能 4.在用户栏点击添加按钮 ...

  8. Linux下p2p的聊天功能实现

    Linux下p2p的聊天功能实现细节 Do one thing at a time, and do well. 今天闲着没事,写一个P2P的点对点的聊天功能的小程序,我觉得对网络编程初学者的学习很有用 ...

  9. FC和SCSI

    IDE(Integrated Drive Electronics)即"电子集成驱动器",它的本意是指把"硬盘控制器"与"盘体"集成在一起的硬 ...

  10. dubbo源码分析三:consumer注册及生成代理对象

    本章我们将分析一下consumer向注册中心注册,并获取服务端相应的信息,根据这些信息生产代理对象的过程和源码. 1.类图 上图展示了部分消费者注册及生成代理对象过程中需要使用到的类和接口,其中: s ...