数字类型
python提供了3种数字类型:整数(int)、浮点数(float)、复数(complex),常用的是整数和浮点数。
python
# 整数类型
age = 25
big_number = 9999999999999999999999999999999999999999
print(f"年龄:{age}")
print(type(big_number))
python
# 浮点数----的精度问题
result = 0.1 + 0.2
print(f"0.1 + 0.2 = {result}")
print(f"结果是否等于0.3:{result == 0.3}")
python
# 复数
complex_num1 = 3+4j
complex_num2 = complex(5,6)
print(f"复数1:{complex_num1}")
print(f"复数2:{complex_num2}")
print(f"复数1的实部:{complex_num1.real}")
print(f"复数1的实部:{complex_num1.imag}")
字符串类型
python
# 字符串常用操作
text = " Python Programming "
print(f"原始字符串:'{text}'")
print(f"去掉空格:'{text.strip()}'")
print(f"转大写:'{text.upper()}'")
print(f"转小写:'{text.lower()}'")
print(f"替换内容:'{text.replace('Python','Java')}'")
print(f"字符串长度:'{len(text)}'")
print(f"是否包含Python:{'Python' in text}")
python
#字符串索引和切片
greeting = "Hello, Python"
print(f"第一个字符:{greeting[0]}")
print(f"最后一个字符:{greeting[-1]}")
print(f"前5个字符:{greeting[:5]}")
print(f"后7个字符:{greeting[-7:]}")
print(f"中间部分:{greeting[7:13]}")
print(f"反转字符串:{greeting[::-1]}")
布尔类型
python
# 布尔类型
is_student = True
is_working = False
# 空值的布尔转换
empty_string = ""
empty_list = []
zero = 0
print(f"空字符串的布尔值:{bool(empty_string)}")
print(f"空列表的布尔值:{bool(empty_list)}")
print(f"零的布尔值:{bool(zero)}")
数据类型转换
python
# 字符串转数字
str_num = "123"
int_num = int(str_num)
float_num = float(str_num)
print(f"字符串:{str_num} (类型:{type(str_num)})")
print(f"整数:{int_num} (类型:{type(int_num)})")
print(f"浮点数:{float_num} (类型:{type(float_num)})")
python
# 数字转字符串
number = 456
str_number = str(number)
print(f"数字转字符串:{str_number} (类型:{type(str_number)})")
实例应用场景
python
user_input = input("请输入一个数字:")
try:
number = int(user_input)
result = number * 2
print(f"你输入的数字乘以2等于: {result}")
except ValueError:
print("输入的不是有效数字!")
算术运算符
python
# 基本算术运算
a = 10
b = 3
print(f"加法:{a} + {b} = {a+b}")
print(f"减法:{a} - {b} = {a-b}")
print(f"乘法:{a} * {b} = {a*b}")
print(f"除法:{a} / {b} = {a/b}")
print(f"整除:{a} // {b} = {a//b}")
print(f"取摸:{a} % {b} = {a%b}")
print(f"幂运算:{a} ** {b} = {a ** b}")
# 实际应用:计算复利
principal = 1000 # 本金
rate = 0.05 # 年利率 5%
time = 3 #3年
compound_interest = principal * (rate + 1) ** time
profit = compound_interest - principal
print(f"本金:{principal} 元")
print(f"年利率:{rate * 100} %")
print(f"时间:{time} 元")
print(f"复利后金额:{compound_interest:.2f} 元")
print(f"利润:{profit:.2f} 元")
比较运算符
python
# 比较与那算符示例
x = 10
y = 5
print(f"{x} > {y} = {x > y}")
print(f"{x} < {y} = {x < y}")
print(f"{x} >= {y} = {x >= y}")
print(f"{x} <= {y} = {x <= y}")
print(f"{x} == {y} = {x == y}")
print(f"{x} != {y} = {x != y}")
# 字符串比较
name1 = "Alice"
name2 = "Bob"
print(f"字符串比较:{name1} < {name2} = {name1 < name2}") # 安字典序比较
# 实际应用:成绩评级
score = 85
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
elif score >= 60:
grade = "D"
else:
grade = "F"
print(f"成绩:{score} 分,等级:{grade}")
逻辑运算符
python
# 逻辑运算符示例
age = 25
has_job = True
has_car = False
# and运算符:所有条件都为True时结果才为True
can_rent_car = age >= 21 and has_job
print(f"可以租车:{can_rent_car}")
# or运算符:任意一个条件为True时结果才为True
can_travel = has_car or age >= 18
print(f"可以旅行:{can_travel}")
# not运算符:取反
is_minor = not (age >= 18)
print(f"是未成年人:{is_minor}")
# 复杂逻辑判断
username = "admin"
password = "123456"
is_admin = username == "admin" and password == "123456"
print(f"是管理员:{is_admin}")
赋值运算符
python
# 基本赋值和复合赋值
count = 10
print(f"初始值:{count}")
count += 5
print(f"加5后:{count}")
count -= 3
print(f"减3后:{count}")
count *= 2
print(f"乘2后:{count}")
count //= 4
print(f"整除4后:{count}")
# 实际应用:累加计算
total = 0
numbers = [1,2,3,4,5]
for num in numbers:
total += num
print(f"加入 {num} 后,总和为:{total}")
print(f"最终总和:{total}")
位运算符
python
# 位运算符示例
a = 12
b = 5
print(f"a = {a}(二进制:{bin(a)})")
print(f"b = {b}(二进制:{bin(b)})")
print(f"b & b = {a & b}(按位与)")
print(f"b | b = {a | b}(按位或)")
print(f"b ^ b = {a ^ b}(按位异或)")
print(f"~a = {~a}(按位取反)")
print(f"a << 1 = {a << 1}(左移 1 位)")
print(f"a >> 1 = {a >> 1}(右移 1 位)")
成员运算符和身份运算符
python
# 成员运算符
fruits = ["apple", "banana", "cherry"]
print(f"apple在列表中: {'apple' in fruits}")
print(f"grape不在列表中: {'grape' not in fruits}")
# 字符串中的成员运算
text = "hello,python"
print(f"python在字符串中: {'python' in text}")
# 身份运算符
list1 = [1,2,3]
list2 = [1,2,3]
list3 = list1
print(f"list1 is list2: {list1 is list2}")
print(f"list1 is list3: {list1 is list3}")
print(f"list1 == list2: {list1 == list3}")
# 小整数对象的特殊情况
x = 100
y = 100
print(f"x is y:{x is y}") #小整数有缓存