Python入门
2021/6/1 周二
学习内容: Python缩进,注释,变量,global,新手常见报错
刚接触Python,主要是看w3school的教材,并根据自己的情况对重点内容做的笔记,如有错误,欢迎在评论区指出,非常感谢!
一、Python 简介
Python 是一门解释型编程语言,它由 Guido van Rossum 创建,于 1991 年发布。
它用于:Web 开发(服务器端)、软件开发、数学、系统脚本。
Python 的最新主要版本是 Python 3,但是Python 2 仍然非常受欢迎。
Python 语法与其他编程语言比较:
- Python 是为可读性设计的,与英语有一些相似之处,并受到数学的影响。
- Python 使用新行来完成命令,而不像通常使用分号或括号的其他编程语言。
- Python 依赖缩进,使用空格来定义范围;例如循环、函数和类的范围。其他编程语言通常使用花括号来实现此目的。
python文件使用 .py 文件扩展名
二、Python 语法
1. 缩进
Python使用缩进来指示代码块,如果省略缩进,Python 会出错:
【IndentationError: expected an indented block】
空格数取决于程序员,但至少需要一个。
但是如果是在同一代码块中,必须使用相同数量的空格,否则 Python 会出错:
【IndentationError: unexpected indent】
2. 注释
注释用 #开头
Python 实际上没有多行注释的语法。
但是,由于 Python 将忽略未分配给变量的字符串文字,因此可以在代码中添加多行字符串(三引号),并在其中添加注释:
"""
This is a comment
written in
more than just one line
"""
print("Hello, World!")
三、Python 变量
1. 创建变量
Python 与其他编程语言不同的是,变量是在为其赋值时创建的,Python 没有声明变量的命令。
Python变量不需要使用任何特定类型声明,甚至可以在设置后更改其类型。
字符串变量用单引号或双引号都可以
2. 变量名称
Python 变量命名规则:
- 变量名必须以字母或下划线字符开头
- 变量名称不能以数字开头
- 变量名只能包含字母数字字符和下划线(A-z、0-9 和 _)
- 变量名称区分大小写(age、Age 和 AGE 是三个不同的变量)
3. 向多个变量赋值
Python 可以在一行中为多个变量赋值:
x, y, z = "Orange", "Banana", "Cherry"
也可以在一行中为多个变量分配相同的值:
x = y = z = "Orange"
4. 字符串拼接
“+”号可以用做字符串拼接,也可以用作数学运算符,但如果组合字符串和数字,会报错。
【TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’】
这一点不像Java会自动把数字也转为字符串,python想这样的话要自己给数字加引号。
5. 全局变量
Python中用【def 函数名():】定义函数,【函数名()】调用函数。
在函数外部创建的变量,可以被函数内部和外部使用。
如果在函数内部创建具有相同名称的变量,则该变量将是局部变量,并且只能在函数内部使用。具有相同名称的全局变量将保留原样,并拥有原始值。
x = "aaa"
print(x)
def myfunc():
x = "bbb"
print(x)
myfunc()
print(x)
#输出
aaa
bbb
aaa
6. global 关键字
通常,在函数内部创建的变量是局部变量,只能在该函数内部使用。
但也可以用 global关键字,在函数内部创建全局变量。
所以也可以在函数内部,用 global引用全局变量从而关键字更改全局变量的值:
x = "aaa"
print(x)
def myfunc():
global x
x = "bbb"
print(x)
myfunc()
print(x)
#输出
aaa
bbb
bbb
上面那个例子加一个global x,输出就不同了
三、报错信息整理
1. 缩进错误: 期望一个缩进的块
IndentationError: expected an indented block
该缩进的地方没有缩进
2. 缩进错误: 意外的缩进
IndentationError: unexpected indent
必须在同一代码块中使用相同数量的空格
3. 类型错误:不支持操作类型为整数和字符串
TypeError: unsupported operand type(s) for +: 'int' and 'str'
字符串和数字不能混用
4. 缩进错误:
IndentationError: unindent does not match any outer indentation level
用在线编译器打空格后,换行的变成了tab,新的Python语法中不支持混用tab和空格。
5. 语法错误:非法语句
SyntaxError: invalid syntax
用global关键字,必须先“声明”global,再赋值,不能写成一行。