看python input的文档,可以看到input() 本质上还是使用 raw_input() 来实现的,只是调用完 raw_input() 之后再调用 eval() 函数,所以,你甚至可以将表达式作为 input() 的参数,并且它会计算表达式的值并返回它。

    1. def input(prompt):
    2. return (eval(raw_input(prompt)))

    除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。

    输出

    Python两种输出值的方式: 表达式语句和 print() 函数。(第三种方式是使用文件对象的 write() 方法; 标准输出文件可以用 sys.stdout 引用。)

    示例:

    1. print "Hello, Python!";
    2. print ("Hello, Python!"); #新版本的Python

    输出的 print 函数总结:

    1. 字符串和数值类型
      可以直接输出:
    1. >>> print(1)
    2. 1
    3. >>> print("Hello World")
    4. Hello World

    2.变量
    无论什么类型,数值,布尔,列表,字典…都可以直接输出

    1. >>> x = 12
    2. >>> print(x)
    3. 12
    4. >>> s = 'Hello'
    5. >>> print(s)
    6. Hello
    7. >>> L = [1,2,'a']
    8. >>> print(L)
    9. [1, 2, 'a']
    10. >>> t = (1,2,'a')
    11. >>> print(t)
    12. >>> d = {'a':1, 'b':2}
    13. >>> print(d)
    14. {'a': 1, 'b': 2}

    3.格式化输出
    类似于C中的 printf

    1. >>> s
    2. 'Hello'
    3. >>> x = len(s)
    4. >>> print("The length of %s is %d" % (s,x))
    5. The length of Hello is 5

    Python中格式化输出的总结:
    (1) %字符:标记转换说明符的开始

    (2) 转换标志:-表示左对齐;表示在转换值之前要加上正负号;""(空白字符)表示正数之前保留空格;0表示转换值若位数不够则用0填充。示例:

    (3) 最小字段宽度:转换后的字符串至少应该具有该值指定的宽度。如果是*,则宽度会从值元组中读出。

    1. # 指定占位符宽度
    2. >>> print ("Name:%10s Age:%8d Height:%8.2f"%("Aviad",25,1.83))
    3. Name: Aviad Age: 25 Height: 1.83

    (4) 点(.)后跟精度值:如果转换的是实数,精度值就表示出现在小数点后的位数。如果转换的是字符串,那么该数字就表示最大字段宽度。如果是*,则从后面的元组中读取字段宽度或精度。

    1. >>> print ("His height is %f m"%(1.83))
    2. His height is 1.830000 m
    3. >>> print ("His height is %.2f m"%(1.83))
    4. His height is 1.83 m
    5. >>> print ("The String is %.2s"%("abcd"))
    6. The String is ab
    7. # 用*从后面的元组中读取字段宽度或精度,第1个参数是精度
    8. >>> print ("His height is %.*f m"%(2,1.83))
    9. His height is 1.83 m
    1. 转换类型 含义
    2. d,i 带符号的十进制整数
    3. o 不带符号的八进制
    4. u 不带符号的十进制
    5. x 不带符号的十六进制(小写)
    6. X 不带符号的十六进制(大写)
    7. e 科学计数法表示的浮点数(小写)
    8. E 科学计数法表示的浮点数(大写)
    9. f,F 十进制浮点数
    10. g 如果指数大于-4或者小于精度值则和e相同,其他情况和f相同
    11. G 如果指数大于-4或者小于精度值则和E相同,其他情况和F相同
    12. C 单字符(接受整数或者单字符字符串)
    13. r 字符串(使用repr转换任意python对象)
    14. s 字符串(使用str转换任意python对象)
    1. b = 'world'
    2. >>> a+b
    3. 'hello world'

    查看变量类型

    1. >>> type(a)
    2. <type 'str'>

    math开头需要import math

    str.format() 的基本使用如下:

    1. >>> print('We are the {} who say "{}!"'.format('knights', 'Ni'))
    2. We are the knights who say "Ni!"

    括号及其里面的字符 (称作格式化字段) 将会被 format() 中的参数替换。

    自定义打印对象函数:

    1. def prn_obj(obj):
    2. print ', '.join(['%s:%s' % item for item in obj.__dict__.items()])

    JSON转换

    json类里提供

    1. json.dumps(param) #list转json

    示例:

    1. >>> import json
    2. >>> json.dumps(['math','english'])
    3. '["math", "english"]'
    4. >>> json.loads('["math", "english"]')
    5. [u'math', u'english']

    json主要用在PHP的array对象 和 python的list对象上。

    PHP和Python3能将同样的json还原成 各自的object 且 在各自的语言环境下代表的意义是同样的。

    但是 PHP和python将object生成json的时候,却不太一样了,PHP生成的json中多了反斜线。

    1. #!/usr/bin/python
    2. # -*- coding: UTF-8 -*-
    3. # 打开文件
    4. fo = open("runoob.txt", "r+")
    5. print "文件名为: ", fo.name
    6. line = fo.read(10)
    7. print "读取的字符串: %s" % (line)
    8. # 关闭文件
    9. fo.close()

    运算符

    Python支持:

    • 算数运算符
    • 关系运算符
    • 赋值运算符
    • 逻辑运算符
    • 位运算符

    除了以上的一些运算符之外,Python还支持成员运算符,身份运算符:

    • 成员运算符
    • 身份运算符

    算术运算符

    Python算术运算符没有C语言里的自增(++)自减(--)运算符。

    关系运算符

    以下假设变量a为10,变量b为20:

    运算符描述实例
    ==等于 - 比较对象是否相等(a == b) 返回 False。
    !=不等于 - 比较两个对象是否不相等(a != b) 返回 true.
    <>不等于 - 比较两个对象是否不相等(a <> b) 返回 true。这个运算符类似 != 。
    >大于 - 返回x是否大于y(a > b) 返回 False。
    <小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。(a < b) 返回 true。
    >=大于等于 - 返回x是否大于等于y。(a >= b) 返回 False。
    <=小于等于 - 返回x是否小于等于y。(a <= b) 返回 true。

    以下假设变量a为10,变量b为20:

    逻辑运算符

    Python语言支持逻辑运算符。

    在Python中是没有&&||!这三个运算符的,取而代之的是英文andornot

    以下假设变量 a 为 10, b为 20:

    运算符逻辑表达式描述实例
    andx and y布尔”与” - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。(a and b) 返回 20
    orx or y布尔”或” - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。(a or b) 返回 10。
    notnot x布尔”非” - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。not(a and b) 返回 False

    位运算符

    按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:
    下表中变量 a 为 60,b 为 13,二进制格式如下:

    以下假设变量 a 为 1, b为 20,c为[1, 2, 3, 4, 5 ]:

    运算符描述实例
    in如果在指定的序列中找到值返回 True,否则返回 False。(a in c), 返回 True。
    not in如果在指定的序列中没有找到值返回 True,否则返回 False。(b not in c), 返回 True。

    身份运算符

    身份运算符用于比较两个对象的存储单元。

    运算符优先级

    运算符描述
    指数 (最高优先级)
    ~ + -按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
    / % //乘,除,取模和取整除
    + -加法减法
    >> <<右移,左移运算符
    &位 ‘AND’
    位运算符
    <= < > >=比较运算符
    <> == !=等于运算符
    = %= /= //= -= += = =赋值运算符
    is is not身份运算符
    in not in成员运算符
    not or and逻辑运算符