python学习第二、三天

python的变量类型–数值,字符串,列表,元祖,字典

1.变量

1.概念层级

表达式:用于创建和处理对象
语句
模块
程序

2.变量的概念

python中的变量是动态类型,不像其它语言,没有类型约束,变量的类型取决于它所关联的对象,即变量类型只与对象有关,跟变量名无关。声明一个变量后并指向特定的对象后,内存中会根据对象类型在内存中开辟一块空间,可根据id(变量名)返回变量指向的对象的内存地址。

3.变量的创建

在第一次赋值时创建,之后可根据需要更改类型,字面值等

4.在内存中的原理

变量名可以指向不同的对象,当此变量名不再指向它所引用的对象后,python虚拟机pvm会根据垃圾回收机制,在对象的引用次数计数器-1,当对象的内部计数器为0,pvm的垃圾回收会清理此对象。
同一个对象可以被多次引用,即共享引用,python对于小于等于28=256的整数,事先在内存中开辟了内存地址,当你声明一个小于256的变量指向所对相应的字面值的时候,直接引用已存在的内存地址即可。
注:

a = 255 b = a          b == a(true) b is a(true)
a = 255 b = 255      b == a(true) b is a(true)  
a = 257 b = a          b == a(true) b is a(true)
a = 257 b = 257      b == a(true) b is a(false)

2.数据类型

1)数值:
int:
无限精度,大小只受限与内存与计算配置
八进制 0o oct(十进制)返回相应的进制
十六进制 0x ox9 = 9 oxa=10 oxf=15 hex(十进制)
二进制 0b bin(十进制)
float:
精度不够,是计算机cpu计算的问题,与python无关
小数取整
import math
向下/左取整 math.floor
向0取整math.trunc
四舍五入round()
除法:/ 标准除 //整除,即取整除部分
比较运算符:> < >= <= == !=
显式格式化: x = 3.33333333 ‘{0:.2f}’.format(x)
Decimal:
imort decimal
a = decimal.Decimal(‘1.3’)+decimal.Decimal(‘3.1’)
a = 4.4
bool在python中bool值的本质是int,即True == 1, Flase == 0.因此res = True + 5 ⇒ res = 6
fraction
2)字符串str
本质是字符的有序序列,不支持原位改变,要改变其值只能重新赋值于它
引号
单引号’'表示字符串
双引号“”表示字符串
三引号“”“##”“”生成说明性文档,通过help()可查看文档说明
特殊字符转义符 \
换行\n, backspace \b, tab \t
忽略转义符r(row)
基本操作
str = ‘hello’
len(str) => 5
str * 5 => hellohellohellohellohello
ord(‘字符’)
chr(数值)
replace,split,startswith,endswith,find,format,upper,lower,strip,lstrip,rstrip等

3)列表list
特性:任意对象的有序集合,可变长度,可变序列,通过索引访问其中元素
声明:1)字面值[] 2)构造方法list
常用操作
长度len,
合并列表+,
判断是否存在某个元素in(用法:元素 in 列表 ==>返回True 或 Flase),
遍历,
支持列表推导,
追加append,
扩展一个列表extend
(扩展列表与追加元素的区别:扩展列表是将两个列表连接到一起,等同于+操作;append是将元素追加到列表后面位置)
排序sort,
反转reverse,
删除pop,del,
返回下标索引index,
统计元素个数count
:列表list支持原位改变,listb = lista,当lista改变时,listb会跟着改变,若不想让listb跟着变,可采用生成副本的方式,如[:],copy等

4)字典dict
特性:本质是映射,通过键值对存储,无序集合,支持原位改变,支持套用
声明:通过字面值{}声明,通过构造函数dict()声明
常用操作:
合并update
通过键获取值d[“key”]或d.get(“键”,默认值)
获取键d.keys()返回一个可迭代对象,看似列表,实则视图
获取值d.values()返回一个可迭代对象,看似列表,实则视图
d.items()返回键值
无序变有序
1)通过key的列表list的sort()方法,遍历排序后的keys
2)通过遍历键的sorted()方法,遍历排序后的keys
3)通过导入包
:字典的键必须是不可变类型,因此列表list不能作为字典的key

5)元祖tuple
特性:任意对象的有序集合,长度固定,不支持原位改变,可任意嵌套
声明:()可以省去,若声明只有一个元素的tuple,可通过逗号试别为元祖,如,x = (1,)
交换变量:python中的交换变量很简单,不必像其他语言一样声明第三方变量,可直接交换,如 x,y = y,x
常用操作
长度len
元素计数count
namedtuple:是tuple,类,字典dit的混合体,实现类似类的功能
from collections import namedtuple

6)文件file
7)集合set
8)布尔boolean
9)空 none
10)程序单元(函数function,模块,类class)
11)其它

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值