为何对双引号念念不忘?

>>> print("hello, world!")
hello, world!

  平x而论,既然在意双引号的去掉,为何不在意括号的去掉?甚至是print的去掉?前面说过,python程序就是一堆指令的集合,print()就是试图向计算机传递的指令,而print("hello, world!")这整个程序就是试图让计算机打印"hello, world!"的指令,所以当计算机最后显示打印结果时只关注print()指令中的数据,因此,屏幕显示就没有显示出print(),同理,更进一步,在将字符串转化成图像方阵显示在屏幕的时候,把字符串标识(双引号或单引号)也隐去掉了!

print是I/O的一种方法

1. print

  print只是python程序输入输出(I/O)方法的一种,输出用户容易看懂的形式,而省掉其中相当多的细节,可以说是抽象化以及人性化吧。实际上,从程序执行到在屏幕上显示,经过一系列的过程,频繁的输入输出(I/O)势必增加系统的开销。输入输出(I/O)是计算机的一个子系统,使计算机和外界可以相互间通信,输出系统负责将计算机的处理结果输出到计算机外部,输入系统负责从计算机外部接收输入数据和程序。I/O设备:键盘、鼠标、显示器、磁盘。

2. 表达式

>>> 1+1
2
>>> 2*2
4
>>> 1+2*3
7
>>> 

  由表达式输出只显示出来只有在交互式解释器内才有效,而作为脚本运行是不会打印出来的。

3. input()

>>> x=input('x:')
x:1
>>> x
'1'
>>> type(x)
<class 'str'>
>>> x=int(x)
>>> x
1
>>> type(x)
<class 'int'>

  input() 函数用一个字符串作为其参数,然后显示给用户。然后等待用户键入一些东西,按返回键。一旦用户键入,input() 函数就返回该文本。

4. 文件file

  要创建一个文件,需要借助于open函数,

>>> f=open(r'test.txt','w')
>>> f.write("hello, world!")
13
>>> f.close()    # 记得要关闭文件才会写入,否则一直在内存中储存
>>> import json
>>> mydict={3:'I/o'}
>>> with open(r'test.txt', 'a', encoding='utf-8') as f:  # 'a'追加方式写入
        f.write(json.dumps(mydict,ensure_ascii=False)+'\n') # ensure_ascii=False,输出中文

13   # 返回长度
>>> 

  此时,默认路径下已经创建了test.txt文件,并写入了"hello, world!"。还有很多方法,以后再写。至于最后文件中的追加内容是这样的{"3": "I/o"},因为json中的键值一定要用双引号括起。json.dumps()方法将python数据结构转化为json数据结构,将字典转化为字符串,写入文件中。另外json.loads()则将json数据转化为python数据结构,将字符串转化为字典。其中自省不再赘述。json.dump()和json.load()主要用来读写json文件。

>>> import json
>>> mydict={3:'I/o'}
>>> import json
>>> type(json.dumps(mydict))
<class 'str'>
>>> b=json.dumps(mydict)
>>> type(json.loads(b))
<class 'dict'>

  对于编程I/O,流是一个会涉及并很常见的概念,这里先挖个坑,日后再填。

3.从print到I/O的更多相关文章

  1. Pramp mock interview (4th practice): Matrix Spiral Print

    March 16, 2016 Problem statement:Given a 2D array (matrix) named M, print all items of M in a spiral ...

  2. 我的第一个python程序--给2.x的print代码加上括号

    最近想学习一门脚本语言,综合考虑,选择了python. 花了几天时间看完了 简明 Python 教程 ,想着应该写点什么东西才好,刚好我使用的是3.x版本,以前好多2.x的代码都直接报错,尤其是pri ...

  3. python的print函数的格式化输出

    使用print函数的时候,可以像C一样格式化输出,同时还支持参数化输出 print('%s' % ("CooMark")) print('整数|%d|' % (123)) prin ...

  4. 遭遇Web print

    一直都知道Web打印还不太成熟,以前IE横行时,普遍都是采用打印相关的ActiveX控件,有些国产厂家做得不错,只是那时还没有付费能力,没有太多关注.而纯粹基于Web标准的打印,浏览器对CSS pri ...

  5. python下print结果到文件中的方法

    目的是将print的结果输出到一个文件中,比如这个文件在D:\lianxi\out.txt下,我用的windows: s = '1234' f = open (r'D:\lianxi\out.txt' ...

  6. ns3 print 丢包内容的两种方法

    1.方法一enable ascii print AsciiTraceHelper ascii; pointToPoint.EnableAsciiAll (ascii.CreateFileStream ...

  7. Python中print函数输出时的左右对齐问题

    为了将print函数输出的内容对齐,笔者在http://www.jb51.net/article/55768.htm中找到了左右对齐的方法.整理如下: 一.数值类型(int.float) #  %d. ...

  8. python print及格式化

    print(value,sep=' ',end='\n',file=sys.stdout, flush=False) sep=' '默认空格 print('hello','world') #hello ...

  9. 51. 顺时针打印矩阵[print matrix in clockwise direction]

    [本文链接] http://www.cnblogs.com/hellogiser/p/print-matrix-in-clockwise-direction.html [题目] 输入一个矩阵,按照从外 ...

  10. window.print() 打印页面部分内容的方法

    用 JavaScript 实现页面数据的打印 : 主要是用到了一个 print() 函数 , 该函数将会打印整个 web 页面 body 内的所有 html 数据 ! 使用方法为 window.pri ...

随机推荐

  1. Jcrontab定时任务

           两篇博客:     http://blog.csdn.net/jijijiujiu123/article/details/9086847    网站同事写的(chenrui)       ...

  2. Android学习——Fragment与Activity通信(一)

    学会了在Activity中加载Fragment的方法之后,接下来便需要学习Activity和Fragment之间的通信.这一节先学习如何把Activity中的信息传递给Fragment. 基本过程 在 ...

  3. SQL Server 的 主键 解决方案 NEWID() , 自增ID

    在 SQL Server 表的主键有自增Id ,和  GUID. 1.  自增Id 优点:索引空间小,索引连续.在大量数据插入的时候性能有特别大的优势. 缺点:可移植性差,在数据迁移的时候. 2. G ...

  4. #学习笔记#e2e学习使用(一)

    本文仅限于记录本人学习的过程,以及怎么踩的坑,是如何解决的.逻辑肯定是混乱的,有用之处会抽出共通另行发帖. 最终目标:要运用于Vue项目中,进行功能测试甚至自动化测试. 一.e2e概念 理解:end ...

  5. 【CentOS】在Centos7 下无图形界面安装 Oracle11g

    目标 - 在虚拟机CentOS7中无图形界面安装Oracle11G R2版本 ① 系统要求以及准备 1. 物理内存不小于1G: 查看方式: # grep MemTotal /proc/meminfo ...

  6. ZT acct 中文man页面(1)

    acct 中文man页面(1) 2011-08-18 13:57 佚名 博客转载 我要评论(0) 字号:T | T 如果在内核编译时开启了进程记账选项(CONFIG_BSD_PROCESS_ACCT) ...

  7. 第二次作业(Git and Github)

       第二次作业(Git and Github) 1.Github项目地址: https://github.com/YanSiJu/JavaWebProject.git 具体介绍详见READ.md 2 ...

  8. Android(java)学习笔记7:多线程程序练习

    需求: 某电影院目前正在上映贺岁大片,共有100张票,而它有3个售票窗口售票,请设计一个程序模拟该电影院售票. 两种方式实现 A:继承Thread类 B:实现Runnable接 1. 首先我们利用方式 ...

  9. 多层感知机训练minist数据集

    MLP .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1p ...

  10. html题型

    1.doctype的意义是什么 这个是有历史背景的,在很久以前,IE有一些自己的渲染模式,最典型的就是盒子模型,包括边距.这就造成了不兼容模式,所以他的意义 1)让浏览器以标准模式渲染 2)让浏览器知 ...