Python学习笔记 -- 基础语法篇

目录

[一. 数据类型](#一. 数据类型)

[二. 注释](#二. 注释)

[三. 输入输出及强制类型转换](#三. 输入输出及强制类型转换)

[3.1 print和input](#3.1 print和input)

[3.2 强制类型转换](#3.2 强制类型转换)

[四. 运算符](#四. 运算符)

[4.1 算数运算符](#4.1 算数运算符)

[4.2 比较运算符](#4.2 比较运算符)

[4.3 逻辑运算符](#4.3 逻辑运算符)

[五. 多元赋值](#五. 多元赋值)

[六. 条件语句](#六. 条件语句)

[七. 循环语句](#七. 循环语句)

[7.1 while循环](#7.1 while循环)

[7.2 for循环](#7.2 for循环)

[7.3 continue和break](#7.3 continue和break)


一. 数据类型

与C/C++不同,python支持自动类型推导,不需要显示声明变量的类型(显示声明也可),++使用print(type(变量名))可以获取变量的类型++,python的内置变量类型有整形int、字符串类型str、布尔类型bool以及浮点数类型float:

整形int

语法:a = 10 -- 隐藏类型,显示声明为a:int = 10

复制代码
a = 10
b:int = 10
print(type(a))   # <class 'int'>
print(type(b))   # <class 'int'>

字符串类型str

语法:s = 'abc' ,显示声明为:s:str = 'abc'

python为弱语言,还支持双引号(")和三引号(''')来表示字符串,++printf(s1 + s2)表示输出两个字符串连接后的结果,len(str)可以获取字符串的长度++。

复制代码
s1 = 'abc'
s2:str = 'def'
s3 = "hello"
s4 = '''world'''

print(type(s1))    # <class 'str'>
print(type(s3))    # <class 'str'>
print(type(s4))    # <class 'str'>

print(s1 + s2)     # abcdef
print(s3 + s4)     # helloworld

print(len(s1))     # 3
print(len(s3))     # 3
print(len(s4))     # 5

布尔类型bool

布尔类型,即真假类型,++只有True和False两种数据++,注意与C/C++的true/false区分。

复制代码
b1 = True
b2 = False
b3:bool = True

print(type(b1))  # <class 'bool'>
print(b1)        # True
print(b2)        # False

浮点数类型float

浮点数类型,即小数类型,python不区分单精度浮点数和双精度浮点数,float类型遵守C/C++同样的IEEE 754标准。

复制代码
f1 = 3.14
f2:float = 1.2345
print(type(f1))   # <class 'float'>
print(f1)         # 3.14
print(f2)         # 1.2345

二. 注释

在python中,注释可以分为两种:(1). 行注释 (2). 文档注释

其中行注释采用 # ,文档注释采用一对三引号来注释 ''' '''。

复制代码
a = 10   # 行注释
'''
文档内容注释
'''
print(a)

三. 输入输出及强制类型转换

3.1 print和input

print是Python自带的打印输出函数,类似于C/C++的printf,print支持格式化的输出数据,print的使用语法如下:

  • print(val) -- 打印出变量val的值。

  • print(f'val = {val}'),其中单引号外面的f表示格式化输出,{val}表示获取变量val的值。

    a = 10
    print(a) # 10
    print(f'a = {a}') # a = 10

input用于在键盘上输入数据,来给某个特定的变量赋值,input的使用语法为:

  • val = input('提示信息') -- 从键盘输入中获取val的值。

++**注意:**从input接收数据的变量,默认类型都是str,如果要进行运算,需要进行强转类型转换。++

复制代码
val = input('请输入val的值:')
print(type(val))     # <class 'str'>
print(f'val = {val}')

3.2 强制类型转换

python进行强转类型转换的语法为:类型(变量名)

这里要注意与C/C++进行区分,C/C++的强转类型转换时类型用括号括起来 -- (类型)变量名,python是变量名称用括号括起来 -- 类型(变量名)。

转整形:int(a); 转字符串:str(a);转浮点数float(a);

复制代码
val = input('请输入val的值:')
print(type(val))   # <class 'str'>
val = int(val)
print(type(val))   # <class 'str'>

四. 运算符

4.1 算数运算符

常见的算数运算符如:+ - * / %,与C/C++中的加、减、乘、除、取模意义完全相同,python引入了两个新的算数运算符:** 和 //。

  • ** 运算符:开方运算,a ** b 表示a的b次方。
  • // 运算符:地板除法,获取的结果向下取整。

python支持+=、-=、*=、/=运算符,但是不支持++、-- 运算符。

复制代码
a = 2
print(a ** 4)   # 计算a的4次方
b = -10
print(b // 3)   # -10地板除3,结果为-4

4.2 比较运算符

python支持>、<、>=、<=、==比较运算符。

python的比较运算符与C/C++有以下两点不同:

  • python支持使用 == 运算符直接比较两个字符串,也可以使用> < >= <= 按照字典序比较字符串类型数据大小,C/C++必须调用函数来对字符串进行比较。

  • python支持连续比较,如 1 <= 2 <= 3 或者 2 == 2 == 2 在python中是被允许的,而在C/C++中连续比较则是被禁止的。

    str1 = 'abc'
    str2 = 'abc'
    str3 = 'abc'
    print(str1 == str2 == str3) # True
    print(1 <= 2 <= 3) # True
    print(5 == 5 < 2) # False
    print(10 > 9 > 3) # True

4.3 逻辑运算符

  • **and:**逻辑与,两侧条件均成立为真,否则为假。
  • **or:**逻辑或,两侧条件其中至少一个成立为真,都不成立为假。
  • **not:**逻辑非,真变假,假变真。

在python中,and和or依然遵循C/C++的短路求值规则。

**condition1 and condition2:**若condition1不成立,那整个表达式不可能成立,不再对condition2进行判断,直接返回假。

condition1 or condition2:若condition1成立,那整个表达式就一定成立,不再对condition2进行判断,直接返回真。

复制代码
print(1 == 2 or 1 == 1)  # True
print(1 > 2 or 2 == 2)   # True
print(not 1 > 2)   # True
print(not 1 < 2)   # False

五. 多元赋值

多元赋值,即:通过单条语句,实现对多个变量的赋值操作。

语法:变量1,变量2,... = 值1,值2,...

但是,多元赋值在实际的项目开发中并不推荐,如:a,b=10,20 b,a=a,b,可以实现a和b的值交换操作,这样会降低代码的可读性。

复制代码
val1,val2,val3 = 10,20,30
print(val1,val2,val3)   # 10 20 30

a,b = 10,20
b,a = a,b
print(a,b)  # 20 10

六. 条件语句

python支持 if、if - else、if - elif - else 结构的条件判断,语法结构如下图。

++**注意:**在python中,if中的do_something模块,是依靠缩进来划分的,在C/C++中是依据双大括号{}来进行划分的,相比于C/C++,python对缩进有严格的要求。++
图6.1 python条件判断语法

复制代码
a = int(input('请输入a的值:'))

if a == 1:
    print('hello world')
elif a == 2:
    print('hello python')
else:
    print('good morning')

七. 循环语句

7.1 while循环

while循环的语法:

while 条件:

循环体

代码示例:使用while循环计算 1 + 2 + 3 + ... + 99 + 100。

复制代码
sum = 0
i = 1
while i <= 100:
    sum += i
    i += 1
print(f'sum = {sum}')

7.2 for循环

for循环的语法:

for 循环变量 in 可迭代对象:

循环体

**可迭代对象:**内部包含许多值的特殊变量,在for循环中,一般采用range类型的可迭代对象,其中range的定义语法为:range(begin, end, step)

  • 其中begin和end为可迭代对象中,数值的左右区间,遵循左闭右开原则,即:[begin, end),step表示步长,如range(2,12,2)就表示:2, 4, 6, 8, 10。
  • step是可以省略的,默认值为1,如range(1,6)表示:1, 2, 3, 4, 5。
  • step可以为负数,如range(5,0,-1)表示:5, 4, 3, 2, 1。

代码示例:使用for循环计算2 + 4 + 6 + ... + 18 + 20。

复制代码
sum = 0
for num in range(2, 21, 2):
    sum += num
print(f'sum = {sum}')   # sum = 110

7.3 continue和break

  • **continue:**用于终止本层循环,直接进入下一层循环。
  • **break:**终止整个循环。

代码示例:采用while True循环,打印1 ~ 10,其中略去5不打印。

复制代码
num = 0
while True:
    num += 1
    if num == 5:
        continue
    if num > 10:
        break
    print(f'num = {num}')
相关推荐
帅云毅26 分钟前
Web3.0的认知补充(去中心化)
笔记·学习·web3·去中心化·区块链
豆豆26 分钟前
day32 学习笔记
图像处理·笔记·opencv·学习·计算机视觉
逢生博客36 分钟前
使用 Python 项目管理工具 uv 快速创建 MCP 服务(Cherry Studio、Trae 添加 MCP 服务)
python·sqlite·uv·deepseek·trae·cherry studio·mcp服务
堕落似梦42 分钟前
Pydantic增强SQLALchemy序列化(FastAPI直接输出SQLALchemy查询集)
python
nenchoumi31191 小时前
VLA 论文精读(十六)FP3: A 3D Foundation Policy for Robotic Manipulation
论文阅读·人工智能·笔记·学习·vln
凉、介1 小时前
PCI 总线学习笔记(五)
android·linux·笔记·学习·pcie·pci
坐吃山猪2 小时前
Python-Agent调用多个Server-FastAPI版本
开发语言·python·fastapi
Bruce-li__2 小时前
使用Django REST Framework快速开发API接口
python·django·sqlite
鬼面瓷2 小时前
CAPL编程_03
前端·数据库·笔记
小兜全糖(xdqt)2 小时前
python 脚本引用django中的数据库model
python·django