前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >​python features

​python features

原创
作者头像
devecor
修改2019-11-26 16:10:16
4440
修改2019-11-26 16:10:16
举报
文章被收录于专栏:数学与计算机数学与计算机

1. overview

paradigm

  • 过程式: 模块化 结构化 程序 = 数据结构 + 算法
  • 函数式: 函数是一等公民, 不可变数据
  • 面向对象: 封装继承多态

import this

2. control flow

for

代码语言:txt
复制
for i in iterable_object:
    # do something
    pass

else:
    # for 语句块中没有执行过break的时候执行的代码块
    pass

if >> switch

代码语言:txt
复制
var = input("please enter a number:\n")
if var == '1':
    # case '1':
    pass

elif var == '2':
    # case '2':
    pass

elif var == '3':
    # case '3'
    pass
else:
    # default
    pass

function

代码语言:txt
复制
def fun([args[, option[, *args[, **kwargs]]]]):
    pass
代码语言:txt
复制
def fun1():
    print("hello world")
f = fun1
f()

lambda

代码语言:txt
复制
a = 2
print(lambda a: a**2)

docstring

代码语言:txt
复制
'''brief
details
'''

def fun(*args, **kwargs):

    '''brief
    details
    '''

    # do something
    pass

annotations

代码语言:txt
复制
def fun(arg1: int, arg2: list) -> int:

    """ docstring """

    # do something
    return 1

tips

  • is ==3. data structure

tips

  • swapx, y = 1, 2 x, y = y, x

list comprehensions

代码语言:txt
复制
li = [i for i in range(1, 100, 2)]
li = [i for i in li if i % 3 == 0]
li = [[i*j for i in range(1, 10)] for j in range(1, 10)]

4. module

  • 不要使用from xxx improt *
  • 以脚本方式执行, __name 被赋值为 "__main"
代码语言:txt
复制
python filename.py [args]
  • 以模块的方式执行
代码语言:txt
复制
python -m filename.py [args]

python -m filename.py
  • 模块的搜索路径path

动态添加搜索目录:

代码语言:txt
复制
import sys

sys.path.append("module\_dir")

5. I/O

代码语言:txt
复制
with open("file.txt", "r") as f:
    
    f.readlines()

格式化输出

6. Exception/Error

代码语言:txt
复制
try:

    # 尝试执行的语句块
    pass

except Error as err:  # 错误/异常类型

    # 异常处理代码块, try代码块发生错误时执行
    pass

else:

    # try代码块未发生错误时执行的代码块
    pass

finally:

    # 无论错误是否发生都会执行的代码块
    pass

强制抛出一个异常:

代码语言:txt
复制
raise instance_of_exceprion_or_error

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. overview
    • paradigm
      • import this
      • 2. control flow
        • for
          • if >> switch
            • function
              • lambda
                • docstring
                  • annotations
                    • tips
                      • tips
                        • list comprehensions
                        • 4. module
                        • 5. I/O
                        • 6. Exception/Error
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档