文章目录
Python语言基础
程序概述
Python程序可分解为模块、语句、表达式和对象
- Python程序由模块组成,模块对应于扩展名为.py的源文件。一个Python程序由一 个或者多个模块构成。
- 模块由语句构成。模块即Python源文件。运行Python程序时,按模块中语句顺序,依次执行语句。
- 语句是Python程序的过程构造块,用于创建对象、变量赋值、调用函数、控制分支、创 建循环、增加注释等。语句包含表达式。
- 表达式用于创建和处理对象。
import math
a = 3.0
b = 4.0
c = 5.0
h = (a + b + c) / 2 #三角形周长的一半
s = math.sqrt(h*(h-a)*(h-b)*(h-c)) #三角形面积
print(s)
- 假设这个程序名为"area.py",这就是一个程序。
- 该程序由内置模块math组成,
import math
为导入模块语句。 import math
为导入模块语句,a=3.0
等为赋值语句,”#“引导注释语句,print()
为调用内置函数print语句。- 计算周长和计算三角形面积的公式就称为表达式。
对象和引用
- Python程序运行时,在内存中会创建各种对象(位 于堆内存中),通过赋值语句,将对象绑定到变量(位于栈内存中),通过变量引用对象,进行各种操作。
- 多个变量可以引用同一个对象。
- 如果一个对象不再被任何有效作用域中的变量引用, 则会通过自动垃圾回收机制,回收该对象占用的内存。
正是因为这个自动垃圾回收机制,Python的运行效率会比C/C++语言这类运行效率要低,而且Python属于解释型语言,在编译过程中就逐句翻译并立即执行了。
标识符及其命名规则
标识符
标识符是变量、函数、类、模块和其他对象的名称
- 标识符由字母、数字和下划线组成(“_”),但是标识符的第一个字符必须是字母、下划线(“_”)
- 标识符不可以与关键字重名,例如:for、while、if等
- 尽量避免与Python预定义标识符名重名,例如:int,float,list等
- 标识符区分大小写,A 和 a是两个不同的名称
- 尽量避免以双下划线开始和结束的名称,因为此类名称在Python中具有特殊意义,例如:
__init__
代表类的构造函数
遵循的命名规则
类型 | 命名规则 | 例子 |
---|---|---|
模块/包名 | 全小写字母,简单有意义,如果需要可以使用下划线 | math、sys |
函数名 | 全小写字母,可以使用下划线增加可读性 | my_func() |
变量名 | 全小写字母,可以使用下划线增加可读性 | my_age |
类名 | 采用大驼峰命名规则,由多个单词组成且每个单词首字母大写 | MyClass |
常量名 | 全大写字母,可以使用下划线增加可读性 | TAX_RATE |
变量和赋值语句
基本赋值方式,使用赋值语句把对象绑定到变量
a=1 #字面量表达式1创建值为1的int型实例对象,并绑定到变量a
b=2 #字面量表达式2创建值为2的int型实例对象,并绑定到变量b
c=a+b #表达式a+b创建值为3的int型实例对象,并绑定到变量c
Python还有其他花哨赋值方式
- 链式赋值
x=y=1
表示变量x和y都指向int对象1 - 复合赋值语句
x+=1
表示x=x+1
- 系列解包赋值
a,b=1,2
表示a=1,b=2
常量
Python语言是不支持常量的,即没有语法规则限制改变一个常量的值,但是你可以自己定义一个
Python语言使用规定,声明在程序运行过程中不会改变的变量为常量,通常使用全大写字母(可以使用下划线增加可读性) 表示常量名
Python运算符
运算符 | 说明 | 优先级 | 结合性 |
---|---|---|---|
() | 小括号 | 19 | 无 |
x[i] | 索引 | 18 | 左 |
x.attribute | 属性访问 | 17 | 左 |
** | 指数/幂 | 16 | 右 |
~ | 按位取反 | 15 | 右 |
+(正) -(负) | 符号 | 14 | 右 |
*、/、//、% | 乘,除,整除,取余 | 13 | 左 |
+、- | 加,减 | 12 | 左 |
>>、<< | 移位 | 11 | 左 |
& | 按位与 | 10 | 左 |
^ | 按位异或 | 9 | 左 |
| | 按位或 | 8 | 左 |
==、!=、>、>=、<、<= | 比较 | 7 | 左 |
is,is not | 同一性比较 | 6 | 左 |
in,not in | 成员测试 | 5 | 左 |
not | 逻辑非 | 4 | 右 |
and | 逻辑与 | 3 | 左 |
or | 逻辑或 | 2 | 左 |
, | 逗号 | 1 | 左 |
Python语句
语句是Python程序的过程构造块,用于定义函数、定义类、 创建对象、变量赋值、调用函数、控制分支、创建循环等
书写规则
- 使用换行符分隔,一般情况下,一行一条语句
- 从第一列开始,前面不能有任何空格,否则会产生语法错误。注意,注释语句可以从任意位置开始;复合语句构造体必须缩进
缩进非常重要
-
反斜杠(\)用于一个代码跨越多行的情况。如果语句太长,可以使用续行符(\)
print("我怎么这么这么这么这么这么\ 帅")
-
分号(;)用于在一行书写多条语句
a=1;b=1;c=0;print(a)
复合语句
- 头部语句由相应的关键字(例如,if)开始,构造体语句块则为下一行开始的一行或多行缩进代码
- 通常缩进是相对头部语句缩进四个空格,也可以是任意空格,但同一构造体代码块的多条语句缩进的空格数必须一致对齐。如果语句不缩进,或缩进不一 致,将导致编译错误
- 如果条件语句、循环语句、函数定义和类定义比较短,可以放在同一行
for i in range(1,11): print(i,end=' ')
注释语句
Python解释器忽略所有的注释语句,注释语句不会影响程序的执行结果
以符号“#”开始,到行末结束。Python注释语句可以出 现在任何位置
空语句
表示一个空代码块
pass
函数
函数是可以重复调用的代码块,可以简化代码,减少重复性代码
创建
def 函数名([形参列表]):
函数体
调用
函数名([实参列表])
例子:输出hello world函数
def sayHello():
print("hello world")
sayHello() #调用
类和对象
创建类对象
class 类名:
类体
实例对象的创建和调用
a = 类名(参数列表)
a.对象方法 或 a.对象属性
例子:Person类
class Person: #定义类Person
def sayHello(self): #定义类Person的函数sayHello
print('Hello, how are you?')
p = Person() #创建对象
p.sayHello() #调用对象的方法
本文包含了Python语言的基础知识,理解了基础后,编程会变得更容易