Part 1 变量

一、什么是变量?

字面意思:变化的量。

而在计算机中,我们可以将它理解为世间万物变化的状态。

二、为什么要有变量?

首先,无论是我们还是计算机都需要变量来记录发生的状态的变化,其次计算机程序运行时就会产生一系列的状态变化,所以变量存在很有必要。

三、定义变量

代码中一般这样表示:

x=1
age=18
name=‘Adela'

四、变量的组成

变量由变量名、赋值符号以及变量值组成。

变量名:变量名接受变量值

赋值符号:赋值

变量值:存放数据,记录状态

五、变量名的命名规范

  • 最好不要用中文,英文差的初期可用

  • 变量名由数字/字母/下划线组成,不要以数字开头

  • 不要用无意义的,例如"_"、"*"、"^"等

  • 关键字不要用

['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']

六、变量名的两种风格

驼峰体

  • AgeOfNick

下划线

  • age_of_you

Part 2 常量

一、什么是常量

一般指不变的量,但可以变,不过在计算机中约定俗成的不可变

二、常量的表示方式

AGE=18 全部大写可以定义为常量

Part 3 Python变量内存管理

新建变量会开辟新的内存空间。

一、变量存放位置

变量存放在内存当中

二、Python垃圾回收机制

类比说明:

  • 一个房间--->一个变量值--->10

  • 一个门牌--->一个变量名--->X

  • 新的房间--->11--->旧的门牌--->X

  • 旧的房间--->10--->垃圾回收

成语概括垃圾回收机制:退位让贤

引用计数为0的时候,Python解释器会释放该变量值的内存空间。

引用计数:

有n个变量名指向一个变量值A,则A有n个引用计数。

解释:原变量值的变量名被赋予新的变量值,原变量值会变成垃圾,所以拥有变量名才拥有身份,这个变量名就称为引用计数。

X=10
y=x
x=12
del y #此时10的引用计数为0,12的引用计数为1

三、小整数池

为了避免多个相同变量值的内存占用引起的效率问题(多次回收太麻烦),Python解释器规定一个小整数池[-5,256],在这个全局解释器范围内的小整数对象重复利用时不会被垃圾回收机制回收。

Part 4 变量的三个特征

一、打印

x=10
print(x) #打印变量值
print(id(x)) #打印变量的内存地址
print(type(x)) #打印变量值的数据类型

二、判断变量值是否相等

x=10
y=10
print(x == y) #判断变量值是否相等
x=y=z=10
print(x == y ==z) #判断变量值是否相等

三、判断变量id是否相等

x=10
y=12
print(id(x))
print(id(y))
print(x is y) #判断变量id是否相等

Part 5 花式赋值

一、链式赋值

a=10
b=10
c=10
print(a,b,c) #print(f'a:{a},b:{b},c:{c}')

二、交叉赋值

x=10,y=20
x,y=y,x
print(f'x:{x},y:{y}')

Part 6 注释

一、注释

因为代码可能需要互相借鉴或者共用,所以需要备注一些晦涩难懂的代码,方便别人和自己理解。

快捷键:ctrl+/

二、添加注释的原则

#--->单行注释

‘ ’ ‘&“ ” “--->多行注释

【0729 | Day 3】Python基础(一)的更多相关文章

  1. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

  2. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  3. Python小白的发展之路之Python基础(一)

    Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...

  4. Python之路3【第一篇】Python基础

    本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...

  5. 进击的Python【第三章】:Python基础(三)

    Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...

  6. 进击的Python【第二章】:Python基础(二)

    Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...

  7. Python之路【第一篇】python基础

    一.python开发 1.开发: 1)高级语言:python .Java .PHP. C#  Go ruby  c++  ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...

  8. python基础之day1

    Python 简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python为我们提供了非常完善的基础代码库,覆盖了 ...

  9. python基础之文件读写

    python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...

  10. python基础之编码问题

    python基础之编码问题 本节内容 字符串编码问题由来 字符串编码解决方案 1.字符串编码问题由来 由于字符串编码是从ascii--->unicode--->utf-8(utf-16和u ...

随机推荐

  1. Redis中的Stream数据类型作为消息队列的尝试

    Redis的List数据类型作为消息队列,已经比较合适了,但存在一些不足,比如只能独立消费,订阅发布又无法支持数据的持久化,相对前两者,Redis Stream作为消息队列的使用更为有优势.   相信 ...

  2. Java学习笔记之---API的应用

    Java学习笔记之---API的应用 (一)Object类 java.lang.Object 类 Object 是类层次结构的根类.每个类都使用 Object 作为超类.所有对象(包括数组)都实现这个 ...

  3. Nginx+Lua+MySQL/Redis实现高性能动态网页展现

    Nginx结合Lua脚本,直接绕过Tomcat应用服务器,连接MySQL/Redis直接获取数据,再结合Lua中Template组件,直接写入动态数据,渲染成页面,响应前端,一次请求响应过程结束.最终 ...

  4. MMM 数位dp学习记

    数位dp学习记 by scmmm 开始日期 2019/7/17 前言 状压dp感觉很好理解(本质接近于爆搜但是又有广搜的感觉),综合了dp的高效性(至少比dfs,bfs优),又能解决普通dp难搞定的问 ...

  5. Dom4J的基本使用

    初始化数据 <?xml version="1.0" encoding="UTF-8"?> <RESULT> <VALUE> ...

  6. 消息中间件及IBM MQ

    MQ 消息中间件: 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源. 中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯.是连接两个独立应用程 ...

  7. DML语言DDL

    DML(data manipulation language): 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言 . D ...

  8. Excel催化剂开源第17波-VSTO开发之ADO.Net访问Sqlserver

    在Excel催化剂中,独树一帜地推出了Excel与数据库交互功能,目前仅实现了对Sqlserver的交互,在通用型插件中仅此一家,别无其他. 为何会出现这样的局面呢,原因大概有以下几大方面: 和数据库 ...

  9. jmeter使用问题——将接口返回变量存储成csv文件

    在使用jmeter做接口测试时,一整个jmx测试计划中,存在多个线程,多个接口的测试 但是接口可以分类,比如业务接口.查询接口.更新接口等 考虑自动化接口测试一般都是一次性的,有完整的闭环链路,一般步 ...

  10. 安卓BindService笔记

    1 前言 最近学习到了安卓的service,记录一下自己对BindService的理解,学习教程以及部分代码来自菜鸟教程的android教程:菜鸟教程安卓端BindService链接 2 正文 先贴一 ...