首页 > 编程语言 >python基础之变量与常量

python基础之变量与常量

时间:2023-11-28 20:00:32浏览次数:36  
标签:常量 python 变量值 整数 Python print 变量名 变量

注释语法

# 学语言先学注释,注释是代码之母!

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

相关文章

  • python基础之用户交互
    程序与用户交互概念:用户交互就是人往计算机中input/输入数据,计算机print/输出结果############输入a=input('请输入您的密码:')#'1'1"""只要是input,接收的数据类型全部都是str类型的,不管你输入的类型是什么类型的"""#如果以后你需要做运算,需要转类型#print(usernam......
  • chap3 变量与函数
    变量与函数1.变量1.赋值:=2.新值数据类型不一定与旧数据相同x=10 print(x) x=true print(x)3.变量=值,变量可以理解为“标签”4.变量的命名规则:-必须以字母或下划线开头-命名可由字母数字下划线组成-大小写有区别-避免保留字命名5.保留字:查看:importkeywo......
  • 【python入门之程序与用户交互】---程序与用户交互
    【一】什么是与用户交互交互的本质就是输入、输出用户交互就是人往计算机中input/输入数据,计算机print/输出结果【二】为什么要与用户交互为了让计算机能够像人一样与用户沟通交流过去我们去银行取钱,用户需要把帐号密码告诉柜员而现在,柜员被ATM机取代ATM机就是一台......
  • 【python入门之基本数据类型的学习】---基本数据类型(list、str)【二】
    【三】字符串类型(str)【1】作用字符串类型(str)用于表示文本信息,是一种非常重要的数据类型,用于处理文字、字符等信息【2】定义(1)定义方式字符串可以使用单引号、双引号或三引号进行定义#定义方式1:name_1='Jack'#(当左边有赋值符号和遍历名的时候,它就是字符串)#定......
  • 【python入门之基本数据类型】---基本数据类型(字典、布尔)【三】
    【五】字典类型(dict)【1】作用如果我们需要用一个变量记录多个值,但多个值是不同属性的比如人的姓名、年龄、身高,用列表可以存,但列表是用索引对应值的,而索引不能明确地表示值的含义这就用到字典类型,字典类型是用key:value形式来存储数据其中key可以对value有描述性的功能......
  • 【python入门之基本数据类型】---基本数据类型(元组、集合)【四】
    【七】元组类型(tuple)【1】作用元组(tuple)是一种不可变的序列类型,类似于列表,用于存储多个有序元素。元组与列表的主要区别在于元组的元素不能被修改、删除或添加,是不可变的数据类型。元组通常用于存储相关联的数据,保持数据的完整性。【2】定义元组通过小括号()......
  • 【Python爬虫】第11篇:Mongodb数据库进阶使用。从0到scrapy高手笔记(附代码,可自取)
    本文主要学习一下关于爬虫的相关前置知识和一些理论性的知识,通过本文我们能够知道什么是爬虫,都有那些分类,爬虫能干什么等,同时还会站在爬虫的角度复习一下http协议。全套笔记和代码自取地址:请移步这里感兴趣的小伙伴可以自取哦,欢迎大家点赞转发~共8章,37子模块Mongodb数......
  • 【Python进阶】第7篇:TCP和socket客户端程序开发。总结md文档集合(已分享,附代码)
    本文从14大模块展示了python高级用的应用。分别有Linux命令,多任务编程、网络编程、Http协议和静态Web编程、html+css、JavaScript、jQuery、MySql数据库的各种用法、python的闭包和装饰器、mini-web框架、正则表达式等相关文章的详细讲述。全套笔记和代码自取地址:请移步这里感......
  • 聪明办法学python第3次笔记
    条件ifelse语句if条件:执行行为else:执行行为elif语句:等同与c语言中的elsei语句ifx>10:print()elifx=10:print(2)else:print(3)ifelse推导式print(nif(n>0)else-n)match-case语句:等同于c语言中的switch-casem=map(int(),input())match......
  • 一些关于python装饰器的理解
    装饰器:给现有的模块增添新的小功能,可以对原函数进行功能扩展,而且还不需要修改原函数的内容,也不需要修改原函数的调用例:已有函数ABC想在其基础上再加上一个小功能Xdefdeco(A): defwrapper(*args,**kwargs): res=A(*args,**kwargs) returnres......