美文网首页
第2章 Python语法基础,IPython和Jupyter N

第2章 Python语法基础,IPython和Jupyter N

作者: MAKEIT_fb3b | 来源:发表于2018-03-08 16:24 被阅读0次

    前面主要介绍了一下Python解释器和IPython基础。
    需要注意的是:

    Tab补全:

    1.在shell中输入表达式,按下Tab,会搜索已输入变量(对象、函数等等)的命名空间:
    In [1]: an_apple = 27

    In [2]: an_example = 42

    In [3]: an<Tab>
    an_apple and an_example any
    2.补全任何对象的方法和属性:
    In [3]: b = [1, 2, 3]
    In [4]: b.<Tab>
    b.append b.count b.insert b.reverse
    b.clear b.extend b.pop b.sort
    b.copy b.index b.remove
    3.同样也适用于模块:
    In [1]: import datetime
    In [2]: datetime.<Tab>
    datetime.date datetime.MAXYEAR datetime.timedelta datetime.datetime datetime.MINYEAR datetime.timezone datetime.datetime_CAPI datetime.time datetime.tzinfo
    4.当输入看似文件路径时(即使是Python字符串),按下Tab也可以补全电脑上对应的文件信息:

    自省

    在变量前后使用问号?,可以显示对象的信息。
    如果对象是一个函数或实例方法,定义过的文档字符串:
    使用?符号可以显示文档字符串:
    使用??会显示函数的源码:

    %run命令

    可以用%run命令运行所有的Python程序
    In [14]: %run ipython_script_test.py

    键盘快捷键

    图片.png 图片.png

    魔术命令

    图片.png

    Python基础

    日期和时间

    Python内建的datetime模块提供了datetime、date和time类型。datetime类型结合了date和time,是最常使用的:
    In [102]: from datetime import datetime, date, time
    In [103]: dt = datetime(2011, 10, 29, 20, 30, 21)
    In [104]: dt.day
    Out[104]: 29
    In [105]: dt.minute
    Out[105]: 30

    可以用date和time提取出各自的对象:
    In [106]: dt.date()
    Out[106]: datetime.date(2011, 10, 29)

    In [107]: dt.time()
    Out[107]: datetime.time(20, 30, 21)

    strftime方法可以将datetime格式化为字符串:
    In [108]: dt.strftime('%m/%d/%Y %H:%M')
    Out[108]: '10/29/2011 20:30'

    strptime可以将字符串转换成datetime对象:
    In [109]: datetime.strptime('20091031', '%Y%m%d')
    Out[109]: datetime.datetime(2009, 10, 31, 0, 0)


    图片.png

    当你聚类或对时间序列进行分组,替换datetimes的time字段有时会很有用。例如,用0替换分和秒:
    In [110]: dt.replace(minute=0, second=0)
    Out[110]: datetime.datetime(2011, 10, 29, 20, 0)

    因为datetime.datetime是不可变类型,上面的方法会产生新的对象。
    两个datetime对象的差会产生一个datetime.timedelta类型:

    In [111]: dt2 = datetime(2011, 11, 15, 22, 30)
    In [112]: delta = dt2 - dt
    In [113]: delta
    Out[113]: datetime.timedelta(17, 7179)
    In [114]: type(delta)
    Out[114]: datetime.timedelta
    结果timedelta(17, 7179)指明了timedelta将17天、7179秒的编码方式。

    将timedelta添加到datetime,会产生一个新的偏移datetime:
    In [115]: dt
    Out[115]: datetime.datetime(2011, 10, 29, 20, 30, 21)

    In [116]: dt + delta
    Out[116]: datetime.datetime(2011, 11, 15, 22, 30)

    range

    range函数返回一个迭代器,它产生一个均匀分布的整数序列:
    In [122]: range(10)
    Out[122]: range(0, 10)

    In [123]: list(range(10))
    Out[123]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    range的三个参数是(起点,终点,步进):
    In [124]: list(range(0, 20, 2))
    Out[124]: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

    In [125]: list(range(5, 0, -1))
    Out[125]: [5, 4, 3, 2, 1]
    可以看到,range产生的整数不包括终点。range的常见用法是用序号迭代序列:
    seq = [1, 2, 3, 4]
    for i in range(len(seq)):
    val = seq[i]

    此文章只取重点作为个人复习
    翻译原文作者:SeanCheney
    链接:https://www.jianshu.com/p/fc93e943e94a
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    相关文章

      网友评论

          本文标题:第2章 Python语法基础,IPython和Jupyter N

          本文链接:https://www.haomeiwen.com/subject/qaeyfftx.html