四、Python基础(1)

1.什么是变量?

一种变化的量,量是记录世界上的状态,变指得是这些状态是会变化的。

2.为什么有变量?

因为计算机程序的运行就是一系列状态的变化。

3.定义变量

在Python中定义变量:

name = 'magua'
age = 24
gender = 'man'
height = 168
weight = 250

4.变量的组成

三部分:

1.变量名:变量名用来引用变量值,但凡需要用变量值,都需要通过变量名。

2.赋值符号:赋值

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

name #报错,无任何意义
age = 24
height = 168
print(age)
print(height)

24

168

5.变量的命名规范

切记,定义变量其实就是记录状态,存永远不是目的,取才是最终目的。

1.变量的命名应该能反映变量值所描述的状态,切记不可用中文。

2.变量名必须用字母数字下划线组合,并且变量名的第一个字符不能是数字。

3.关键字不能声明为变量名

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

6.变量名的两种风格

1.驼峰体

AgeOfMagua = 24
print(AgeOfMagua)

2.下划线(推荐使用)

age_of-magua = 24
print(age_of-magua)

7.常量

常量是不变的量,Python没有强制定义常量。常量名一般用大写。

AGE = 25
print(AGE)

8.变量存哪了?

x = 10

程序在Python解释器上运行,字符进入了内存,也就是变量进入了内存并存在那里。

9.Python垃圾回收机制

如果再加上一段代码x = 11,python就会替换掉之前的x = 10替换掉,x相当于门牌号,重新赋值会取代之前的数值,解释器会释放10的内存占用。

10.引用计数(门牌号)

x = 10 # 10引用计数加1为1
y = x # 10引用计数加1为2
x = 11 # 10引用计数减1为1;11引用计数加1为1
del y # 10引用计数减1为0,触发python垃圾回收机制,清理10的内存占用。

11.小整数池

Python实现int的时候有个小整数池。为了避免因创建相同的值而重复申请内存空间所带来的效率问题, Python解释器会在启动时创建出小整数池,范围是[-5,256],该范围内的小整数对象是全局解释器范围内被重复使用,永远不会被垃圾回收机制回收。

在pycharm中运行python程序时,pycharm出于对性能的考虑,会扩大小整数池的范围,其他的字符串等不可变类型也都包含在内一便采用相同的方式处理了,我们只需要记住这是一种优化机制,至于范围到底多大,无需细究。

12.变量的三个特征

(1)打印

x = 10
print(x) #获取变量的变量值 10

(2)判断变量值是否相等

name1 = 'guapi'
name2 = 'magua'
print(name1 == name2) #False
False

(3)判断变量id是否相等

x=10
y=x
z=10
print(x==y)
ture
print(x is y)
ture
print(x is z)
ture
x = 257
x = 257
print(x is z)
False #整数池原因[-5,256],如果超出整数池,而且打印的时间较短,id可能会相等。

得出结论:id相等的变量,值一定相等,指向的是同一个内存地址;值相等的变量,id不一定相等。

13.花式赋值

(1)链式赋值(值相同的时候才能用)

a = 10
b = 10
c = 10
print(a,b,c)
10 10 10
a=b=c=10
print(a,b,c)
10 10 10

(2)交叉赋值

保证内存地址不变的情况下修改x和y

x=200
y=100
z=x
x=y
y=z
print('x:'x,'y:'y)
x:100
y:200
x=200
y=100
x,y = y,x
print('x:'x,'y:'y)
x:100
y:200

14.注释

方便以后调用代码时能看得懂。

代码注释分单行和多行注释,单行注释用#,多行注释可以用三对单/双引号,使用三引号

可以注释换行

#单行注释

'''
三单引号注释
三单引号注释
''' ''''''
三单引号注释
三单引号注释
''''''

注释原则:

1.不用全部加注释,对重要部分或不好理解部分加注释即可。

2.注释可以用中文或英文,但不要用拼音。

四、Python基础(1)的更多相关文章

  1. 二十四. Python基础(24)--封装

    二十四. Python基础(24)--封装 ● 知识结构   ● 类属性和__slots__属性 class Student(object):     grade = 3 # 也可以写在__slots ...

  2. 十四. Python基础(14)--递归

    十四. Python基础(14)--递归 1 ● 递归(recursion) 概念: recursive functions-functions that call themselves either ...

  3. 四. Python基础(4)--语法

    四. Python基础(4)--语法 1 ● 比较几种实现循环的代码 i = 1 sum = 0 while i <= 10: # 循环10-1+1=10次     sum += i     i ...

  4. 四.python基础数据类型

    一.什么是数据类型? 什么是数据类型? 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不 ...

  5. Python 全栈开发四 python基础 函数

    一.函数的基本语法和特性 函数的定义 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的.函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数 ...

  6. 四 Python基础

    Python是一种计算机编程语言.计算机编程语言和我们日常使用的自然语言有所不同,最大的区别就是,自然语言在不同的语境下有不同的理解,而计算机要根据编程语言执行任务,就必须保证编程语言写出的程序决不能 ...

  7. Python 基础语法(四)

    Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...

  8. Python 基础 四 面向对象杂谈

    Python 基础  四  面向对象杂谈 一.isinstance(obj,cls) 与issubcalss(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls ...

  9. 第四章:Python基础の快速认识內置函数和操作实战

    本課主題 內置函数介紹和操作实战 装饰器介紹和操作实战 本周作业 內置函数介紹和操作实战 返回Boolean值的內置函数 all( ): 接受一個可以被迭代的對象,如果函数裡所有為真,才會真:有一個是 ...

  10. python学习第四讲,python基础语法之判断语句,循环语句

    目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...

随机推荐

  1. Mysql事务隔离级别和锁机制

    一.Spring支持四种事务隔离级别: 1.ISOLATION_READ_UNCOMMITTED(读未提交):这是事务最低的隔离级别,它充许令外一个事务可以看到这个事务未提交的数据. 2.ISOLAT ...

  2. HTTP&HTTPS

    主要参考文档:<图解HTTP> HTTP简介 什么是HTTP? HTTP:(HyperText Transfer Protocol),超文本传输协议,是一个基于请求和响应,无状态的,应用层 ...

  3. java代码书写易犯错误

    java代码书写易犯错误: 常见报错: 控制台报错: 找不到或无法加载主类 HelloWorld 原因: java.lang.NoClassDefFoundError: cn/itcast/day01 ...

  4. Cisco packet tracer6.0下的网络工程实训

    期末的专业实训,在cisco6.0下配置一个简单的局域网.主要用到了下面几个技术:dhcp中继.vlan的划分.链路聚合.静态nat.ospf协议.访问控制列表.先看一下总的拓扑图,在分步实现功能. ...

  5. MySQL索引的数据结构-B+树介绍

    目录 一.树 二.B+树 2.1 B+树性质 三.聚集索引和辅助索引 3.1 聚集索引 3.2 辅助索引 3.3 聚集索引和非聚集索引的区别 四.再看B+树 4.1 B+树的插入操作 4.2 B+树的 ...

  6. Codeforces 755B:PolandBall and Game(map+思维)

    http://codeforces.com/problemset/problem/755/B 题意:A可以喊出n个字符串,B可以喊出m个字符串,如果一个字符串之前被喊过,那么它再也不能喊了,A先喊,最 ...

  7. C# 6 新语法

    1. using 声明的静态用法 2. 表达式体方法 3. 表达式体属性 4. 自动实现的属性初始化器 5. 只读的自动属性 6. nameof 运算符 7. 空值传播运算符 8. 字符串插值 9. ...

  8. redis 基础数据结构实现

    参考文献 redis数据结构分析 Skip List(跳跃表)原理详解 redis 源码分析之内存布局 Redis 基础数据结构与对象 Redis设计与实现-第7章-压缩列表 在redis中构建了自己 ...

  9. kuangbin专题 专题一 简单搜索 非常可乐 HDU - 1495

    题目链接:https://vjudge.net/problem/HDU-1495 题意:有两个空杯(分别是N升和M升)和一罐满的可乐S升,S = N + M,三个容器可以互相倾倒,如果A倒入B,只有两 ...

  10. RSYNC部署

    1 rsync简介 1.1 什么是rsync rsync: - a fast, versatile, remote (and local) file-copying toolrsync:是一种快速,多 ...