1. 普通的输出

  • 生活中的“输出”

01-第1天-11.jpg

  • 软件中的“输出”

各种框框

python中变量的输出:print()

  1. # 打印提示
  2. print('hello world') # 英文引号,所以程序里边的引号都用英文的
  3. print('张飞\n刘备') # \n 是换行符 张飞和刘备分别在两行输出

print输出多个数据

  1. 用逗号分割即可,输出的数据默认用空格分隔
  2. 使用sep=可以自定义用什么分隔开,这里可以通过pycharmctrl + b看到源代码的print定义那里.)
  3. print()之间的默认分隔符是由end=''定义的 ```python a=’哈哈’ b=55 print(a,b) # 哈哈 55 print(a,b,sep=’!’) # 哈哈!55

print(‘百家姓’,end=’’) print(‘千字文’)

输出:百家姓千字文 ,没有了换行

  1. <a name="SCjg3"></a>
  2. ### print的定义
  3. ```python
  4. def print(self, *args, sep=' ', end='\n', file=None): # known special case of print
  5. """
  6. print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
  7. Prints the values to a stream, or to sys.stdout by default.
  8. Optional keyword arguments:
  9. file: a file-like object (stream); defaults to the current sys.stdout.
  10. sep: string inserted between values, default a space.
  11. end: string appended after the last value, default a newline.
  12. flush: whether to forcibly flush the stream.
  13. """
  14. pass

2. 格式化输出

2.1. 格式化操作的目的

比如有以下代码:

  1. print("我今年10岁")
  2. print("我今年11岁")
  3. print("我今年12岁")
  4. ...
  • 想一想:

    在输出年龄的时候,用了多次”我今年xx岁”,能否简化一下程序呢???

  • 答:

    字符串格式化

2.2 什么是格式化

看如下代码:

  1. age = 10
  2. print("我今年%d岁" % age)
  3. age += 1
  4. print("我今年%d岁" % age)
  5. age += 1
  6. print("我今年%d岁" % age)
  7. ...

在程序中,看到了%这样的操作符,这就是Python中格式化输出。

  1. age = 18
  2. name = "wangyue"
  3. print("我的姓名是%s, 年龄是%d" % (name, age))

对字符串中的动态数据按照指定的数据类型进行输出显示,该操作被称为字符串的格式化输出.

2.3. 常用的格式符号

下面是完整的,它可以与%符号使用列表: 🃏代表比较常用的

格式符号 转换
%c 字符char
%s 🃏 字符串string
%d 🃏 有符号十进制整数
%u 无符号十进制整数
%o 八进制整数
%x 十六进制整数(小写字母0x)
%X 十六进制整数(大写字母0X)
%f 🃏 浮点数 float
%e 科学计数法(小写’e’)
%E 科学计数法(大写“E”)
%g %f和%e 的简写
%G %f和%E的简写

一个格式化占位符

直接写,注意他们之间的空格间隔.

  1. age = 3
  2. print("我今年%d岁" % age)

多个格式化占位符

用小括号()括起来,注意他们之间的空格间隔.

  1. age = 3
  2. name='王月'
  3. print("我今年%d岁,我叫%s" % (age,name))

💁‍♀️扩展:%f保留几位小数

使用%.nf来保留几位小数,会四舍五入

  1. pi = 3.1415926
  2. print('保留一位小数的%.1f' % pi) #保留一位小数的3.1
  3. print('保留2位小数的%.2f' % pi) #保留2位小数的3.14
  4. print('保留12位小数的%.12f' % pi) #保留12位小数的3.141592600000

💁‍♀️扩展:%d补位

只能补位,不能裁剪,位数不够就补0,0必须有,否则补的就是空格了

  1. card_no=90
  2. print('卡号是%d' % card_no)
  3. # 假设每个人的卡号都是6位数
  4. print('卡号是%06d' % card_no) #卡号是000090
  5. print('卡号是%01d' % card_no) #卡号是90
  6. print('卡号是%016d' % card_no) #卡号是0000000000000090

🚩tip:如果格式化占位符需要结合%使用,比如打印60%时,那么此时两个%%表示一个,否则程序会报错

  1. print('占比是%d%' % 60) #报错

image.png

  1. print('占比是%d%%' % 60) #占比是60%

3. 换行输出

在输出的时候,如果有\n那么,此时\n后的内容会在另外一行显示

  1. print("1234567890-------") # 会在一行显示
  2. print("1234567890\n-------") # 一行显示1234567890,另外一行显示-------

4. 练一练

  • 定义字符串变量 name ,输出 我的名字叫 ⼩明,请多多关照!
  • 定义整数变量 student_no ,输出 我的学号是 000001
  • 定义⼩数 price 、 weight 、 money ,输出 苹果单价 9.00 元/⽄,购买了 5.00 ⽄,需要⽀付 45.00 元
  • 定义⼀个⼩数 scale ,输出 数据⽐例是 10.00%

    1. print("我的名字叫 %s,请多多关照!" % name)
    2. print("我的学号是 %06d" % student_no)
    3. print("苹果单价 %.02f 元/⽄,购买 %.02f ⽄,需要⽀付 %.02f 元" % (price, weight, money))
    4. print("数据⽐例是 %.02f%%" % (scale * 100))
  • 编写代码完成以下名片的显示

    1. ==========我的名片==========
    2. 姓名: itheima
    3. QQ:xxxxxxx
    4. 手机号:185xxxxxx
    5. 公司地址:北京市xxxx
    6. ===========================