python【入门基础知识】

目录

1、字面量

2、标识符

3、关键字

4、变量

变量的定义

变量的命名

5、注释

单行注释

多行注释

6、行与缩进

多行语句

7、运算符

分类

优先级

8、编程规范


1、字面量

含义:程序中直接写出来固定的值,不是变量或表达式。

分类

|----------------|-----------------------------------------|----------------------------------------|
| 类型 | 描述 | 说明 |
| 数字(Number) | 整数(int) 浮点数(float) 复数(complex) 布尔(bool) | 整数、浮点数包括正、负数;复数如1+2j,以j/J结尾;布尔使用与C差不多。 |
| 字符串(String) | 描述文本的数据类型 | 由任意数量的中文、英文、任意符号、数字组成 |
| 列表(List) | 有序可变序列 | 有序记录一堆数据 |
| 元组(Tuple) | 有序不可变序列 | 有序记录一堆不可变的数据 |
| 集合(Set) | 无序不重复集合 | 无序记录一堆不重复数据 |
| 字典(Dictionary) | 无序Key-Value集合 | 无序记录一堆Key-Value数据 |

2、标识符

标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。

以下划线开头的标识符有特殊含义

  • 单下划线开头:_xxx ,表示不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 导入;
  • 双下划线开头:__xx,表示私有成员;
  • 双下划线开头和结尾:xx,表示 Python 中内置标识,如__init__() 表示类的构造函数。

3、关键字

Python 中的关键字(保留字)在自定义标识符时不能使用。在命令行输入以下可查看当前版本的python保留字。

python 复制代码
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 
'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 
'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 
'try', 'while', 'with', 'yield']

4、变量

变量可理解为标签,当把一个值赋给一个名字时,这个名字就成为变量,即变量是用于存储值的。Python是一种动态类型语言,++变量类型可以随时变化++ 。并且,++允许变量指向同一个值++。

变量的定义

在Python中,变量不需要先声明,可以直接赋值即可创建各种类型的变量。格式如下:

变量名 = value

变量的命名

不能使用保留字,慎用小写l和大写字母O,选择有意义的单词命名。

5、注释

注释是代码中的解释型语句,用来对代码内容进行注解。注释不是代码,不会被程序执行。

单行注释

  • 通过 # 号定义,在#号右侧的所有内容均作为注释;
  • 建议在#号和注释内容之间,间隔一个空格;
  • 单行注释一般用于对一行或一小部分代码进行解释。

多行注释

  • 通过一对三个引号来定义("""注释内容"""),引号内部均是注释,可以换行;
  • 多行注释一般对:Python 文件、类或方法进行解释。

6、行与缩进

python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数,否则会报错。实例如下:

python 复制代码
if True: 
    print ("True") 
else: 
    print ("False")

多行语句

Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠 \ 来实现多行语句,例如:

python 复制代码
total = item_one + \
        item_two + \
        item_three

在 [], {}, 或 () 中的多行语句,不需要使用反斜杠 \,例如:

python 复制代码
total = ['item_one', 'item_two', 'item_three',
        'item_four', 'item_five']

7、运算符

分类

|---------|------------------|----------------------------|
| 运算符 | 描述 | 示例 |
| + | 相加 | a + b |
| - | 相减 | a - b |
| * | 相乘 | a * b |
| / | 相除 | a / b |
| % | 取模 | a % b |
| ** | 幂 | a**b 表示 a 的 b 次幂 |
| // | 取整除 | 9 // 4 结果为 2 |
| == | 是否相等 | a == b |
| != | 是否不等于 | a != b |
| > | 是否大于 | a > b |
| >= | 是否大于等于 | a >= b |
| <= | 是否小于等于 | a <= b |
| = | 简单的赋值运算符 | a = b + c |
| += | 加法赋值运算符 | a += b 等效于 a = a + b |
| -= | 减法赋值运算符 | a -= b 等效于 a = a - b |
| *= | 乘法赋值运算符 | a *= b 等效于 a = a * b |
| /= | 除法赋值运算符 | a /= b 等效于 a = a / b |
| %= | 取模赋值运算符 | a %= b 等效于 a = a % b |
| **= | 幂赋值运算符 | a **= b 等效于 a = a ** b |
| //= | 取整除赋值运算符 | a //= b 等效于 a = a // b |
| & | 与 | a & b |
| | | 或 | a | b |
| ^ | 异或 | a ^ b |
| ~ | 取反 | ~a |
| << | 左移动 | a << 3 |
| >> | 右移动 | a >> 3 |
| and | 布尔类型与 | a and b |
| or | 布尔类型或 | a or b |
| not | 布尔类型非 | not a |
| is | 判断两个标识符是否引用同一个对象 | a is b |
| is not | 判断两个标识符是否引用不同对象 | a is not b |

优先级

|-----------------------------|-------------------|
| 运算符 | 由上至下对应优先级由高到低 |
| ** | 幂运算 |
| ~ + - | 取反、正号、负号 |
| * / % // | 乘、除、取模、取整除 |
| + - | 加法、减法 |
| >> << | 右移、左移 |
| & | 与 |
| ^ | | 异或、或 |
| <= < > >= | 比较运算符 |
| == != | 是否等于、是否不等于 |
| = %= /= //= -= += *= **= | 赋值运算符 |
| is is not | 身份运算符 |
| in not in | 成员运算符 |
| not and or | 逻辑运算符 |

8、编程规范

  • 每个import语句只导入一个模块,避免一次导入多个模块。
  • 不要在行尾添加分号";",不要用分号把两条代码放同一行。
  • 每行建议不要超过80字符,超过用"()"将多行内容隐式连接起来,不推荐使用"\"连接。示例如下:
python 复制代码
print("和他们一起,我为什么像一只蜗牛。"
"一直爬,爬不到金字塔顶端。")

#不推荐
#print("他们眼里,我为什么像一只蜗牛。\
#一直爬,爬不到金字塔顶端。")
  • 运算符两侧、函数参数间、逗号两侧建议用空格分隔。
  • 模块名应该尽量短小,并且全部使用小写字母 ,可以使用下划线分隔多个单词。
  • 包名尽量短小,并且也全部使用小写字母,但是不推荐使用下划线。
  • 类名首字母大写
  • 模块++内部的类++ 采用下划线在前、(每个)首字母大写单词在后形式。
  • 函数、类的属性和方法的命名规则通模块类相似,也是全部使用小写字母 ,多个单词间用下划线分隔
  • 常量命名全部字母大写
相关推荐
Buleall1 分钟前
期末考学C
java·开发语言
重生之绝世牛码3 分钟前
Java设计模式 —— 【结构型模式】外观模式详解
java·大数据·开发语言·设计模式·设计原则·外观模式
小蜗牛慢慢爬行9 分钟前
有关异步场景的 10 大 Spring Boot 面试问题
java·开发语言·网络·spring boot·后端·spring·面试
Algorithm157619 分钟前
云原生相关的 Go 语言工程师技术路线(含博客网址导航)
开发语言·云原生·golang
岑梓铭19 分钟前
(CentOs系统虚拟机)Standalone模式下安装部署“基于Python编写”的Spark框架
linux·python·spark·centos
shinelord明29 分钟前
【再谈设计模式】享元模式~对象共享的优化妙手
开发语言·数据结构·算法·设计模式·软件工程
游客52033 分钟前
opencv中的各种滤波器简介
图像处理·人工智能·python·opencv·计算机视觉
Monly2135 分钟前
Java(若依):修改Tomcat的版本
java·开发语言·tomcat
boligongzhu36 分钟前
DALSA工业相机SDK二次开发(图像采集及保存)C#版
开发语言·c#·dalsa
Eric.Lee202136 分钟前
moviepy将图片序列制作成视频并加载字幕 - python 实现
开发语言·python·音视频·moviepy·字幕视频合成·图像制作为视频