Python(1)

1.变量

python中的变量声明和C++中的不一样

python中生命变量可以不用显示变化 并且变量类型在执行过程中是动态的

同时python也是可以定义类型的 但是和C++不一样

python用的是 变量名:类型

python中有type函数可以查看变量类型

Python 中的变量的类型,不需要在定义变量的时候显式声明.

而只是依靠初始化语句,根据初始化的值的类型来进行确定的.

在 Python, int 能够表示的数据范围,是 "无穷" 的.

Python 的 int 是可以根据要表示的数据的大小,自动扩容~

因此 Python 这里就没有 long 这样的类型了

像 byte, short 这些类型在 Python 中也不存在

Python 中的 float

就是双精度浮点数.

等同于 C++/Java 里的 double

把一个二进制位,称为一个 bit

8 个 bit 放在一起,就称为是一个 字节

double 是八个字节的,也叫做 "双精度浮点数"

2.字符串类型

python中的字符串类型是str 也就是string的缩写

python中没有字符类型

因此 '' " , ' ' , """ """等三种方式可以表达字符串

python中计算变量大小的函数是len函数 相当于C++的sizeof函数

python可以直接比较字符串 不需要用strcmp 但是比较规则和strcmp是一样的

3.布尔值

python的布尔值和C++的大体相似

无非旧是大小写的区别

python的布尔值是True和False

C++的是true和false

4.整数相除

python中整数除整数 结果可能是小数 不会像C++一样触发截断 而是直接算出小数

5.乘方运算符

python中的乘方运算符是** a的b次方可以表示成a**b

6.运算符

python中的除法是不会截断的

但是也有截断的除法叫做地板除法符号收是// 会向下取整

但是注意正数向下取整和负数还是使用的时候需要注意

python中的and 相当于 C++中的&&

python中的or 相当于 C++中的||

python中的not 相当于 C++中的!

7.多元赋值

python中是支持多元赋值的

多元赋值 "同时执行",而非按顺序逐个赋值

同时我们使用多元赋值就不需要使用中间变量了

8.++ --

Python 中不支持 ++ -- 这样的自增自减操作的!!

a++

++a

++a 之所以没有语法报错,是 Python 解释器把 + 当成了正号.

--a 也是不会报错,把 - 当成了负号。负负得正,最终的值仍然不变.

但是后置 ++ 和 后置 -- 都是语法上报错的!

9.;

在 Python 中,一个语句写完了之后,可以加上分号,也可以不加.

通常情况下都是不加的。如果加了,也不算错!!

如果把多个语句写到同一行了,这个时候语句之间,务必要加上分号的. (并不推荐)

比如

python 复制代码
a = 10; print(a)

10.if语句

cpp 复制代码
# 定义一个分数变量(可自行修改测试)
score = 85

# if-elif-else 判断逻辑
if score >= 90:
    # 满足score>=90时执行
    print("成绩等级:优秀")
elif score >= 80:
    # 不满足上一个条件,但满足score>=80时执行
    print("成绩等级:良好")
elif score >= 60:
    # 不满足前两个条件,但满足score>=60时执行
    print("成绩等级:及格")
else:
    # 以上条件都不满足时执行
    print("成绩等级:不及格")

大体上和C++是一样的 无非区别是python用的不是大括号

而是:和缩进表示

对于多条件分支,不是写作 else if, 而是 elif (合体了).

根据缩进不同 前一个if语句中如果满足条件会执行 print(a)

print(a+1)这两段语句

但是后一个if语句如果满足条件则会执行 print(a)

但是不管后一个if语句的条件满不满足 都会执行print(a+1)

example

11.pass

pass表示空语句 在python中不能直接空着一行

但是可以用空语句pass 表示什么都不做

12.注释

python的注释和C++的不同

单行注释是#

多行注释是""""

13.while

python支持while类型但是不支持do while类型的

格式和if类似

python 复制代码
while 条件:
    循环体

条件为真,则执行循环体代码。

条件为假,则结束循环。

分享

14.for

Python 的 for 和其他语言不同,没有 "初始化语句""循环条件判定语句""循环变量更新语句",而是更加简单。

所谓的 "可迭代对象",指的是 "内部包含多个元素,能一个一个把元素取出来的特殊变量"。

range 是一个内建函数。

起到的效果就是得到一个 "可迭代对象"。

这个可迭代对象中就包含了一系列的整数。

range(beg, end) => [beg, end),是前闭后开区间。

range 还提供了第三个参数表示 "步长",默认的步长值是 1

步长为负数表示反向遍历,也就是从起始值向更小的数值方向迭代,同时range的 "前闭后开" 规则会适配反向逻辑。

15.函数

C++/Java 里面,不光要求形参和实参的个数要匹配,

还要求类型也要匹配~

但是在 Python 里,只是要求个数,对类型没有要求。(动态类型)

也不是说,随便传入啥类型都行,

只要保证传入的参数类型,在函数体里面能够支持对应的运算操作,即可!!

此外python函数可以有多个返回值

可以用前面学的多元赋值进行接受

如果只接受一个 也可以 要用到_符号

global关键字

没有 global,此时就会把 x = 20 当做是在函数内部创建了一个局部变量 x,而实际上是要修改全局变量 x~

为了让函数里面知道 x 是个全局变量~,就使用 global 关键字先声明一下

if, else, while, for 这些关键字也会引入 "代码块",但是这些代码块不会对变量的作用域产生影响!!
在上述语句代码块内部定义的变量,可以在外面被访问!!

此外python传参的时候也可以指定传参和设置默认值

但是

形参的默认值

带有默认值的形参 就可以在调用函数的时候,不必传参

要求带有默认值的形参,得在形参列表的后面

而不能在前面 / 中间!

多个带有默认参数的形参,这些都得放在后面!!

相关推荐
曲幽5 小时前
数据库实战:FastAPI + SQLAlchemy 2.0 + Alembic 从零搭建,踩坑实录
python·fastapi·web·sqlalchemy·db·asyncio·alembic
用户83562907805110 小时前
Python 实现 PowerPoint 形状动画设置
后端·python
ponponon11 小时前
时代的眼泪,nameko 和 eventlet 停止维护后的项目自救,升级和替代之路
python
Flittly11 小时前
【从零手写 ClaudeCode:learn-claude-code 项目实战笔记】(5)Skills (技能加载)
python·agent
敏编程11 小时前
一天一个Python库:pyarrow - 大规模数据处理的利器
python
Flittly13 小时前
【从零手写 ClaudeCode:learn-claude-code 项目实战笔记】(4)Subagents (子智能体)
python·agent
明月_清风20 小时前
Python 装饰器前传:如果不懂“闭包”,你只是在复刻代码
后端·python
明月_清风20 小时前
打破“死亡环联”:深挖 Python 分代回收与垃圾回收(GC)机制
后端·python
ZhengEnCi2 天前
08c. 检索算法与策略-混合检索
后端·python·算法
明月_清风2 天前
Python 内存手术刀:sys.getrefcount 与引用计数的生死时速
后端·python