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. scrapy基础知识之 Scrapy-Redis分布式策略:

    Scrapy-Redis分布式策略: 假设有四台电脑:Windows 10.Mac OS X.Ubuntu 16.04.CentOS 7.2,任意一台电脑都可以作为 Master端 或 Slaver端 ...

  2. c# override用法

    要扩展或修改继承的方法.属性.索引器或事件的抽象实现或虚实现,必须使用 override 修饰符. 在此例中,类 Square 必须提供 Area 的重写实现,因为 Area 是从抽象的 Shapes ...

  3. 『开发技巧』Keras自定义对象(层、评价函数与损失)

    1.自定义层 对于简单.无状态的自定义操作,你也许可以通过 layers.core.Lambda 层来实现.但是对于那些包含了可训练权重的自定义层,你应该自己实现这种层. 这是一个 Keras2.0  ...

  4. JavaScript循环及输出方式

    好一段时间没写了,今天写一下JavaScript的循环和输出吧! 其实JavaScrip的循环跟C#.Java的循环用法是相同的. <!DOCTYPE html> <html> ...

  5. python文件下载

    1. 场景描述 刚好总结Java项目的web文件下载(附方案及源码配置),想起python项目也有用到文件下载,就也介绍下吧. 2. 解决方案 使用python的第三方组件Flask来实现文件下载功能 ...

  6. 第三章.定制专属的kali

    1.更新升级 • apt-get update • apt-get upgrade • apt-get dis-upgrade   2.根据个人喜好需求安装软件包 • 库 • Apt-get命令 • ...

  7. ZIP:ZipStream

    ZipInputStream: ZipInputStream(InputStream in) :创建新的 ZIP 输入流. int read(byte[] b, int off, int len) : ...

  8. Flutter学习笔记(8)--Dart面向对象

    如需转载,请注明出处:Flutter学习笔记(7)--Dart异常处理 Dart作为高级语言,支持面向对象的很多特性,并且支持基于mixin的继承方式,基于mixin的继承方式是指:一个类可以继承自多 ...

  9. 通过代数,数字,欧几里得平面和分形讨论JavaScript中的函数式编程

    本文是对函数式编程范式的系列文章从而拉开了与以下延续一个. 介绍 在JavaScript中,函数只是对象.因此,可以构造函数,作为参数传递,从函数返回或分配给变量.因此,JavaScript具有一流的 ...

  10. React躬行记(9)——组件通信

    根据组件之间的嵌套关系(即层级关系)可分为4种通信方式:父子.兄弟.跨级和无级. 一.父子通信 在React中,数据是自顶向下单向流动的,而父组件通过props向子组件传递需要的信息是组件之间最常见的 ...