输入与输出

0. 输入


  • Python2.x
    # raw_input
    
    # 功能
      1. 会等待用户输入内容,知道用户按下 Enter
      2. 会将用户输入的内容当做 字符串,传递给接收的变量
    
    inputStr = raw_input("请输入信息")
    print type(inputStr)
    print inputStr
    
    # input
    
    # 功能
      1. 会等待用户输入内容,直到用户按下 Enter
      2. 会将用户输入的内容当做 代码 进行处理
    
    inputResult = input("请输入代码")
    print type(inputResult)
    print inputResult
    
  • Python3.x
    # input
    
    # 功能
      1. 会等待用户输入内容,直到用户按下 Enter
      2. 会将用户输入的内容当做 字符串,传递给接收的变量
     
    inputStr = input("请输入消息")
    print(type(inputStr))
    print(inputStr)
    
    inputResult = eval(inputStr)
    print(type(inputResult))
    print(inputResult)
    

1. 输出


  • Python2.x
    # print 语句:print xxx
    print "my name is luck"
    
  • Python3.x
    # print函数:print(values, sep, end, file, flush) 
    
    # values:需要输出的值
      1. 多个值,使用 , 进行分割
    
    # sep:分割符
      1. 多个值,被输出出来之后,值与值之间,会添加指定的分隔符
      2. 默认值 ' '
    
    # end:输出完毕之后,以指定的 字符 结束
      1. 默认是换行 \n
    
    # file:表示 输出的目标
      1. 默认是标准的输出,即控制台,file = sys.stdout
      2. 还可以是一个可写入的文件句柄,file = open("luck.txt", "w")
    
    # flush:表示 是否立即 输出
      1. 流程
        (1) 需要输出的内容,先存放在 缓冲区,然后再输出到目标
        (2) flush,就代表是否刷新缓冲区,让缓冲区的内容,立即输出到目标
      2. 若输出内容末尾是以 \n 结尾,则会 立即刷新 缓冲区
      3. 默认是 False
    

2. 占位格式符


  • 格式:%[(name)][flags][width][.precision]typecode
    • 中括号 [] 包含的部分,代表可选
  • (name):用于选择指定的名称对应的值
    age = 20
    luckAge = 18
    print("我年龄是:%(my)d,luck 年龄是:%(luck)d" % ({"my": age, "luck": luckAge}))
    
  • flags
    • :表示 右对齐,在 左侧 空出位置
      firstNum = 20
      secondNum = 18
      print("%10d%d" % (firstNum, secondNum))
      
    • -:表示 左对齐,在 右侧 空出位置
      firstNum = 20
      secondNum = 18
      print("%-10d%d" % (firstNum, secondNum))
      
    • 空格:表示在 正数左侧 填充 一个空格,从而与 负数对齐
      firstNum = 20
      secondNum = 18
      print("% d%d" % (firstNum, secondNum))
      
    • 0:表示使用 0 填充 左侧
      minutes = 5
      sec = 18
      print("%02d:%02d" % (minutes, sec))
      
  • width:表示 显示宽度
    firstNum = 20
    secondNum = 18
    print("%10d%d" % (firstNum, secondNum))
    
  • .precision:表示小数点后 精度
    score = 59.9
    print("%.5f" % score)
    
  • typecode转换说明符
    • 数值
      数值.png
    • 字符串
      • s:获取传入对象的 _str_ 方法的返回值,并将其格式化到指定位置
      • r:获取传入对象的 _repr_ 方法的返回值,并将其格式化到指定位置
      • c
        # 整数:将数字转换成其 unicode 对应的值
        # Python2.x,只支持 0 ~ 255
        # Python3.x,10 进制范围支持 0 ~ 1114111
        print("我就是很厉害啊%c" % 19999)
         
        # 字符:将字符添加到指定位置
        print("我就是很厉害啊%c" % "哦")
        
    • 注意
      • %% 表示一个 %
      • 不存在 自动将 整数 转换成 二进制 表示的方式

3. 应用场景


  • 输出一个值
    # Python2.x
    print 666
    
    # Python3.x
    print(3)
    
  • 输出一个变量
    # Python2.x
    num = 88
    print num
    
    # Python3.x
    num = 66
    print(num)
    
  • 输出多个变量
    # Python2.x
    a, b, c = 66, 88, 100
    print a, b, c
    
    # Python3.x
    a = b = c = 100
    print(a, b, c)
    
  • 格式化输出
    # Python2.x 
    
    # % 写法
    name = "秦子阳"
    age = 18
    formatStr = "my name is %s, and age is %d" % (name, age)
    print type(formatStr), formatStr
    
    # format 写法
    name = "秦子阳"
    age = 18
    formatStr = "my name is {0}, and age is {1}".format(name, age)
    formatStr = "my name is {a}, and age is {b}".format(a=name, b=age)
    print type(formatStr), formatStr
    
    # Python3.x
    
    # % 写法
    name = "小熊bliving"
    age = 18
    formatStr = "my name is %s, and age is %d" % (name, age)
    print(type(formatStr), formatStr)
    
    # format 写法
    name = "小熊bliving"
    age = 18
    formatStr = "my name is {0}, and age is {1}".format(name, age)
    formatStr = "my name is {a}, and age is {b}".format(a=name, b=age)
    print(type(formatStr), formatStr)
    
  • 输出到文件中
    # Python2.x 
    filePath = open("luck.txt", "w")
    print >> filePath, "my name is 秦子阳, and age is 18."
    
    # Python3.x
    filePath = open("luck.txt", "w")
    print("my name is 秦子阳, and age is 18", file=filePath)
    
  • 输出不自动换行
    # Python2.x 
    a = b = c = 100
    print a,
    print b, 
    print c,
    
    # Python3.x
    print("hello,", "i am luck.", end="")
    
  • 输出的各个数据,使用分隔符分隔
    # Python2.x 
    print "_".join(["a", "b", "c"])
    
    # Python3.x
    print("my", "name", "is", "luck", sep="---")
    

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,874评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,102评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,676评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,911评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,937评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,935评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,860评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,660评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,113评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,363评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,506评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,238评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,861评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,486评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,674评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,513评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,426评论 2 352

推荐阅读更多精彩内容