细碎知识点:
- 数字内有范围问题=>溢出问题(例如成绩分等级问题)
- 动态字符串长度
- 容器(批量元素处理)
- 元组不变=>目的是防止修改
- 字典=>(L值:key)
第二章基本数据类型
目录
2.2常量(在运行中,值不会发生变化的量,一般通过人工初始化或者 是键盘输入)
2.1定义
分类根据被定义的性质,表现形式,占据空间大小,构造特点进行分类,结构可以这么看
2.2常量(在运行中,值不会发生变化的量,一般通过人工初始化或者 是键盘输入)
2.2.1整型(int)
- 十进制:数字、正负号、位数任意
- 八进制:首先由0O开头(零o),或者是函数act()实现值的转变
- 十六进制:0x或者0X(0-9、a-f),转变函数hex()
- 二机制:0b开头,可用bin()函数转变
小黄提醒:
在python3中,下划线可以分隔开数字方便阅读,并且不会对数字的值进行什么改变。
a=11_11_22
b=111122
print(type(a))
print(type(b))
print(id(a))
print(id(b))
最后结果
2.2.3浮点数
2.2.3.1小数表现方法
数字,小数点,符号构成
2.2.3.2科学技术法
格式:xey
例如:3e2 ===>3*10*2
-
E后必须为整数 ,2.5e3.5 报错
-
e前后不能由空格
-
x与y一个都不能少
小黄提醒:
- =是赋值,==是比较是否是相同的
- 建议浮点数不要加减,因为机器是将人的语言转为二进制,在进行计算时会有误差所以去尽量避免去浮点数的加减。 (短乘取整)
- bool可以用于数的进行加减
- 在python2中无布尔类型
2.2.4布尔类型(bool)
-
作用:用于表示真与假,本质为数字类型
-
组成:True 和 False
-
True 和 False 第一个字母必须大写
2.2.5字符串
-
本质:python中的字符串本质是一种序列,其值本质为串首地址,是一个抽象的概念,值不可改变。
-
定界符:‘单引号’ “双引号” “”“ 三引号”“”
-
注意:定界符首尾必须相同
-
三引号可以使字符串分布多行(即enter回车)
小黄提醒:
python是序列,一维线性,其值为串值地址,只读属性。
堆(堆栈) | 存放动态数据的地方 |
静态数据 | 常量 |
程序存储区 | XXX(没搞明白) |
2.2.6转义字符
转义字符 | 意思 |
\n | 回车换行 |
\r | 将输入起点光标在开头 |
\t | 制表符 |
\b | 退格,光标向左移动一格 |
\f | 换页 |
\ | 输出一个反斜杠 |
\' | 输出一个单引号 |
\000 | 空 |
\yyy | 以\开头后跟三位八进制 |
\xyy | 以\x开头后跟两位十六进制数字 |
小黄提醒:
使转义字符失效只需要在前面加r
print(r'c:\windows\new')
2.3变量
2.3.1变量名
-
变量名又称为标识符,用于标识变量空间、函数、类等的名称
-
组成:字母、下划线、数字组成,不能以数字开头,name:mod_123 3word(错误)
a.dat (错误) print
-
注意:变量名字母区分大小写
-
关键字不能做为变量名
小黄提醒:
在python中查看保留字
import keyword
print(keyword.kwlist)
python以下划线开头的标识符有特殊意义,一般需要避免使用
- 单下划线开头,如:_width , 表示不能直接访问的类属性
- 双下划线开头,如:_ _add , 类私有成员
- 双下划线开头和结尾,_ _ init_ _ () 构造函数
- python支持汉语变量名,但不推荐
2.3.2变量定义
-
格式:变量名=value (= 念做赋值,不是等于)
-
python中变量不需要声明类型,通过存储的数据动态变化
-
新的变量通过赋值动作进行开辟内存空间,保存数据,若变量未赋值直接引用会抛出异常
x print(x) Traceback (most recent call last): File "D:\python\test1\test.py", line 1, in <module> x NameError: name 'x' is not defined
- 变量类型是通过赋值动态变化的:
number = 2048
print(type(number))
number = 'china'
print(type(number))
number = 3.14
print(type(number))
# 结果:
<class 'int'>
<class 'str'>
<class 'float'>
# type() 测试数据类型的函数
小黄提醒:
python中一切数据皆为对象,变量是对象的引用
对象是分配的一块内存空间,拥有特定的值,支持特定的操作,是一种容器!!!
(其实我也不是很懂这一块地方,但是建议记住,这样下次在遇到时就可以更好理解)
如何理解变量名和变量值
a=2
1、建立对象空间存储数据2,对其贴上标签进行绑定
a=10
2、标签a从存储数据2的对象空间里面私下来贴到10这个对象空间里面
b=a
3、10这个对象空间贴上了a和b两个标签,对象空间的引用
a = b = 1024
print(id(a), id(b))
a = 2048
print(id(a), id(b))
输出结果: