Day2笔记-格式化输出&变量的基本使用

一、格式化输出【重点掌握】

方式一:占位符 不常用

%d:可以匹配数字,一般匹配整型【整数】
%f:可以匹配数字,一般匹配浮点型【小数】
%s:可以匹配Python中的一切数据类型

方式二:f-string 常用

# 方式一:占位符          不常用
"""
%d:可以匹配数字,一般匹配整型【整数】
%f:可以匹配数字,一般匹配浮点型【小数】
%s:可以匹配Python中的一切数据类型
"""
print(6,10,'abc')
print('姓名:','张三','年龄:',18,sep='')
​
# 占位符的语法:'指定格式的占位符' % (实际的数据)
# print("我是%s,今年%s,爱好%s" % (name,age,hobby))
​
# 注意1:占位符的数量和实际数据的数量一定要保持一致
# TypeError: not all arguments converted during string formatting
# print("我是%s,今年%s,爱好%s" % ('abc',10,'dance',23))
# TypeError: not enough arguments for format string
# print("我是%s,今年%s,爱好%s" % ('abc',10))
​
# 注意2:实际的数据和占位符一定要达到类型的匹配
print("我是%s,今年%s,爱好%s" % ('abc',10,34.12))
# TypeError: %d format: a number is required, not str
# print("我是%s,今年%s,爱好%d" % ('abc',10,'dance'))
# print("我是%s,今年%s,爱好%d" % ('abc',10,34.16))
​
# 注意3:%.nd,n为大于等于1的数字,表示整型的格式化,当n大于数字的位数,则会自动在数字的前面补0
print("我是%s,今年%s,学号%d" % ('abc',10,34))
print("我是%s,今年%s,学号%.3d" % ('abc',10,34))
print("我是%s,今年%s,学号%.5d" % ('abc',10,34))
print("我是%s,今年%s,学号%.1d" % ('abc',10,34))
​
# 注意4:%.nf ,n为大于等于1的数字,表示保留小数点后n位         ********
print("我是%s,今年%s,体重%f" % ('abc',10,180.3475))
print("我是%s,今年%s,体重%.2f" % ('abc',10,180.3475))
print("我是%s,今年%s,体重%.f" % ('abc',10,180.7475))  # 取整,会四舍五入
​
# 方式二:f-string          常用      **********
# 语法格式:f"{}-{}....."
print("我是%s,今年%s,爱好%s" % ('abc', 10, 'dance'))
print(f"我是{'abc'},今年{10},爱好{'dance'}")
​
# 注意1:如果出现引号套用的情况,一定要岔开使用
# "''"   '""'
print(f"我是{'abc'},今年{10},爱好{'dance'}")
print(f'我是{"abc"},今年{10},爱好{"dance"}')
​
# 注意2:f"{xx:.nf}" 等价于%.nf
print("%.2f" % (34.45726))
print(f"{34.45726:.2f}")
​
# 作业
# 1.从控制台分别输入姓名,年龄和爱好,并按照指定格式输出到控制台上
"""
运行效果:
请输入姓名:张三
请输入年龄:18
请输入爱好:吹牛逼
我是张三,今年18,爱好吹牛逼
"""
name = input("请输入姓名:")
age = input("请输入年龄:")
hobby = input("请输入爱好:")
print('我是',name,',','今年',age,',','爱好',hobby,sep='')
print("我是%s,今年%s,爱好%s" % (name,age,hobby))
print(f"我是{name},今年{age},爱好{hobby}")

二、变量【重点掌握】

1.数据类型

​ 顾名思义,计算机就是用来做数学计算的机器,因此,计算机程序理所当然的可以处理各种数值。但是,计算机能处理的远远不止数值,还可以处理文本,图形,音频,视频,网页等各种各样的数据,而处理不同的数据,需要使用不同的数据类型来进行表示

【面试题】Python中常用的数据类型:

  • 数字型:整型【int】,浮点型【float】,复数【complex】

  • 布尔型:bool,只有两个值:True和False,True可以被当做1使用,False可以被当做0使用

  • 字符串型:str

  • 列表:list

  • 元组:tuple

  • 字典:dict

  • 集合:set

  • 字节:bytes

  • 空值:NoneType,只有一个值:None

2.定义变量

程序在运行的过程中,表示的值可以随时发生改变的标识符

在程序设计中,变量是一种存储数据的载体【容器】

语法:变量名 = 值

说明:变量名其实就是一个标识符

# 1.语法:变量名 = 值
# 注意:涉及到=、+等运算符时,在运算符的两端添加空格,更加符合语法规范
​
# 前期常用的类型
# a.数字:int/float/complex
n1 = 10
n2 = 34.19
n3 = 5 + 3j
print(n1,n2,n3)
​
# b.字符串:str
s1 = '4565' \
     'fhah' \
     '学习' \
     '¥#'
s2 = "4565fhah学习¥#"
print(s1)
print(s2)
# 可以在三引号的内部进行随意换行
s3 = """4565
fhah
学习
¥#"""
print(s3)
s3 = '''4565
fhah
学习
¥#'''
print(s3)
​
# c.布尔型:bool
# 只有两个值:True和False
b1 = True
b2 = False
print(b1,b2)
# 如果布尔型的数据和数字进行数学运算,True会被当成1使用,False会被当成0使用
print(b1 + 1)
print(b2 + 1)
​
# 后期会重点讲解的数据类型,目前了解
# a.列表:list
list1 = [34,6,8,9,9]
print(list1)
​
# b.元组:tuple
tuple1 = (34,6,8,9,9)
print(tuple1)
​
# c.字典:dict
dict1 = {'a':10,'b':20,'c':30}
print(dict1)
​
# d.集合:set
set1 = {45,2,7,9,0,29}
print(set1)
​
# e.字节:bytes
by1 = b'5fhkgh'
print(by1)
​
# f.空值:NoneType
# 只有一个值:None
n = None
print(n)
​
# 2.在定义变量的同时可以声明类型,后期才会用到
name:str = 'abc'
​
# 3.定义多个变量
# a
x1 = x2 = x3 = 88
print(x1,x2,x3)
​
# 等价于
x1 = 88
x2 = 88
x3 = 88
​
# b.
y1,y2,y3 = 66,77,88
print(y1,y2,y3)
​
# 注意:在默认情况下,当同时定义多个变量,变量和数据的数量一定要保持一致
# y1,y2,y3 = 66,77,88,99  # ValueError: too many values to unpack (expected 3)
# y1,y2,y3,y4 = 66,77,88  # ValueError: not enough values to unpack (expected 4, got 3)
3.变量的使用

变量命名法:所有的字母全小写,不同单词之间使用下划线连接

常量命名法:所有的字母全大写,不同单词之间使用下划线连接

# 1.可以给变量重新赋值
# 注意:Python的代码是从上往下依次执行的
num = 10            # 10被称为初始值
print(num)
num = 888           #888被称为重新赋的值
print(num)
​
# 2.id(x)是系统功能,获取数据x在计算机内存中的地址
# 注意:每定义一个变量,变量就需要在内存中开辟空间
# 获取一个变量的地址,实际获取的是该变量中存储的数据的地址
a = 56
print(id(a))
print(id(56))
​
# 3.type(x)是系统功能,获取数据x的数据类型
a1 = 67
a2 = '67'
print(a1,type(a1))    # 67 <class 'int'>
print(a2,type(a2))    # 67 <class 'str'>
​
b1 = True
print(type(b1))      # <class 'bool'>
​
# 注意:但凡通过input从控制台输入的数据,不管输入什么数据,类型都是字符串
# age = input("请输入你的年龄:")
# print(age,type(age))   # 18 <class 'str'>
​
# 4.常量
# 注意:在程序中,如果希望一个变量表示的值不被修改,则将该变量定义为常量
# 变量命名法:所有的字母全小写,不同单词之间使用下划线连接
# 常量命名法:所有的字母全大写,不同单词之间使用下划线连接
​
# 常量命令法只是一个标记或提示作用,非要重新赋值,还是可以正常操作的
PI = 3.14
print(PI)
​
# PI = 'gaga'
# print(PI)
4.变量的应用
# 1.【面试题】交换两个变量的值
# a.方式一:增加一个中间变量    *******
num1 = 10
num2 = 20
temp = num1
num1 = num2
num2 = temp
print(num1,num2)
# b.方式二:Python中特有的语法      ******
num1 = 10
num2 = 20
num1,num2 = num2,num1
print(num1,num2)
# c.方式三:加减法
num1 = 10
num2 = 20
num1 = num1 + num2   # num1 = 10 + 20
num2 = num1 - num2   # num2 = 30 - 20 = 10
num1 = num1 - num2   # num1 = 30 - 10= 20
print(num1,num2)
​
# 2.【面试题】打包和拆包
# y1,y2,y3 = 66,77,88,99  # ValueError: too many values to unpack (expected 3)
​
# *:所有
# 打包
y1,y2,*y3 = 66,77,88,99,5,7,87,9,45,67,8
print(y1,y2,y3)
y1,*y2,y3 = 66,77,88,99,5,7,87,9,45,67,8
print(y1,y2,y3)
*y1,y2,y3 = 66,77,88,99,5,7,87,9,45,67,8
print(y1,y2,y3)
​
# 拆包
a,b,c  = [4,6,8]
print(a,b,c)
a,b,c  = (4,6,8)
print(a,b,c)
a,b,*c  = (4,6,8,45,67,8,90)
print(a,b,c)
5.删除变量

定义变量:从无到有,语法:变量名 = 值,是在计算机的内存中开辟空间的过程删除变量:从有到无,语法:del 变量名,该变量在计算机内存中占用的空间被销毁的过程

# 1.定义变量
name = 'zhangsan'
print(name)
​
# 2.删除变量
del name
# 注意:一个变量一旦被删除,相当于该变量未被定义,所以变量一定要先定义,然后才能使用
# print(name)   # NameError: name 'name' is not defined
​
print(num)  # NameError: name 'num' is not defined
6.变量的类型转换

int(x):将x转换为整型

float(x):将x转换为浮点型

str(x):将x转换为字符串,x可以是任意类型

bool(x):将x转换为布尔型

# 需求:假设人的最长寿命是130,从控制台输入年龄,计算剩余寿命
# age = input("请输入你的年龄:")
# 错误写法:
# print(f"剩余寿命:{130 - age}") # TypeError: unsupported operand type(s) for -: 'int' and 'str'
​
# 正确写法
# a
# age = input("请输入你的年龄:")
# 注意:int(x):x作为一个字符串,只能由0-9的数字组成
# print(f"剩余寿命:{130 - int(age)}")
​
# b.
# age = input("请输入你的年龄:")   # str
# age = int(age)  # 重新赋值,int
# print(f"剩余寿命:{130 - age}")
​
# c.
age = int(input("请输入你的年龄:"))   # int
print(f"剩余寿命:{130 - age}")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值