More Information

more_return_values.py

# 让一个函数返回两个或多个不同的值

def get_morevalues():
    shoplist = ['apple','mango','carrot']
    str = 'This is the second value'
    a = 3
    # 通过一个元组就可以返回多个值
    return(shoplist,str,a)

# Unpackage 要注意数量要对应

first_value,second_value,third_value = get_morevalues()

print(first_value)
print(second_value)
print(third_value)

more_swaptip.py

# Python中交换两个变量的方法
# a,b = some expression 会把表达式的结果解释为具有两个值的一个元组
a = 5
b = 8
print('a = {}, b = {}'.format(a,b))
a,b = b,a
print('a = {}, b = {}'.format(a,b))

more_single_sentenceblock.py

# 单个语句块
# 如果语句块只包括单独的一句语句 那么你可以在同一行指定它
# 当然这种方法不建议使用
flag = True
if flag: print('Yes')

more_lambda.py

# lambda语句
# 它可以创建一个新的函数对象 
# 需要一个参数,后跟一个表达式做为函数体,表达式的值作为函数的返回值

points = [{'x': 2, 'y': 3}, {'x': 4, 'y': 1}]

# 还不是很懂这句话
points.sort(key=lambda i:i['y'])

print(points)

more_list_comprehension.py

# 用现有的列表中得到一份新列表

listone = [2,3,4]
listtwo = [2*i for i in listone if i > 2]
print(listone)  # listone不变
print(listtwo)

more_receive_tuple_and_dict.py

# 在函数中接受元组与字典
# 用 * 作为元组前缀
# 用 ** 作为字典前缀

def powersum(power, *args):
    '''Return the sum of each argument raised to the specified power.'''
    total = 0
    for i in args:
        total += pow(i,power)
    return total

print(powersum(2,3,4,5)) 
print(powersum(2,10))

more_assert.py

# Assert语句
# assert用来断言某事是真
# ex:你非常确定你正在使用的列表中至少包含一个元素,想确认这一点,
# 如果其不是真的就跑出一个错误

mylist = ['item']
assert len(mylist) >= 1
print(mylist.pop())

assert len(mylist) >= 1

more_decorates.py

# 关于装饰器一点都看不懂 到时候看Cookbook吧
# 装饰器Decorators 能够包装函数
from time import sleep
from functools import wraps
import logging

logging.basicConfig()
log = logging.getLogger("retry")

def retry(f):
    @wraps(f)
    def wrapped_f(*args,**kwargs):
        MAX_ATTEMPTS = 5
        for attempt in range(1,MAX_ATTEMPTS+1):
            try:
                return f(*args,**kwargs)
            except:
                log.exception("Attemp %s%s failed : %s",attempt,MAX_ATTEMPTS,(args,kwargs))
                sleep(10 * attempt)
        log.critial("All %s attempts failed : %s",MAX_ATTEMPTS,(args,kwargs))
    return wrapped_f
    
counter = 0
    
@retry
def save_to_database(arg):
    print('Write to a database or make a network call or etc.')
    print('This will be automatically retired if exception is thrown.')
    global counter
    count += 1
        
    if counter >= 2:
        raise ValueError(arg)

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

推荐阅读更多精彩内容

  • 个人笔记,方便自己查阅使用 Py.LangSpec.Contents Refs Built-in Closure ...
    freenik阅读 67,685评论 0 5
  • The Python Data Model If you learned another object-orien...
    plutoese阅读 1,719评论 0 51
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,646评论 18 139
  • The programs we have looked at thus far have dealt with t...
    诵成读书阅读 812评论 0 0
  • 早晨的餐桌经常会出现的就是白煮蛋,既有营养又快捷方便。可是如何迅速剥出一枚光滑的白鸡蛋呢?请跟着我的口令一起来! ...
    慢享生活阅读 551评论 2 3