当前位置: 首页 > article >正文

python之打印、变量、格式化输出

print打印

Centos相关打印

1.Centos7.9练习打印语句

Centos7的python版本是2.7.5,print打印时,可以不加 () ,但是python3需要

#!/usr/bin/python
print ('wzy')
print 'wzy 666'
运行结果:
[root@db01~]# ./1.py 
wzy
wzy 666

2.解决Centos乱码问题

不声明编码直接运行,会报错:

SyntaxError: Non-ASCII character '\xe6' in file ./1.py on line 4, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

加上:#-*- coding: utf-8 -*-可以解决

[root@db01~]# cat 1.py 
#!/usr/bin/python
#-*- coding: utf-8 -*-
print ('wzy')
print 'wzy 666'
print ('文治勇666')

[root@db01~]# ./1.py 
wzy
wzy 666
文治勇666

python打印换行

方式1:使用\n方式

print("hello world\npython") # 打印的结果会换行

注:如果变量之间需要换行,使用+ '\n'

方式2:使用'''

回车换行'''

print('''hello world
		python''')	# 打印的结果会换行

python打印不换行

1.使用end=" " 可以实现不换行打印

print('hello world', end=" ")
print("python")
运行结果:`hello world python`

打印长文本

有时候一段话过于长,可以使用(),把要打印的内容放在里面

x=(
    'wzy'
    'wzy 666'
)
print(x)

运行结果:

wzywzy 666

VT100实现彩色打印

VT100是状态码

1.linux实现

echo -en "\\033[0;30m\\033[0;31mhello world\n\\033[0;30m"
echo -en "\\033[0;30m\\033[0;32mhello world\n\\033[0;30m"
echo -en "\\033[0;30m\\033[0;33mhello world\n\\033[0;30m"
echo -en "\\033[0;30m\\033[0;34mhello world\n\\033[0;30m"
echo -en "\\033[0;30m\\033[0;35mhello world\n\\033[0;30m"
echo -en "\\033[0;30m\\033[0;36mhello world\n\\033[0;30m"

在这里插入图片描述

2.python实现

print("\033[31;1;31m hello world\033[0m")
print("\033[31;1;32m hello world\033[0m")
print("\033[31;1;33m hello world\033[0m")
print("\033[31;1;34m hello world\033[0m")
print("\033[31;1;35m hello world\033[0m")
print("\033[31;1;36m hello world\033[0m")

在这里插入图片描述

变量

  • 变量是在内存当中开辟一块新的区域
  • id 函数打印出变量在内存中的位置
  • 如果变量值未发生改变,那么在内存中的地址也不会发生改变
  • python变量的数据类型是由值决定的

1.代码示例:

num = 100
print(id(num))

num = num + 100
print(num)

print(id(num))

结果:

1763409417680
200
1763409420944

2.验证内存中的地址未发生改变

num=1
print(id(num))
num=1
print(id(num))


运行结果:
2310231517488
2310231517488

快速定义多个变量

a, b = 1, 2
print(a, b)

结果:
1 2

变量值互换

a, b = 1, 2
print(a, b)

a, b = b, a
print(a, b)

结果:

1 2
2 1

input交互式赋值

  • 类似于linux的read -p
  • ⚠️ input输入的都是字符串类型

1.交互式输入name

name = input('请输入你的名字: ')
print(name)

在这里插入图片描述

2.input函数 + type函数结合使用

name = input('请输入你的名字: ')
age = input('请输入你的年龄: ')

print(type(name))
print(type(age))

在这里插入图片描述

数据类型

  • 数字
  • int 整型(1, 2, -1, -2)
  • float 浮点型(34.678)
  • bool 布尔型(True/False)
  • complex 复数(4+3J, 不应用于常规编程,仅了解即可
  • 字符串
  • str 单引号和双引号内表示的内容为字符串“hello world" "12345"
  • 列表
  • list 使用中括号表示 [1, 2, 3, 4]
  • 元组
    • tuple 使用小括号表示(1, 2, 3, 4)
  • 字典
    • dict 使用大括号表示,存放key-value键值对 {"a":1, "b":2, "c":3}
  • 集合
    • set 也使用大括号表示,但与字典有所不同 {1, 2, 3, 4}

使用type查看变量类型

# 个人信息
name = 'wzy'
age = 18
height = 1.8
marry = False   # False 或 True

print(type(name))
print(type(age))
print(type(height))
print(type(marry))
结果:
<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>

变量类型转换函数

转换函数说明
int(xxx)将xxx转换为整数
float(xxx)将xxx转换为浮点型
str(xxx)将xxx转换为字符串
list(xxx)将xxx转换为列表
tuple(xxx)将xxx转换为元组
dict(xxx)将xxx转换为字典
set(xxx)将xxx转换为集合
chr(xxx)把整数[0-255]转成对应的ASCII码
ord(xxx)把ASCII码转成对应的整数[0-255]

案例-打印拼接时注意字符

虽然编辑时没有报错,但是运行时报错,因为汉字 + 数字时不能直接拼接的

age = input('输入你的年龄: ')
print(age, +'你的年龄是' + int(age)+2 + '岁')

所以最后还需要把整句话转换为str类型

age = input('输入你的年龄: ')
print('你的年龄是' + str(int(age) + 2) + '岁')

在这里插入图片描述

格式化输出

%s{} 都相当于占位符,安装顺序对应后边的变量

操作符说明
%s字符串,string
%d整数,源自C语言的decimal
%f浮点数,float
%%输出 %

使用操作符

案例1:

age = input('输入你的年龄: ')
print('你的年龄是%d岁' % int(age))
print('你的年龄是%s岁' % str(age))

运行结果:
输入你的年龄: 18
你的年龄是18岁
你的年龄是18

案例2:在引用的操作符中使用运算

age = (input('输入你的年龄: '))
print('你的年龄是%d岁' % int(age))
print('你的年龄是%s岁' % str(age), '10年后你%d岁' % int(int(age) + 10))

输入你的年龄: 18
你的年龄是18岁
你的年龄是1810年后你28

使用.format

age = (input('输入你的年龄: '))
print('10年后你{}岁'.format(int(age) + 10))

使用name + age

name = input('请输入你的姓名: ')
age = input('输入你的年龄: ')
print('{}, 10年后你{}岁'.format(name, int(age) + 10))

结果:
请输入你的姓名: wzy
输入你的年龄: 18
wzy, 10年后你28

案例-格式化输出+换行打印

**f-string** 格式化输出
name = input('Your name is ')
sex = input('Your sex is ')
job = input('Your job is ')
number = input('Your number is ')
print(f'name: {name}\nsex: {sex}\njob: {job}\nnumber: {number}')

结果:
Your name is wzy
Your sex is man
Your job is it
Your number is 18
name: wzy
sex: man
job: it
number: 18
常规.format
name = input('Your name is ')
age = input('Your sex is ')
print('name: {}\nage: {}'.format(name, age))

结果:
Your name is wzy
Your sex is 18
name: wzy
age: 18
`'''`三引号方式美化书写的代码
name = input('Your name is ')
age = input('Your age is ')
print('''
name: {}
age: {}
'''.format(name, age))

结果:
Your name is wzy
Your sex is 18
name: wzy
age: 18
18
常规.format
name = input('Your name is ')
age = input('Your sex is ')
print('name: {}\nage: {}'.format(name, age))

结果:
Your name is wzy
Your sex is 18
name: wzy
age: 18
`'''`三引号方式美化书写的代码
name = input('Your name is ')
age = input('Your age is ')
print('''
name: {}
age: {}
'''.format(name, age))

结果:
Your name is wzy
Your sex is 18
name: wzy
age: 18

http://www.kler.cn/a/454232.html

相关文章:

  • LeetCode-最长回文子串(005)
  • React 高级组件开发:动态逻辑与性能优化
  • HarmonyOS NEXT 实战之元服务:静态多案例效果(一)
  • 【乐企文件生成工程】根据特定要素动态选择需要生成的发票板式文件实现
  • Linux:code:network:devinet_sysctl_forward;IN_DEV_FORWARD
  • cesium入门学习二
  • SkyWalking服务监控、追踪、诊断可视化工具
  • Flink的Watermark水位线详解
  • 嵌入式学习-QT-Day09
  • Linux 简单命令总结
  • Android笔记(四十):ViewPager2嵌套RecyclerView滑动冲突进一步解决
  • 企业如何搭建安全的跨网文件安全交换管理系统
  • 人工智能的视觉天赋:一文读懂卷积神经网络
  • Unity 应用程序中集成 Web 浏览器功能
  • linux、mysql日常工作备忘录
  • Redis 应用场景深度探索
  • docker hub 官方redis镜像使用方法
  • 抓取手机HCI日志
  • MR眼镜如何接管我们的手机生活
  • pikachu靶场RCE漏洞
  • 以太网帧结构
  • JS获取URL中参数值的4种方法
  • 001集—— 块表、快表记录、块参照详解 —— ifox CADc#二次开发
  • Docker下TestHubo安装配置指南
  • 快速理解24种设计模式
  • Ubuntu 24.04 APT源配置详解