Skip to content

核心语法

数据存储与运算

字面量与变量

什么是字面量(literal)

字面量就是直接写在代码里的具体值

布尔类型本质是数字类型,在涉及到数学运算时,会自动将True转换为1,False为0

字面量的特点:

  • 不需要先定义就能使用
  • 写出来是什么值,运行时就是什么值

什么是变量(variable)

变量:程序中用来存储单个数据容器。可以理解为给一个值起名字,便于重复使用更新

python
age = 18
name = "Edgar"
  • name,age变量名 。18,Edgar是变量值
  • = 在这里叫赋值:把右边的值放到左边这个变量名对应的位置
  • Python 变量不需要声明类型,解释器会根据赋的值推断

变量命名规则(非常重要)

  • 只能由:字母、数字、下划线 _ 组成
  • 不能以数字开头:1a
  • 不能是关键字:classforif 等❌

变量命名规范

  • 建议使用 小写 + 下划线(snake_case):user_nametotal_price
  • 见名知意:name、age、color 避免:a1tmp(除非临时变量)

常见赋值写法(不懂可以先了解)

(1)同时赋值

python
x, y = 1, 2

(2)交换变量

python
a, b = b, a

(3)链式赋值(慎用,容易读错)

python
a = b = 0

(4)增量赋值

python
count = 0
count += 1
count -= 1
count *= 2
count /= 2

变量与类型:动态类型 + 强类型

  • 动态类型:变量本身不固定类型,值决定类型
  • 强类型:不同类型之间不会自动随意转换
python
x = 1
x = "one"  # 合法:x 现在变成 str

1 + "1"     # 报错:TypeError

练习

🤔️ 现有三个变量,分别为:a=100,b = 200,c = 300,现需要将这三个变量值进行交换,将a,b,c的值分别赋值给c,a,b,并将其输出到控制台。

python
a = 100
b = 200
c = 300

temp = a
a = b
b = c
c = temp

print(a)
print(b)
print(c)

常见数据类型

Python中常见的基础数据类型

可通过type( )语句来得到数据的类型,具体语法为:type(要查看类型的数据源)

python
# type(...)
print(type("hello") #str
print(type(10) #int
print(type(3.14) #float

通过isinstance( )检查数据是否属于指定的类型,返回的是一个bool值

python
num = 5.0
print(num)
print(isinstance(num,int)) #False

字符串

字符串拼接

python
KFC = "疯狂星期四" + "吃肯德基"
print(KFC)

date = "疯狂星期四"
eat = "吃"
kfc = "肯德基"
print(date + eat + kfc)

字符串格式化

f-string(推荐格式化方式)

python
name = "Edgar"
age = 18
print(f"{name} is {age} years old")

字符串的一下用法(先了解)

字符串是字符的序列,支持索引、切片和大量方法。

python
s = "Python"
print(s[0])    # P
print(s[-1])   # n
print(s[1:4])  # yth

常用操作:

  • 拼接:"a" + "b"
  • 重复:"ha" * 3
  • 成员判断:"Py" in "Python"
  • 长度:len(s)

常用方法:

python
text = "  hello world  "

print(text.strip())       # 移除字符串首尾的空白字符(空格、制表符等)
# 输出: "hello world"

print(text.upper())       # 将所有字母转换为大写(原字符串中的空格保留)
# 输出: "  HELLO WORLD  "

print(text.replace("world", "python"))  # 将子串 "world" 替换为 "python"
# 输出: "  hello python  "

print("a,b,c".split(",")) # 以逗号为分隔符拆分字符串,返回一个列表
# 输出: ['a', 'b', 'c']

空值:None

  • 表示“没有值”或“缺失”
  • 常用作默认值或占位
python
result = None

输入与输出

1. 输入:input()

input() 会把用户输入读成 字符串 str

python
name = input("请输入名字:")
print(name)

输入数字时要手动转换

python
age = int(input("请输入年龄:")) #把字符串类型转为int类型
print(age + 1)

一次输入多个值

python
a, b = input("输入两个数,用空格分隔:").split() #显示提示信息,等待用户输入。用户输入如 "10 20",返回字符串 "10 20"。默认按空白(空格、制表符等)拆分字符串,返回列表 ["10", "20"]。通过解包将列表的两个元素分别赋值给变量 a 和 b(此时它们仍是字符串)。
a = int(a)
b = int(b) #将两个字符串转换为整数类型。
print(a + b)

2. 输出:print()

python
print("hello")
print(1, 2, 3)

常用参数:

  • sep:多个参数之间的分隔符
  • end:结尾默认换行,可改成不换行
python
print(1, 2, 3, sep="-")     # 1-2-3
print("hi", end="")
print("there")             # hithere

3. 常见错误与排查

  • ValueError:类型转换失败(输入了非数字)
  • EOFError:没有读到输入(某些运行环境不提供交互输入)

建议做法:先 print() 看一下读到了什么,再转换。

练习

🤔️需求:根据用户输入的两个数字,计算两个数之和,并将其输出到控制台。

python
num1 = int(input("请输入第一个数字: "))
num2 = int(input("请输入第二个数字: "))

print(f"{num1} + {num2} = {num1 + num2}")

运算符

算术运算符

  • +
  • -
  • *
  • / 除(结果为 float)
  • // 整除
  • % 取余
  • **
python
print(7 / 2)    # 3.5
print(7 // 2)   # 3
print(7 % 2)    # 1
print(2 ** 3)   # 8

比较运算符(返回 bool)

  • == 等于
  • != 不等于
  • ><>=<=
python
print(3 > 2)   # True

链式比较

python
x = 5
print(1 < x < 10)  # True

逻辑运算符

  • and:都真才真
  • or:有真即真
  • not:取反
python
age = 18
is_student = True
print(age >= 18 and is_student)

赋值运算符

  • =
  • +=-=*=/=//=%=**=

成员运算符

  • in
  • not in
python
print("a" in "cat")
print(3 in [1, 2, 3])

身份运算符(对象是否同一个)

  • is
  • is not
python
a = [1, 2]
b = [1, 2]
print(a == b)  # True:值相等
print(a is b)  # False:不是同一个对象

位运算符(了解即可)

  • &|^~<<>>

运算符优先级(常用记忆法)

从高到低(常用部分):

  1. 括号 ()
  2. **
  3. 乘除取余 * / // %
  4. 加减 + -
  5. 比较 == != > < >= <=
  6. not
  7. and
  8. or

不确定时:加括号,可读性更好也更安全。