注释语法
# 学语言先学注释,注释是代码之母!
1. 什么是注释?
注释就是对一段代码的解释,它不参与代码的实际运行,起到提示作用.
2. 如何使用注释?
方式一:
警号# 单行注释
"""
还可以借助于快捷键
code
reformat code
ctrl + alt + l
"""
方式二:
三引号(单双)
快捷键:ctrl + D # 把光标所在的行复制然后粘贴到下一行
所有的代码规范都是有PEP 8规范设置的:
## 一、PEP 8规范
- PEP是Python Enhancement Proposal的缩写,代表Python增强提案。其中第8号增强提案(PEP 8)是关于Python代码风格的指南。
- 每个PEP都是一份技术文档,为Python社区提供指导,促使Python在不断进步。PEP 8着重于统一Python代码的风格,使其更易读、易维护,适用于多人协作开发的场景。
## 二、PEP 8规范的内容
### 1.空格的使用
- 使用空格表示缩进,不使用制表符(Tab)。
- 每一层缩进使用4个空格。
- 每行字符数不超过79个,多行表达式首行除外,其余行缩进4个空格。
- 函数和类定义之间使用两个空行分隔,类中方法之间使用一个空行分隔。
### 2.标识符的命名
- 变量、函数和属性使用小写字母,多个单词用下划线连接。
- 类中受保护的实例属性以一个下划线开头。
- 类中私有的实例属性以两个下划线开头。
- 类和异常的命名每个单词首字母大写。
- 模块级别的常量使用全大写字母,多个单词用下划线连接。
- 类的实例方法参数命名为self,类方法参数命名为cls。
### 3.表达式和语句
- 采用内联形式的否定词,如`if a is not b`。
- 避免使用检查长度的方式来判断字符串、列表是否为None或没有元素,应该使用`if not x`形式。
- 即使在if分支、for循环、except异常捕获中只有一行代码,也不要将代码和关键字写在一起,分开写更清晰。
- import语句总是放在文件开头。
- 引入模块时,`from math import sqrt`优于`import math`。
- 多个import语句分为三部分:Python标准模块、第三方模块和自定义模块,每部分按照字母表顺序排列。
变量的使用
1. 什么是变量?
即变化的量,用于记录事物的变化状态,其实就是保存数据的一种方式
2. 如何使用变量?
生活中:
姓名:kevin
年龄:18
性别:male
程序中:
username = 'kevin'
age = 18
gender = male
"""
语法格式:
username = 'kevin'
变量名 赋值符号 变量值
底层原理:
1. 先在内存空间中申请一块空间来存储变量值kevin
2. 把变量名username绑定给变量值kevin的空间地址
3. 以后只需要通过变量名username访问变量值kevin即可.
"""
变量名的命名规范
1. 变量的命名有数字、字母、下划线任意组合
user@name(不可以的) _(可以的) pass_123_word(可以)
2. 不能够以数字开头, _一般不要开头,因为后面他会有特殊的含义
123_username(不可以)
3. 变量名不能够与python的保留字冲突
print = 123
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from','global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
4. 变量名一定要见名知意
"""以后不管变量名有多长,核心是见名知意"""
# 命名风格
1. 驼峰体
大驼峰:每个单词的首字母都大写
UserNameFromDb
小驼峰:除了第一个单词的首字母小写之外,其余的单词首字母全部大写
userNameFromDb
2. 下划线
# 所有的单词都小写,单词与单词之间使用_分割
username_from_db # 推荐
变量名的定义和调用
- 变量的定义由三部分组成,如下
username = 'xiao'
变量名 赋值符号 变量值
- 定义规范示例
# 用一个变量 name 保存名字 叫 xiao
name = 'xiao'
# 用一个变量 sex 保存性别 是 男
sex = '男'
# 用一个变量 age 保存年龄 是 18
age = 18
# 用一个变量 age 保存薪资 是 16800.21
salary = 16800.21
- 解释器执行到变量定义的代码时会申请内存空间存放变量值
- 然后将变量值的内存地址绑定给变量名
通过变量名即可引用到对应的值:
- 通过变量名即可引用到值,我们可以结合print()功能将其打印出来 print(age)
- 通过变量名age找到值18,然后执行print(18),输出:18
# 用一个变量 name 保存名字 叫 xiao
name = 'xiao'
# 用一个变量 sex 保存性别 是 男
sex = '男'
# 用一个变量 age 保存年龄 是 18
age = 18
# 用一个变量 age 保存薪资 是 16800.21
salary = 16800.21
print(age) # 18
变量名的命名规范
1. 变量的命名有数字、字母、下划线任意组合
user@name(不可以的) _(可以的) pass_123_word(可以)
2. 不能够以数字开头, _一般不要开头,因为后面他会有特殊的含义
123_username(不可以)
3. 变量名不能够与python的保留字冲突
print = 123
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from','global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
4. 变量名一定要见名知意
"""以后不管变量名有多长,核心是见名知意"""
# 命名风格
1. 驼峰体
大驼峰:每个单词的首字母都大写
UserNameFromDb
小驼峰:除了第一个单词的首字母小写之外,其余的单词首字母全部大写
userNameFromDb
2. 下划线
# 所有的单词都小写,单词与单词之间使用_分割
username_from_db # 推荐
变量的三要素
1. 变量值
2. 内存编号(id)
3. 数据类型
name = 'kevin'
name = 'jerry'
# name = 123.1
print(id(name)) # 1355452123248
print(type(name)) # <class 'str'>
如何查看变量的三大特性
# 定义变量
x = 'Info xiao:18'
# id (内存地址 - 内存编号) : 反应的是变量在内存中的唯一编号,内存地址不同id肯定不同
print(id(x)) # 2304891956272
# type (数据类型) : 变量值的类型
print(type(x)) # <class 'str'>
# value (变量值) : 变量值
print(x) # Info xiao:18
初识小整数池
- 对于小整数,Python有一个小整数池的概念。小整数池是一个预先创建好的、包含一定范围的整数的池子,这些整数在程序运行过程中会被重复使用,以提高内存利用效率。
- 在Python中,整数对象是不可变的,因此如果一个整数值在小整数池中已经存在,那么多个变量使用相同的整数值时,它们实际上是指向同一个整数对象的引用。这就是小整数池的机制。
- 小整数池一般包括一定范围内的整数,例如,通常会包含从-5到256的整数。这是因为在Python中,经常会用到一些小的整数,比如循环的索引、计数器等,因此预先创建这些小整数,可以减少内存的消耗,提高程序的执行效率。
- 为了进一步提高内存利用率,Python解释器在内存中维护了一个叫做“小整数池”的数据结构,用于存储[-5, 256]范围内的整数对象。这个数据结构被实现为一个数组,数组中的每个元素都是一个整数对象,而且每个整数对象都具有独特的标识,以便在需要使用整数对象时能够准确地引用它们。
因此,当我们使用[-5, 256]范围内的整数对象时,Python解释器会从小整数池中获取对象,而不是创建新的对象。如果我们使用一个整数对象x,然后再次使用相同的对象x,Python解释器会直接返回池中保存x的内存地址,以避免重复创建对象的浪费。
常量
# 常量就是不经常改变的量
PI = 3.1415926
在Python中,没有真正意义上的常量,我们墨守成规的把全大写的变量称之为是常量
HOST='127.0.0.1'
# 在其他语言中,是有真正意义上的常量的,比如JavaScript
const pi = 3.14
pi = 4
底层优化
# 小整数池的问题
当变量值很小的时候,多个变量执行同一个变量值的空间地址
# 解释器3.8的,3.9
"""
一个内存地址可以有多个变量名指向
一个变量名只能指向一个内存地址
"""
标签:常量,python,变量值,整数,Python,print,变量名,变量
From: https://www.cnblogs.com/xiao01/p/17862855.html