Python•输入输出基本运算
ʕ⸝⸝⸝˙Ⱉ˙ʔ ♡
- 输出🧀
- 长字符串
- 不能变的
- id() 函数
- E记法
- f-string输出方式
- 基本语法
- 嵌套表达式和函数调用
- 格式化选项
- 数字格式化
- 对齐和填充
- 千分位分隔符
- 百分比表示
- 多行 f-string
- 输入🥯
- 提示语
- 得到特定类型的输入
- 基本数学运算🍕
- 加与减
- 自增与自减
- 乘与除
- 幂运算
- 数据类型(初步)🍔
- 类型转换
- type()函数
- 能量站😚
输出🧀
🧀Python定义变量时不用写类型【Python 是一种动态类型语言,在定义变量时不需要显式地声明变量的类型。也就是说,你可以直接给变量赋值,Python 会根据所赋的值自动推断变量的类型。】
🧀被单引号或双引号引住的会识别为字符串,字符串可以用+
连接起来
a = 1
b = 2
print(a+b)
print('a+b')
print('a'+'b')
print("a"+"b")
运行截图:
长字符串
如果希望多行文本显示在一起,又不希望每一行都使用一个单独的字符串,即输出一整个大块的字符串,那么就可以使用三重引号,即'''
或 """
。
a = '''I love who you are
not the one who the world wants you to be
And
I hope you love yourself'''
print(a)
运行截图:
不能变的
在Python中,数字和字符串是不能变的。这意味着一旦创建了一个数字或字符串对象,就不能更改其内容。任何看似修改的操作实际上都是创建了一个新的对象,并将变量指向这个新对象。你可以把它们的名字重新指派到其他东西上,但是并不能对原先的东西做任何改变。
# 定义一个数字和一个字符串
num = 10
s = "Hello"
# 尝试修改数字
num += 5 # 这实际上是创建了一个新的整数对象,并将变量num指向新的对象
print(num) # 输出: 15
# 尝试修改字符串
s += " World" # 这实际上是创建了一个新的字符串对象,并将变量s指向新的对象
print(s) # 输出: Hello World
# 验证原始对象是否被改变
original_num = 10
print(id(num), id(original_num)) # 输出不同的id,说明num指向了新的对象
# 对于字符串
original_s = "Hello"
print(id(s), id(original_s)) # 输出不同的id,说明s指向了新的对象
运行截图:
id() 函数
在Python中,id()
函数返回的是对象的唯一标识符,这个标识符实际上就是对象在内存中的地址。
特殊情况: Python 对小整数(通常在 -5 到 256
之间)和一些短字符串进行了优化,这些对象会被缓存和重用。即对于这些范围内的对象,如果创建多个变量,但赋值为相同的值,那么它们的 id (即地址)可能相同。
a = 256
b = 256
print(id(a) == id(b)) # 输出 True
c = 257
d = 257
print(id(c) == id(d)) # 输出 False(在某些实现中可能为 True,但不保证)
e = "hello"
f = "hello"
print(id(e) == id(f)) # 输出 True
g = "hello world!"
h = "hello world!"
print(id(g) == id(h)) # 输出可能是 True 或 False,取决于Python的优化策略
运行截图:
E记法
E记法(也称为科学计数法)在Python中用于表示非常大或非常小的数字。它使用字母e
或E
来表示“乘以10的幂”。
🧀初步了解
# 使用小写e
num1 = 6e3 # 等于 6 × 10³ = 6000
print(num1) # 输出: 6000.0
# 使用大写E
num2 = 2E5 # 等于 2 × 10⁵ = 200000
print(num2) # 输出: 200000.0
# 负指数表示小数
num3 = 5e-2 # 等于 5 × 10⁻² = 0.05
print(num3) # 输出: 0.05
运行截图:
🧀f-string
使用E记法输出
除非指定输出格式,或者数字确实非常大或非常小,否则不会用E记法显示数字。
num = 123456789.123456789
# 使用小写e
print(f"{num:e}") # 输出: 1.234568e+08
# 指定小数点后保留两位
print(f"{num:.2e}") # 输出: 1.23e+08
# 指定总宽度为10个字符,不加对齐符号默认右对齐,保留三位小数
print(f"{num:10.3e}") # 输出: 1.235e+08
# 使用大写E
print(f"{num:E}") # 输出: 1.234568E+08
运行截图:
f-string输出方式
f-string
(格式化字符串字面量)是一种用于字符串格式化的强大且简洁的方法【Python 3.6 以前的版本没有哦】。f-string
在运行时通常比其他字符串格式化方法(如 %
格式化或 str.format()
)更快,因为它们在编译时进行了优化。
基本语法
f-string
的基本语法是在字符串前加上字母 f
或 F
,然后在字符串中使用大括号{}
包裹需要嵌入的表达式。这些表达式会在运行时被求值并转换为字符串,然后插入到相应的位置。
name = "浩浩kids"
greeting = f"Hello, my name is {name} and I hope you happy everyday."
greeting = F"Hello, my name is {name} and I hope you happy everyday."
print(greeting)
print(f"Hello, my name is {name} and I hope you happy everyday.")
print(F"Hello, my name is {name} and I hope you happy everyday.")
运行截图:
嵌套表达式和函数调用
f-string
不仅可以嵌入变量,还可以包含函数调用和复杂的表达式。
🧀函数调用
# 定义一个函数,名为double,参数为x
def double(x):
# 返回x乘以2的结果
return x * 2
number = 5
message = f"The double of {number} is {double(number)}."
print(message)
运行截图:
🧀复杂的表达式
a = 10
b = 3
result = f"{a} plus {b} equals {a + b}, and {a} times {b} is {a * b}."
print(result)
运行截图:
格式化选项
f-string
允许我们在 {}
内部指定格式化选项,以控制输出的格式。格式化选项放在冒号 :
后面。
数字格式化
控制输出的小数位数。
pi = 3.1415926535
formatted_pi = f"Pi rounded to two decimal places: {pi:.2f}"
print(formatted_pi)
运行截图:
对齐和填充
在 Python 的格式化字符串(f-string
)中,如果不指定对齐符号,默认情况下是右对齐。
text = "Python"
left_aligned = f"{text:<10}" # 左对齐,总宽度为10
right_aligned = f"{text:>10}" # 右对齐,总宽度为10
center_aligned = f"{text:^10}" # 居中对齐,总宽度为10
filled = f"{text:*^10}" # 居中对齐,并用*填充,总宽度为10
print(left_aligned) # 输出: Python
print(right_aligned) # 输出: Python
print(center_aligned) # 输出: Python
print(filled) # 输出: **Python**
运行截图:
千分位分隔符
number = 1234567890
formatted_number = f"{number:,}"
print(formatted_number)
运行截图:
百分比表示
ratio = 0.75
percent = f"{ratio:.1%}"
print(percent)
print(f"{ratio:.2%}")
运行截图:
多行 f-string
f-string
也可以跨越多行,只需在字符串中使用三引号'''
或 """
。
name = "Athena"
age = 18
message = f"""
Name: {name}
Age: {age}
"""
print(message)
运行截图:
输入🥯
提示语
🥯print()
函数的end
默认为换行符,可以改成其他的,比如这里的end
什么都不写,使提示语和输入在同一行显示。
print(f"请输入您的姓名:", end='')
name = input()
print(f"您好,{name}!")
运行截图:
🥯input()
函数里也可以直接添加提示语。
name = input("请输入您的姓名:")
print(f"您好,{name}!")
运行截图:
得到特定类型的输入
🥯得到浮点型
a = float(input("请输入一个数字:"))
print(type(a))
print(a)
运行截图:
🥯如果没有进行额外的类型转换,输入的内容默认是字符串类型。
a = input("请输入一个数字:")
print(type(a))
print(a)
运行截图:
🥯这样会报错哦
a = int(input("请输入一个数字:"))
print(type(a))
print(a)
运行截图:
原因是input()
函数总是返回字符串类型,但int()
函数只能转换不带小数点的数字字符串。
解决办法:
由于float()
函数可以转换带有小数点的数字字符串,所以我们可以把输入的字符串先转换为float
型,再转化为int
型。
a = int(float(input("请输入一个数字:")))
print(type(a))
print(a)
运行截图:
基本数学运算🍕
默认运算顺序:指数运算(即幂运算)最优先,然后是乘除运算,最后是加减运算。如果希望改变默认的运算顺序,即先完成某个运算,只需要在它的两边加上括号即可,跟我们平时的数学是一样的。
print((2 + 3) * 4)
运行截图:
加与减
print(600 - 80)
print(1300 + 14)
运行截图:
自增与自减
Python中没有++
和--
运算符用于自增(增加1)和自减(减少1)。我们可以使用 +=
和 -=
运算符来增加或减少变量的值(可以增加1、减少1,也可以增加或减少其他数值)。
# 初始化变量
a = 10
print(f"初始值 a = {a}") # 输出: 初始值 a = 10
# 自增操作
a += 1
print(f"自增后 a = {a}") # 输出: 自增后 a = 11
# 自减操作
a -= 2
print(f"自减后 a = {a}") # 输出: 自减后 a = 9
运行截图:
乘与除
小数除法:Python使用运算符/
实现小数除法,即得到的结果是小数,有小数点。
整数除法:Python使用运算符//
来得到商,使用运算符%
来得到余数。
print(7 / 2) #小数除法
print(6 / 2)
print(7 // 2) #整除,得到商
print(7 % 2) #取余,也叫取模,得到余数
运行截图:
幂运算
Python使用运算符**
来实现幂运算。
print(2 ** 3)
print(2 ** 4.2) #也可以用非整数作为指数
运行截图:
数据类型(初步)🍔
类型转换
关于类型转换:Python并没有把一个东西从一种类型“转换”为另一种类型【没有改变原来的东西】。它只是由原来的东西创建了一个新东西,而且这个新东西正是你想要的类型。
贝贝看到小括号了吗?说明它们不是Python关键字,而是Python的内置函数哦⬇️
float()
:由字符串或整数创建新的浮点数(小数)。int()
:由字符串或浮点数创建新的整数。str()
:由数值或其他任意类型创建新的字符串。
🍔将整数转换为浮点数
a = 52
b = float(a)
print(a)
print(b)
运行截图:
变量a
保持不变,因为类型转换不会改变原来的值,它只会创建新值。
🍔将浮点数转换为整数
a = 54.99
b = int(a)
print(a)
print(b)
运行截图:
尽管54.99
与55
很接近,但是得到的整数仍然是54
。这是因为int()
函数总是向下取整。它不会给你最接近的整数,而是会给出不超过原来数字的最大的整数。实际上,int()
函数所做的就是去掉小数部分。
🍔将字符串转化为浮点数
a = '66.6'
b = float(a)
print(type(a)) #使用type()函数返回数据类型
print(type(b))
运行截图:
str
代表字符串(string)
type()函数
type(object)
参数说明:
- object:要检查类型的对象。
- 返回值:返回对象的类型。
能量站😚
过往木已成舟,但未来的目标一定是可以改变的。
❤️进步ing❤️