Python

编程的基本概念

python程序的构成

Python程序的构成

python程序是由多个模块组成的,每个模块中含有单/多个语句。

  • 一个模块对应一个源文件,一般后缀名为:.py
  • 模块由语句组成。运行Python程序时,按照模块中语句的顺序依次执行
  • 语句是程序的基本单元,用于创建对象、变量赋值、调用函数、控制语句等

代码的缩进

  • Python中“缩进”是强制规定
  • 通常采用“四个空格”表示一个缩进
  • 常用的编辑器一般:tab制表符就是4个空格

行连接符 \

作用:将一行比较长的程序分为多行

使用:将 \ 行连接符,把它放在行结束的地方,但python解释器会将他们解释为同一行

对象的基本组成和内存示意图

对象

  • Python中,一切皆对象
  • 每个对象由 标识(identity)、类型(type)、值(value)组成
    • 标识:用于唯一标识对象,通常对应于对象在计算机内存中的地址使用内置函数id(obj)可返回对象obj的标识。
    • 类型:用于表示对象存储的“数据”的类型类型可以限制对象的取值范围以及可执行的操作。可以使用type(obj)获得对象的所属类型。
    • 值:表示对象所存储的数据的信息。使用print(obj)可以直接打印出值。
  • 对象的本质:一个内存块,拥有特定的值,支持特定类型的相关操作。

内存

如:a=3  (a是变量,3是对象)

  • 栈(stack):存放变量的地址
  • 堆(heap):存放对象(id、type、value)
  • 通过地址找到对象,通过对象可以查找到它的id、type、value。

引用的本质

引用

  • Python中,变量称为:对象的引用。变量中存储的是对象的地址。
  • 变量通过地址引用了“对象”
    • 变量位于:栈内存(栈依次存放,连续的空间)
    • 对象位于:堆内存(堆是乱放,不连续的空间)
  • Python是动态类型语言:变量不需要显式声明类型。根据变量引用的对象,Python解释器会自动确定数据类型。

标识符

标识符作用:给 变量、类、模块等起名字

标识符规则

  1. 区分大小写
  2. 第一个字符必须是字母、下划线。后面的字符是:字母、数字、下划线
  3. 不能使用关键字。如:'if'、'or'、'while'等
  4. 以双下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法。如:__init__是类的构造函数

Python标识符命名规则

开发中,通常约定俗称遵守如下规则:

类型 规则 例子
模块和包名 全小写字母,尽量简单。多个单词之间用下划线 math,os,sys
函数名 全小写字母,多个单词之间用下划线隔开 phone,my_name
类名

首字母大写,采用驼峰原则。

多个单词时,每个单词第一个字母大写,其余部分小写

MyPhone、MyClass、Phone
常量名 全大写字母,多个单词使用下划线隔开 SPEED、MAX_SPEED

变量的声明

变量声明和赋值

  • 变量的声明和赋值:用于将一个变量绑定到一个对象上
  • 格式:
    变量名 = 表达式
    a = 3

    表达式:如 a=123 。运行过程中,解释器先运行右边的表达式,生成一个代表表达式运算结果的对象;然后将这个对象地址赋值给左边的变量。

  • 变量在使用前必须先被初始化(先被赋值),否则会报错。

删除变量

  • 可以通过del语句删除不再使用的变量。
  • 如果对象没有变量引用,就会被垃圾回收器回收清空内存空间

常量

链式赋值

链式赋值用于同一个对象赋值给多个变量。如:x=y=123

系列解包赋值

系列数据赋值给对应相同个数的变量(个数必须保持一致)。

如:a,b,c=4,5,6   等价于  a=4;b=5;c=6

使用系列解包赋值实现变量值交换
a,b = 1,2
a,b = b,a #变量值互换
print(a,b)

运算符

算术运算符
  • Python支持整数和浮点数对数字做如下运算
    运算符 说明 示例 结果
    + 加法 3+2 5
    - 减法 30-5 25
    * 乘法 3*6 18
    / 浮点数整除法 8/2 4.0
    // 整数除法 7//2 3
    % 模(取余) 7%4 3
    ** 2**3 8

你可能感兴趣的:(python,开发语言)