Python学习笔记之二(从对象到列表字符串部分常用函数介绍待补充)

对象:

Python中一切皆对象。每个对象由:标识、类型、value组成

  1. 标识用于唯一标识对象,通常对应于对在计算机内存中的地址。使用内置函数id(obj)可返回对象obj的标识
  2. 类型用于表示对象存储的“数据”的类型,类型可以显示对象的取值范围以及可执行的操作。可以使用typeof(obj)获得对象所属的类型。
  3. 值表示对象所存储的数据的信息。使用print(obj)可以直接打印出值。

对象的本质就是:一个内存块,拥有特定的值,支持特定类型的相关操作。

引用

在python中,变量也称为:对象的引用。因为,、变量存储的就是对象的地址。

变量通过地址引用了“对象”。

变量位于:栈内存(压栈出栈)

对象位于:堆内存

关于栈和堆后面讲方法的时候细说。

Python是动态类型语言

变量不需要显式声明类型。根据变量引用的对象,Python解释器自动确定数据类型。

Python是强解释类型语言

每个对象都有数据类型,只支持该类型支持的操作。

标识符

基本用法:

标识符基本用于变量,函数,类,模块等的名称。

规则:

  1. 区分大小写
  2. 字符必须由字母,数字,下划线组成,第一个字符不能为数字
  3. 不能使用关键字
  4. 以双下划线开头和结尾的名称通常有特殊的含义,比如:_init_是类的构造函数

 

【注意】可使用help()>>keywords查看关键字

也可以按f1查看帮助

变量和简单赋值语句

变量的声明和赋值

变量的声明和赋值用于将一个变量绑定到一个对象上,格式如下:

变量名 = 表达式

 

最简单的表达式就是字面量,比如: a = 123,运行过程中,解释器先运行右边的表达式,生成一个代表表达式运算结果的对象,然后将这个对象地址赋值给左边的变量。

 

【注意】变量使用前必须先被初始化(先被赋值)

 

删除变量和垃圾回收机制

可以通过del语句删除不再使用的变量:del 变量名

如果对象没有变量引用,就会被垃圾回收器回收,清空内存空间。

 

链式赋值

将一个对象赋值给多个变量:x = y = 123;相当于 x =123; y = 123;

系列解包赋值

a,b,c = 1,2,3 相当于 a = 1; b = 2; c = 3;

可以实现变量交换

a,b = 1,2

a,b = b,a

常量

python不支持常量,即没有语法规则限制改变一个常量的值,我们只能约定常量的命名规则,以及在程序的逻辑上不对常量的值做出改变---实际上是可以更改的

 

最基本的内置数据类型介绍

每个对象中都有数据类型,python中最基本的内置数据类型:

  1. 整型:整数
  2. 浮点型:如小数或者科学计数法
  3. 布尔型:表示真假,仅包含true和false
  4. 字符串型:由字符组成的序列----”abc”

关于基本的运算

需要特别说明的地方:

/表示的是浮点数除法---如:8/2=4.0

//表示的是整数除法-----如:7/2=3

**表示取幂----2**3 = 8

使用divmod(13,3)函数可以同时得到商和余数

0xff为什么折算成十进制是255呢?

Ff----1515---255---25/16=1...9 95/16=5...15 1515也就是ff 反过来怎么算呢

ff也就是1515 15+15*16=255

使用int()实现类型转换

  1. 浮点数直接舍去小数部分,如int(9.9) = 9
  2. 布尔值true直接转换为1
  3. 字符串符合整数格式(浮点数格式不行)则直接转换成对应的整数,否则报错如:int(“234abc”)则直接报错

自动转型

整数和浮点数混合运算的时候,表达式的结果自动转换成浮点数,比如:8+2.0=10.0

整数可以有多大

Python3中,可以存储任意大小的整数,long被取消

正因为如此,python3中可以做超大数的计算,而不会造成“整数溢出”,Python3适合做科学运算

浮点数

浮点数,称为:float

浮点数用a x b(上标)形式的科学计算法表示,比如:3.14表示成314E-2

这些数字在内存中也按照科学计数法存储

类型转换和四舍五入

1.类似于int()我们也可以使用float将其他类型转化为浮点数

2.整数和浮点数混合运算的时候,表达式的运算结果会自动被转换为浮点数

3.round()四舍五入值

时间的表示

1970这个时间点成为“unix时间点”,python中可以通过time.time()获得当前时刻,返回的值是以秒为单位,带微妙(1/1000毫秒)精度的浮点值。

布尔值

Python3中,把true和false定义成了关键字,但是他们的本质还是1和0,甚至可以和数字相加。

逻辑运算符

Or and not

X or y :

x为true则不计算y的值,直接返回true

X为false,则返回y

X and y:

x为true,则直接返回y值

y为false,则直接返回false

同一运算符

用于比较两个对象的存储单元,实际比较的是对象的地址

运算符

Is:判断两个标识符是不是引用同一个对象

Is not:是判断两个标识符是不是引用不同的对象

Is与 = =的区别:

Is用于判断两个变量引用对象是否为同一个,即比较对象的地址

==:用于判断引用变量引用对象的值是否相等,默认调用随想的_eq_()方法

整数缓存问题

Python仅仅对比较小的整数对象进行缓存,范围为[-5,256]缓存起来,并非是所有整数对象。需注意的是,这仅仅是在命令行中执行,而在pycharm或者保存为文件执行,结果十步一眼的,这是因为解释器做了一部分优化---范围是[-5,任意正整数]

字符串

字符串的基本特点

字符串的本事是:字符序列。Python的字符串是不可变的,我们无法对原字符串做任何修改,但是可以将原字符串的一部分复制到新创建的字符串,达到看起来修改的效果

Python不支持单字符类型,单字符类型也是作为一个字符串使用的

字符串的编码

Python3直接支持unicode,可以表示世界上任何书面语言的字符,python3的字符默认就是16位的unicode编码,asciii吗是unicode编码的子集。

使用内置ord()可以吧字符转换成对应的unicode码;使用内置函数chr()可以将十进制字符转换成对应的字符。

引号创建字符串

我们可以通过单引号或者双引号创建字符串。例如:a = ‘abc’

使用两种引号的好处是可以创建本身就包含引号的字符串,而不用使用转义字符。

连续三个单引号或三个双引号,可以帮助我嫩创建多行字符串。

如:resume = ‘’’name = “gaoqi”

Conpany = “sxt”

Lover = “Tom”’’’

空字符串和len()函数

Python允许空字符串的存在,不包含任何字符且长度为0.

Len()函数用于计算字符串的长度

 

转义字符

注意:转义字符还是要写在冒号里面的

我们可以使用“\+特殊字符”,实现某些难以用字符表示的效果。比如换行等

常见的转义字符有

转义字符

描述

\(在行尾时)

续行符

\\

反斜杠符号

\’

单引号

\”

双引号

\b

退格

\n

换行

\t

横向制表符

\r

回车

 

字符串的拼接

 

字符串的复制

使用“*”比如:’gaoqq’*3 == ‘gaoqqgaoqqgaoqq’

不换行打印

 

控制台上读取字符串

 

字符串的占位符:

关于format函数的使用。

 

 

通过前面的{}来控制输出格式,通过format中传递的参数向前面的{}传递参数

还可以通过字典设置参数或者通过列表设置参数

 

下面这种传对象的暂时不是很明白

 

列表

列表的方法:

Append()用于在列表中添加新的对象

Extend()函数是向列表中传递一个列表对象,将该列表中的每个元素都传递给原列表

 

 多维列表

二维列表

一维列表可以帮我们存储一维的,线性的数据

二维列表可以帮我们存储二维表格的数据

如何表示一张二维列表呢?

姓名

年龄

薪资

城市

高小一

18

30000

北京

高小二

19

20000

上海

高小五

20

10000

深圳

用程序表示以及引用上面的表格:

 

在内存的结构中,只存了三个一维数组的第一个元素的地址

也就是a[0][0],a[1][0],a[2][0]

扩展:如何遍历二维数组中的所有数据

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值