0
点赞
收藏
分享

微信扫一扫

HTTP Cookie深入解析:Web会话追踪

m逆光生长 2024-11-18 阅读 4

一 python 解释器

Python解释器同一时间只能运行一个程序的一条语句。

如何适用:

win + r 

cmd

 要退出Python解释器返回终端,可以输入 exit() 或 Ctrl-D。

假设创建了一个 hello_world.py 文件,它的内容是:

可以用下面的命令运行它( hello_world.py 文件必须位于终端的工作目录):

 

从事数据分析和科学计算的人却会使用IPython,一个强化的Python解释器,或Jupyter notebooks,一个网页代码笔记本。
 %run 命令,IPython会同样执行指定文件中的代码,结束之后,还可以与结果交互:

 


二 IPython Shell

1.运行 IPython Shell

用 ipython 在命令行打开IPython Shell,就像打开普通的Python解释器:

输入代码并按Return(或Enter),运行任意Python语句。

当只输入一个变量,会显示代表的对象: 

2.运行Jupyter Notebook

notebook是一个代码、文本(有标记或无标记)、数据可视化或其它输出的交互式文档。Jupyter Notebook需要与内核互动,内核是Jupyter与其它编程语言的交互编程协议。

Python的Jupyter内核是使用IPython。要启动Jupyter,在命令行中输入 jupyter notebook :

在多数平台上,Jupyter会自动打开默认的浏览器(除非指定了 --no-browser )。或者可以在启动notebook之后,手动打开网页 http://localhost:8888/ 。

新建一个notebook,点击按钮New,选择“Python3”或“conda[默认项]”。 

3.Tab补全

从外观上,IPython shell和标准的Python解释器只是看起来不同。IPython shell的进步之一是具备
其它IDE和交互计算分析环境都有的tab补全功能。

使用方法:在shell中输入表达式,按下Tab。

默认情况下,IPython会隐藏下划线开头的方法和属性,比如魔术方法和内部的“私有”方法和属性,以避免混乱的显示,这些也可以tab补全,但是必须先输入一个下划线才能看到它们。如果你喜欢总是在tab补全中看到这样的方法,你可以IPython配置中进行设置。

4.自省

1.在变量前后使用问号 ?,可以显示对象的信息:

2.用在函数:

3. 像Unix或Windows命令行一样搜索IPython的命名空间,字符与通配符结合可以匹配所有的名字

5. %run命令

可以用 %run 命令运行所有的Python程序。

假设有一个文件 ipython_script_test.py:

这段脚本运行在空的命名空间(没有import和其它定义的变量),因此结果和普通的运行方式 python script.py 相同。文件中所有定义的变量(import、函数和全局变量,除非抛出异常),都可以在IPython shell中随后访问,

6.中断运行的代码

7.魔术命令

IPython 中特殊的命令(Python中没有)被称作“魔术”命令。

魔术命令是在指令前添加百分号%前缀。例如,可以用 %timeit 测量任何Python语句,例如矩阵乘法,的执行时间:

 一些魔术函数与Python函数很像,它的结果可以赋值给一个变量:

常用的 IPython 指令:

%matplotlib 魔术函数配置了IPython shell和Jupyter notebook中的matplotlib。这点很重要,其它创建的图不会出现(notebook)或获取session的控制,直到结束(shell)。

在IPython shell中,运行 %matplotlib 可以进行设置,可以创建多个绘图窗口,而不会干扰控制台
session:

在JUpyter中,命令有所不同:


三 python 语法规则

仅作为补充,详细在在python学习笔记中。

1.万物皆对象

每个数字、字符串、数据结构、函数、类、模块等等,都被认为是Python对象。每个对象都有类型(例如,字符串或函数)和内部数据。

2.变量和参数传递

当在Python中创建变量,你就在等号右边创建了一个对这个变量的引用

举例:

赋值也被称作绑定,我们是把一个名字绑定给一个对象。变量名有时可能被称为绑定变量。

Python中的对象引用不包含附属的类型。

3.鸭子类型

可能不关心对象的类型,只关心对象是否有某些方法或用途。这通常被称为“鸭子类型”,来自“走起来像鸭子、叫起来像鸭子,那么它就是鸭子”的说法。

例如,你可以通过验证一个对象是否遵循迭代协议,判断它是可迭代的。对于许多对象,这意味着它有一个 __iter__ 魔术方法,其它更好的判断方法是使用 iter 函数:

可以用这个功能编写可以接受多种输入类型的函数。常见的例子是编写一个函数可以接受任意类
型的序列(list、tuple、ndarray)或是迭代器。你可先检验对象是否是列表(或是NUmPy数
组),如果不是的话,将其转变成列表: 

 4.is方法

1.使用场景

1.要判断两个引用是否指向同一个对象,可以使用 is 方法。

list 是创建一个新的Python列表(即复制)。

2.is 和 is not 常用来判断一个变量是否为 None

2.is 和 == 的区别:

3.其他的二元运算符和比较运算符

5.可变与不可变对象 

Python中的大多数对象,比如列表、字典、NumPy数组,和用户定义的类型(类),都是可变的。意味着这些对象或包含的值可以被修改:

字符串和元组,是不可变的对象: 

6.布尔值

布尔值可以与and和or结合使用:

7.类型转换 

str、bool、int和float也是函数,可以用来转换类型:

8.日期和时间 

Python内建的 datetime 模块提供了 datetime 、 date 和 time 类型。 datetime 类型结合了 date 和 time ,是最常使用的:

当你聚类或对时间序列进行分组,替换datetimes的time字段有时会很有用。例如,用0替换分和秒:因为 datetime.datetime 是不可变类型,下面的方法会产生新的对象。

两个datetime对象的差会产生一个 datetime.timedelta 类型:

结果 timedelta(17, 7179) 指明了 timedelta 将17天、7179秒的编码方式。

 将 timedelta 添加到 datetime ,会产生一个新的偏移 datetime :

 9.控制语句中的 or 和 and

1.or运算符

如果至少有一个条件为真,则整个表达式的结果为真;如果所有条件都为假,则整个表达式的结果为假。

对于 or 运算符,如果第一个条件为真,则不会计算后续的条件。

2.and 运算符 

如果所有条件都为真,则整个表达式的结果为真;如果任何一个条件为假,则整个表达式的结果为假。

对于 and 运算符,如果第一个条件为假,则不会计算后续的条件。

3.示例代码

def func1():  
    print("func1 is called")  
    return False  
  
def func2():  
    print("func2 is called")  
    return True  
  
# and 短路求值  
if func1() and func2():  
    print("Both func1 and func2 returned True")  
else:  
    print("Either func1 or func2 returned False")  # 输出这一行  
    # 输出:  
    # func1 is called  
    # Either func1 or func2 returned False  
  
# or 短路求值  
if func1() or func2():  
    print("At least one of func1 or func2 returned True")  # 输出这一行  
    # 输出:  
    # func1 is called  
    # At least one of func1 or func2 returned True

4.注意点

and 运算符的优先级高于 or 运算符。

举报

相关推荐

0 条评论