本篇旨在C++的基础上快速上手python
一、变量
1.1 动态类型
a = 1上述代码就是python中定义变量的方式,python是动态类型语言,类型属于对象,不属于变量。在上面中1是整数对象它的类型是int,a本身没类型,只是贴上对象的类型。所以a的类型会根据对象的不同而改变。
a = 1 print(type(a)) a = 1.1 print(type(a))它在一定程度上确实是方便了我们使用,不过代码可读性会变差、运行时才发现类型错误、性能额外开销等。
另外变量的类型是可以提前声明的,即使这样类型依然可以修改。
a:int = 11.2 类型种类
在python中基本类型有:int、float、str、bool。
- int:整数,范围无限大
- float:双精度浮点数
- str:字符串,可以用' '、" "、''' '''等表示
- bool:布尔值,用两个取值 True 和 False
a = 1 print(type(a)) a = 1.1 print(type(a)) a = "hello world" print(type(a)) a = True print(type(a))二、注释
在python中注释有:#、''' '''、""" """三种。
#这是一个注释 ''' 这也是一个注释 ''' """ 这还是一个注释 """注意:''' '''、""" """本质上是字符串,不过由于没有变量去接受,所以它的效果就类似于注释。
三、输入输出函数
3.1 print
用于向显示屏打印内容。当需要打印某变量值时:
a = 1 print(f"a = {a}")如果需要在屏幕打印带 '、” 号的字符串时,如: 'hello word' :
print("'hello world'")3.2 input
用于向键盘获取内容。
a = input("请输入一个数: ") print(f"a = {a}")获取的内容默认是str类型。
a = input("请输入一个数: ") print(type(a)) print(f"a = {a}")如果想修改类型,写法如下:
a = int(input("请输入一个数: "))四、运算符
我这里就只说新增的,或与C++不同的。
4.1 /
运算结果是小数。
print(1 / 3)4.2 //
类似于C++里的 /,不过它是向下取整即1.5取1、-1.5取2.
print(3 // 2) print(-3 // 2)4.3 and、or、not
逻辑运算符,and 对应 &&、or 对应 ||、not 对应 !
4.4 **
用于幂运算
print(2 ** 3)五、语句
只是在格式上不同,作用与C++是一样的。
5.1 条件语句
a = int(input("请输入一个数: ")) if a == 1: print("a = 1") elif a == 2: print("a = 2") else: print("a未知")首先是不用写 (),用 : 表示分支结束,用缩进表示代码段,else if 替换为 elif。
有的时候可能需要空语句,用 pass 即可。
5.2 循环语句
5.2.1 while
i = 1 while i <= 10: print(f"{i} ") i += 1它的更改与 if 类似,这里不在过多赘述。
5.2.2 for
for i in range(1, 11): print(f"{i} ")i 是循环变量。range是内置的生成整数序列的函数,专门由于for循环。它是可迭代对象,生成序列的范围是左闭右开。默认步长是1,可以正整数或负整数。
for i in range(1, 11, 2): print(f"{i} ")六、函数
6.1 定义
def add(x, y): return x + y它有个天然的优势:可以兼容很多类型,类似于模板
6.2 返回值
在python中返回值是可以是多个。
def test(x, y): return x, y a, b = test(1, 2) print(a) print(b)如果不想要某个值可以用占位符
def test(x, y): return x, y _, b = test(1, 2) print(b)6.3 作用域
在python中,会影响变量的作用域只有函数和类。像if、else、while、for中定义的变量是可以在外部使用的。
如果在函数想修改全局变量的值,如果使用下面的写法是不行的
x = 1 def test(): x = 2 test() print(x)想修改,要搭配 global
x = 1 def test(): global x x = 2 test() print(x)6.4 参数
在参数传递的时候,是可以给默认值的类似于缺省
def test(x, y = 2): print(x) print(y) test(1)在调用函数的时候,需要给函数指定实参。一般默认情况下是按照形参的顺序,来依次传递实参的。但是我们也可以通过 关键字参数,来调整这里的传参顺序,显式指定当前实参传递给哪个形参。
def test(x, y): print(x) print(y) test(y = 2, x = 1)参数传递时 int、float、str、bool、tuple 这些类型的值是不变的,对于 list、dict、set、自定义类它们的值是可以改变的(tuple、list、dict、set 将在后面的文章中介绍)。
def test(x): x += 1 print(x) a = 1 test(a) print(a)