Python 语法

看到一些提高效率的代码片段,纪录了一下

0. 序列解包

x, y, z = 1, 2, 3 # 并行赋值
x, y = y, x # 快速交换
value = (1, 2, 3)
x, y, z = value # 序列解包,x = 1…… 可类推

1. 循环中的 else 子句

通常,在循环中使用 break 是因为你「发现」了什么或「出现」了什么情况。要在循环提前结束时采取某种措施很容易,但有时候你可能想在循环正常结束时才采取某种措施。如何判断循环是提前结束还是正常结束的呢?可在循环开始前定义一个布尔变量并将其设置 False ,再在跳出循环时将其设置为 True。这样就可在循环后面使用一条 if 语句来判断循环是否是提前结束的。

broke_out = False 
for x in seq: 
    do_something(x) 
    if condition(x): 
        broke_out = True 
        break 
    do_something_else(x) 
if not broke_out:
    print(“I didn’t break out!”) 

一种更简单的办法是在循环中添加一条 else 子句,它仅在没有调用 break 时才执行。继续前面讨论 break 时的示例。

from math import sqrt
for n in range(99, 81, -1): 
    root = sqrt(n)
    if root == int(root): 
        print(n) 
        break 
else: 
    print(“Didn’t find it!”) 

2. 添加的保留字

pass # 什么也不做,用于判断语句中表示占位符
del # 删除,不常用由于 python 的回收机制,一般不常用
exec # 函数,可执行其中的语句,无返回值,例如:
exec("print('Hello, world!')") 
# 输出 Hello, world!
eval # 函数,可执行其中的语句,有返回值,例如:
eval(input("Enter an arithmetic expression: ")) 
# Enter an arithmetic expression: 6 + 18 * 2
# 42 
# 不仅执行了语句,而且还可以将输入的内容作为语句再执行

3. 函数的构建

当函数构建为 def test(*value) 时,value 为元组;当构建为 def test(**value) 时,value 为字典。

4. 类的定义

class Person: 

    def set_name(self, name): 
        self.name = name 

    def get_name(self): 
        return self.name 

    def greet(self):
        print("Hello, world! I'm {}.".format(self.name)) 

这个类定义了三个方法,而在实例化一个类的时候,对象总会自动将自身作为第一个参数传入方法,即上面代码块的 self ,但是此变量名可自取,用 self 是因为形象的说明了第一个参数的作用。因此,这些函数也叫做关联的方法

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.基本使用 1.1 数据类型 常用数据类型 Common Data Types 其他类型 Others 1.2 ...
    suwi阅读 1,418评论 0 3
  • Python 简明语法总结 !!! 只针对有经验开发人员 简单输入输出 输出print 10 , '十' 输入na...
    _赖笔小新阅读 15,181评论 3 162
  • 兵器谱 if python没有三目运算符,我挺苦恼的,比如把两个整数较大的那个复制给一个变量,有三目运算符的语言会...
    测试小蚂蚁阅读 3,739评论 0 2
  • 在Python的道路上,我们不仅要学习代码知识,还要建立自己的编程思维,逐步掌握与计算机沟通的方式,真正地实现“人...
    BeautifulSoulpy阅读 1,976评论 0 0
  • 2018年2月24日、星期六、阴 今天是寒假的最后一天了,子墨做完她最后的作业后,便开始复习一下上册的语文和数学。...
    刘子墨妈妈阅读 261评论 0 1