#!/usr/bin/python

#Python3 输入输出

import math
'''
输出格式美化
Python两种输出值的方式: 表达式语句和 print() 函数。
第三种方式是使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout 引用。
如果你希望输出的形式更加多样,可以使用 str.format() 函数来格式化输出值。
如果你希望将输出的值转成字符串,可以使用 repr() 或 str() 函数来实现。
    str(): 函数返回一个用户易读的表达形式。
    repr(): 产生一个解释器易读的表达形式。
'''
#  repr() 函数可以转义字符串中的特殊字符
str1 = "hello world\n"
print(str1)
print(str(str1))
print(repr(str1))
# repr() 的参数可以是 Python 的任何对象
print(repr(("zhangsan", 1,2,[4,5],{"name":"lisi"})))

'''
字符串对象的 rjust() 方法, 它可以将字符串靠右, 并在左边填充空格。
还有类似的方法, 如 ljust() 和 center()。 这些方法并不会写任何东西, 它们仅仅返回新的字符串。
'''
for x in range(1, 11):
    print(repr(x).rjust(2), repr(x*x).rjust(3), repr(x*x*x).rjust(4))

#另一个方法 zfill(), 它会在数字的左边填充 0
print("3.14".zfill(7))

'''
str.format() 的基本使用:
括号及其里面的字符 (称作格式化字段) 将会被 format() 中的参数替换。
在括号中的数字用于指向传入对象在 format() 中的位置
'''
for x in range(1, 11):
    print("{0:2d} {1:3d} {2:4d}".format(x, x**2, x**3))
    
#如果在 format() 中使用了关键字参数, 那么它们的值会指向使用该名字的参数。
print("name:{name}, age: {age}".format(name="zhangsan", age=12))

#位置及关键字参数可以任意的结合,关键字之后必须都为关键字,不然没法识别关键字而报错,即关键字在后面,数字在前面
print("my name is {0}, sex is {1}, age is {age}, i {words}".format("lisi", "boy", age = 15, words = "love my parents"))
print("my name is {0}, sex is {sex}, age is {age}, i {words}".format("lisi", sex = "boy", age = 15, words = "love my parents"))

#位置及关键字参数可以任意的结合,关键字之后必须都为关键字,不然没法识别关键字而报错,即关键字在后面,数字在前面
print("my name is {0}, sex is {1}, age is {age}, i {words}".format("lisi", "boy", age = 15, words = "love my parents"))
    
#'!a' (使用 ascii()), '!s' (使用 str()) 和 '!r' (使用 repr()) 可以用于在格式化某个值之前对其进行转化:
print("math.pi is {!r}".format(math.pi))
print("math.pi is {!s}".format(math.pi))    
    
#可选项 ':' 和格式标识符可以跟着字段名。 这就允许对值进行更好的格式化
print("math.pi is {0:.3f} or {1:.5f}".format(math.pi, math.pi))

#在 ':' 后传入一个整数, 可以保证该域至少有这么多的宽度。 用于美化表格时很有用
print("math.pi is {0:5} or {1:5}".format(5, math.pi))    
    
'''
 如果你有一个很长的格式化字符串, 而你不想将它们分开, 那么在格式化时通过变量名而非位置会是很好的事情。
最简单的就是传入一个字典, 然后使用方括号 '[]' 来访问键值
'''
table1 = {"name":"zhangsan", "sex":"man", "age":20}
print("name is {0[name]}, sex is {0[sex]}, age is {0[age]}".format(table1))#记得括号中要加0,意思是format的第1个参数,不然报错没有那么多元组参数
    
'''
旧式字符串格式化
% 操作符也可以实现字符串格式化。 它将左边的参数作为类似 sprintf() 式的格式化字符串, 而将右边的代入,
然后返回格式化后的字符串.最终会从该语言中移除, 应该更多的使用 str.format().
'''
print("math.pi is %8.5f" % math.pi)
    
'''
读取键盘输入
Python提供了 input() 置函数从标准输入读入一行文本,默认的标准输入是键盘。
'''
age = input("请输入你的年龄:")
print("age is ", age)

#input() 默认输入的为 str 格式,若用数学计算,则需要转换格式
str1 = input("请输入一个数字:")
print(str1*2)

str1 = int(input("请输入一个数字:"))
print(str1*2)

python系列十三:Python3 输入输出的更多相关文章

  1. 【Python系列】Python3获取控制台输入

    """ 接收控制台的输入 How old are you? 18 How tall are you ? 180 How much do you weigh? 50 So ...

  2. python基础系列教程——Python3.x标准模块库目录

    python基础系列教程——Python3.x标准模块库目录 文本 string:通用字符串操作 re:正则表达式操作 difflib:差异计算工具 textwrap:文本填充 unicodedata ...

  3. Python系列之入门篇——MYSQL

    Python系列之入门篇--MYSQL 简介 python提供了两种mysql api, 一是MySQL-python(不支持python3),二是PyMYSQL(支持python2和python3) ...

  4. Python系列:一、Python概述与环境安装--技术流ken

    Python简介 Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项 ...

  5. 懂一点Python系列——快速入门

    本文面相有 一定编程基础 的朋友学习,所以略过了 环境安装.IDE 搭建 等一系列简单繁琐的事情. 一.Python 简介 Python 英文原意为 "蟒蛇",直到 1989 年荷 ...

  6. Selenium+Python系列 - 开发环境搭建

    一.写在前面 我从未想过自己会写python系列的自动化文章,有些同学会问,那你现在为什么又开始写了? 不止一个人找过我,问我可以写一些Python自动化的文章吗,答案是肯定的. 笔者Java党,整P ...

  7. 【Python数据分析】Python3多线程并发网络爬虫-以豆瓣图书Top250为例

    基于上两篇文章的工作 [Python数据分析]Python3操作Excel-以豆瓣图书Top250为例 [Python数据分析]Python3操作Excel(二) 一些问题的解决与优化 已经正确地实现 ...

  8. 【Python数据分析】Python3操作Excel(二) 一些问题的解决与优化

    继上一篇[Python数据分析]Python3操作Excel-以豆瓣图书Top250为例 对豆瓣图书Top250进行爬取以后,鉴于还有一些问题没有解决,所以进行了进一步的交流讨论,这期间得到了一只尼玛 ...

  9. 总结整理 -- python系列

    python系列 python--基础学习(一)开发环境搭建,体验HelloWorld python--基础学习(二)判断 .循环.定义函数.继承.调用 python--基础学习(三)字符串单引号.双 ...

随机推荐

  1. java IO,bufferedReader类

    1,掌握bufferedreader类作用 2,掌握键盘输入的基本格式. Buffer:表示缓冲区,之前的StringBuffer,缓冲区中的内容可以更改,可以提高效率. 如果要想接收任意长度的数据, ...

  2. poj 2409 Let it Bead Polya计数

    旋转能够分为n种置换,相应的循环个数各自是gcd(n,i),个i=0时不动,有n个 翻转分为奇偶讨论,奇数时有n种置换,每种有n/2+1个 偶数时有n种置换,一半是n/2+1个,一半是n/2个 啃论文 ...

  3. Mysql纯命令行添加用户及权限

    原文链接:http://hi.baidu.com/ngy1991/item/45978bd05d82c7ea785daa42 创建用户: 命令: 1 CREATE USER 'username'@'h ...

  4. tcp/ip ---IP路由选择

    从概念上说, I P路由选择是简单的,特别对于主机来说.如果目的主机与源主机直接相连(如点对点链路)或都在一个共享网络上(以太网或令牌环网),那么I P数据报就直接送到目的主机上.否则,主机把数据报发 ...

  5. MVC项目中怎样用JS导出EasyUI DataGrid为Excel

    在做一中考评项目的时候,遇到了这么一个需求.就是把评教后得到的老师的成绩导出为Excel.事实上需求非常普通.实现起来有些复杂.由于老师考评不但有固定的考核项,还有额外加分项.于是我们就抽出来了一个表 ...

  6. Atitit  OOCSS vs bem

    Atitit  OOCSS vs bem     1. 今天最流行的CSS开发框架技术当属OOCSS,尽管还有其他类似的技术存在,如BEM.1 2. CSS设计模式:OOCSS 和 SMACSS1 2 ...

  7. javascript执行环境以及作用域链的理解

    在javascript脚步语言中执行环境有两种: 全局环境: 局部环境: 我们可以拿一个田径跑道来打比方,全局环境就可以理解为是最外面跑道,它包含着内部所有的东西,有人在跑步,有人在跳远,这些用着不同 ...

  8. iOS开发--用户点击频繁,多个异步网络请求取消问题?

    一.业务环境描述 当一个view同时添加两个tableView为subView的时候,两个tableView分别为mainTable和subTable. 当用户点击mainTable上的某一条数据时, ...

  9. YII安装步骤(windows)

    一.首先你得下个YII框架的源码 :下载地址:http://www.yiiframework.com/download/ 二.把下载到的源码解压放到一个PHP可访问的位置:如我的 F:\site(已具 ...

  10. Spring MVC单选按钮

    以下示例显示如何在使用Spring Web MVC框架的表单中使用单选按钮(RadioButton).首先使用Eclipse IDE来创建一个WEB工程,并按照以下步骤使用Spring Web Fra ...