python基础学习1——python对象模型
整体介绍
对象类型 | 类型名称 | 示例 | 说明 |
---|---|---|---|
数字 | int(整型),float(浮点型,也就是小数),complex(复数) | 123,3.14,1.3e3,3+4j | 数字大小没有限制范围 |
字符串 | str | ‘asf’,“sds as”,‘’‘Pthn’‘’,r’abc’,R’dds’ | 使用单引号、双引号、三引号作为界定符,或者以r或R引导,表示字符串 |
字节串 | bytes | b’hello world’ | 以字母b引导,可以配合使用单引号、双引号和三引号作为界定符。(字节串和字符串的区别会在后面进行详细的解释) |
列表 | list | [1,2,3],[‘a’,‘b’],[‘a’,2],[‘a’,‘2’] | 元素可以是任意类型 |
字典 | dict | {1:’food,2:’taste‘} | 元素形式对应位“键:值” |
元组 | tuple | (2,3,4),(3,)(后边详讲元组得时候会有重点讲解) | 最大的特点是不可变 |
集合 | set frozenset | {‘a’,‘b’,‘c’} | 可变,元素不允许重复 |
布尔型 | bool | 'True,Flase | 逻辑值,关系运算、成员测试运算符、同意性测试 |
空类型 | NoneType | None | 代表空的意思 |
异常 | Exception、ValueError、TypeError | 一般来说见到他们的时候都是说明自己的代码出bug了,可能是大家最烦的一类对象 | |
文件 | f = open(‘data.dat’, ‘rb’) | open是Python内置函数,使用指定 | |
可迭代对象 | 生成器对象、range对象、zip对象、enumerate对象、map对象、filter对象等(后边会经常遇到这些函数,在后边内容会有详解) | 的模式打开文件,返回文件对象具有惰性求值的特点,除range对象 之外,其他对象中的元素只能看一次 | |
编程单元 | 函数(def定义) 类(class定义) 模块(类型为module) | 类和函数都属于可调用对象,模块 用来集中存放函数、类、常量或其 他对象 |
python的变量说明
python区别于c语言的重要一点就是无需声明变量,并且可以自动识别各个变量,各个变量之间可以互相转换。
并且可以在此介绍python的两个内置函数——type()和isinstance()函数
type()函数:
type(object)
object是任意类型的对象,type(object)返回于object的类型
isinstance()函数:
isinstance(object, classinfo)
object :实例对象
classinfo :类型可以是直接或间接类名、基本类型以及元组
(本节只简单介绍类型的几种,等到讲解到类时会再将此函数拿出来进行详解)
只要object的类型是classinfo,那么就会返回true,否则就是false。
不太好理解的是第三行函数代码,classinfo是一个元组,object只要满足元组类型中的其中一个即可,元组中含有int(整数),所以函数返回值是true。
python变量的内存管理
变量名称=赋值语句,例如a=2+5。
python变量的内存管理机制很特殊,首先把等号右侧表达式的值计算出来,然后在内存中寻找一个位置把值存放进去,最后创建变量并指向这个内存地址。
下面图片是第一次打开python,进行赋值。
然后,关闭python并且重新打开,如下图所示。
正确印证python变量的赋值过程。
并且python之中是允许不同的变量名指向同一个值的,具体过程如下面所示:
两个变量指向同一个值时,一个变量修改值以后,其内存地址将会变化,但这并不影响另一个变量。具体如下图所示:
(x+=2此表达式与x=x+2的含义相同)
python变量名的命名规则
- 变量名必须以字母或下划线开头,但以下划线开头的变量在Python中有特殊含义(注意不要用数字开头);
- 变量名中不能有空格以及标点符号(括号、引号、逗号、斜线、反斜线、冒号、句号、问号等等);
- 不能使用关键字作变量名,可以导入keyword模块后使用print(keyword.kwlist)查看所有 Python关键字;例如and,as等等;
- 不建议使用系统内置的模块名、类型名或函数名以及已导入的模块名及其成员名作变量名,这将会改变其类型和含义,可以通过dir(builtins)查看所有内置模块、类型和函数;
- 变量名对英文字母的大小写敏感,例如student和Student是不同的变量。
python数字介绍
-
十进制整数如,0、-1、9、123
-
十六进制整数,需要16个数字0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f来表示整
数,必须以0x开头,如0x10、0xfa、0xabcdef
-
八进制整数,只需要8个数字0、1、2、3、4、5、6、7来表示整数,必须以0o开头,如0o35、0o11
-
二进制整数,只需要2个数字0、1来表示整数,必须以0b开头如,0b101、0b100
(进制之间的转换就不在这里赘述了)
6、7来表示整数,必须以0o开头,如0o35、0o11 -
二进制整数,只需要2个数字0、1来表示整数,必须以0b开头如,0b101、0b100
(进制之间的转换就不在这里赘述了)