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

print打印

Centos相关打印

1.Centos7.9练习打印语句

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

python 复制代码
#!/usr/bin/python
print ('wzy')
print 'wzy 666'
运行结果:
bash 复制代码
[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 -*-可以解决

bash 复制代码
[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方式

python 复制代码
print("hello world\npython") # 打印的结果会换行

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

方式2:使用'''

回车换行'''

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

python打印不换行

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

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

打印长文本

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

python 复制代码
x=(
    'wzy'
    'wzy 666'
)
print(x)

运行结果:

bash 复制代码
wzywzy 666

VT100实现彩色打印

VT100是状态码

1.linux实现

bash 复制代码
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实现

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.代码示例:

python 复制代码
num = 100
print(id(num))

num = num + 100
print(num)

print(id(num))

结果:

1763409417680
200
1763409420944

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

python 复制代码
num=1
print(id(num))
num=1
print(id(num))


运行结果:
2310231517488
2310231517488

快速定义多个变量

python 复制代码
a, b = 1, 2
print(a, b)

结果:
1 2

变量值互换

python 复制代码
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

python 复制代码
name = input('请输入你的名字: ')
print(name)

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

python 复制代码
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查看变量类型

python 复制代码
# 个人信息
name = 'wzy'
age = 18
height = 1.8
marry = False   # False 或 True

print(type(name))
print(type(age))
print(type(height))
print(type(marry))
结果:
bash 复制代码
<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]

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

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

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

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

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

格式化输出

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

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

使用操作符

案例1:

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

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

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

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

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

使用.format

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

使用name + age

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

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

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

**f-string** 格式化输出
python 复制代码
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
python 复制代码
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
`'''`三引号方式美化书写的代码
python 复制代码
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
python 复制代码
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
`'''`三引号方式美化书写的代码
python 复制代码
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
相关推荐
小豆豆儿9 分钟前
【FastAPI】中间件
python·中间件·fastapi
乐茵安全16 分钟前
基于python使用UDP协议对飞秋进行通讯—DDOS
java·开发语言·python
可喜~可乐18 分钟前
决策树入门指南:从原理到实践
人工智能·python·算法·决策树·机器学习
向宇it27 分钟前
【从零开始入门unity游戏开发之——C#篇32】C#其他不常用的泛型数据结构类、顺序存储和链式存储
java·开发语言·数据结构·unity·c#·游戏引擎
Bony-30 分钟前
Go语言高并发实战案例分析
开发语言·后端·golang
ac-er888838 分钟前
Golang并发机制以及它所使⽤的CSP并发模型
开发语言·后端·golang
Pandaconda38 分钟前
【Golang 面试题】每日 3 题(六)
开发语言·笔记·后端·面试·职场和发展·golang·go
我是苏苏40 分钟前
设计模式01:创建型设计模式之单例、简单工厂的使用情景及其基础Demo
java·开发语言·设计模式
火龙kess42 分钟前
HTML制作一个普通的背景换肤案例2024版
开发语言·前端·javascript·html
cmgdxrz1 小时前
Unittest02|TestSuite、TestRunner、HTMLTestRunner、处理excel表数据、邮件接收测试结果
python·unittest