python交互编程模式_Python交互编程和模块化

交互式编程

新建demo1.py,文件内容如下:

import sysprint(sys.platform)print(2 ** 100)x = 'Spam!'print(x * 8)

执行python demo1.py,得到结果如下:

aa18972bd40735fa22bf26776db0c1b60d24089c.jpeg?token=7de9cc04e852755319e83dc19062308b&s=4DE23A669FAC8B705875380B0000E0C1demo1运行结果

事实上,如果你只想尝试下这种简单的交互,压根没必要新建一个文件,直接使用python交互式窗口就可以了。通过python命令唤醒交互式窗口。

接下来,你可以尝试输入你在demo1.py中的每一行代码,并回车,如下:

4e4a20a4462309f7308743fd81efc2f6d5cad659.jpeg?token=314f1194c97c4ded224cf28e946f6bcd&s=4CE23A668BE19B600EF1FD0B0000E0C1交互式命令

注意最后一行命令,它告诉我们,在交互式编程模式下,print是可以被省略的,当然,在文件中还是要有。至于这些代码的真实含义,现在还没必要深究。

交互式编程给我们提供了一种更简单的去体会python乐趣的方式,同时,它也可以被当成一种测试工具来使用。

Input

在这里,插入一条python的语法讲解,确实有些奇怪,但是……是有理由的。

windows下执行demo1.py,事实上你可以省略python,直接通过demo1.py就可以执行,甚至你直接双击demo1.py就可以。于是,赶紧试一下。

纳尼?什么玩意儿一闪而过?出错了?

没事,不要着急,打开demo1.py,在最下方添加一行input()。保存,再次运行,你会得到一个一直打开着的窗口,就像是等你回家的媳妇儿。

5fdf8db1cb134954f20c3e35a2af5c5dd0094abd.jpeg?token=7fb5d22d6e6cf31afcff6be8209c0119&s=6B413362C9EAA7604E719C0F000080C2demo1运行结果

input命令的能力就是接收一行标准输入,如果不输入,就会一直等待。新建demo2.py,内容如下:

s = input()print('学你说:' + s)input()

双击你会得到一个命令行窗口,尝试输入abcd,并回车,结果如下:

f703738da977391279adcc190cf8481d377ae223.jpeg?token=a82bf0d40daa5acdf67f61adffa7bd0b&s=6FA0336225FA2E240C59BC0F0000E0C2demo1运行结果

最后一行的input是为了能够看到输入abcd后的反馈结果。

模块和import

python中,每个.py文件,称之为一个模块。模块是python程序架构的一个核心概念,一个大型python工程,往往是以多个模块文件组成的。其中,某个模块文件被设计成为主文件,也叫做顶层文件。模块和模块之间可以通过import语句导入。我们在命令行交互中简单展示下模块的导入。

创建demo3.py,内容如下:

des='我是被你导入的'

通过python命令打开交互窗口,执行import demo3.py命令,再执行des,得到如下结果:

0df431adcbef760922b1e86ed73c6dc97ed99ef4.jpeg?token=037ca56c5ea1a9886d9accd8746b65f5交互式运行demo3

如果你没有得到预期结果,考虑以下几点:

1. 是否直接输入了import,而没有先通过python命令打开交互窗口?

2. 是否路径没有切换对,导致没有找到相应问题?

3. 是否在demo3后面加了.py的后缀?

4. 输出des时,是否忘记了demo3.的前缀?

对象

从某种角度来说,程序的本质就是利用某些东西,来做某些事情。Python中,这些东西,就是对象。更正式点来说,Python中,数据总是以对象的形式出现的。这些对象 ,一部分是Python提供的内置对象,另一部分,则是自定义对象。事实上,我们在Python的使用过程中,用得最多的就是Python提供的内置对象,自定义对象,也都是基于内置对象,以Python或C++等组织起来的。

接下来,我们开始学习内置对象的相关内容。

数字

程序,是为了解决生活中的问题而来的。那第一个必不可少的,就是数字。Python支持各种数字,并支持基本的数字运行,如加减乘除等。

如果你学习过一些其它编程语言,那么,Python中的以下两个彩蛋,可能会让你觉得不可思议。

第一个是,Python中可以用两个 * 号来表示乘方。 如 2 ** 100。

第二个是,当需要的时候,Python的整数类型,会自动提供额外的精度,来处理较大的数值。(居然没有溢出)

对于浮点数来说,Python同样有精度的问题。(对于计算机来说,所有内容在最底层,都是以二进制,即0和1组成的序列来存在的,所以,除部分特殊的小数外,其它小数都无法准确的表示。)例如,计算 3.1415 * 2,你得到的会是6.2830000000000004,但是,奇怪的是,如果你使用print语句来输出,又会得到6.283。bug吗?并不是,这只是Python的一种友好的形式。当使用print时,Python帮助把一些没必要的内容隐藏掉了。

除了基本的数字外,和Python一起分发的,还有一些常用的数学模块,如math,random等。

另外,Python还能表示一些少见的数字对象,如复数,固定精度十进制数,有理数,集合和布尔值等,甚至,通过一些第三方开源扩展,还可以表示矩阵和向量等更专业的内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值