Python之基本数据类型

python基本数据类型
a, b, c = 1, 2.5, 3+4j #赋值方式, 支持复数
"""
标准数据类型分为
Number----数字
String----字符串
List------列表
Tuple-----元组
Set ------集合
Dictionary--字典
可变与不可变数据类型:
可变数据类型就是允许数值发生改变,不可变就是不允许,其中差别:
不可变数据类型如果使用赋值等操作,相当于新建一个对象, 而对于相同值的对象在内存中只有一个, 内部会有一个计数器来记录这个变量会有多少引用

可变:List Dictionary Set

不可变: Number String Tuple

"""
#Number(数字)
#python3 支持int float bool complex
#python3 int == 长整型 没有python2中的Long
a, b, c, d = 20, 5.5, True, 4+3j #complex(4,3) 另一种表示方式
print(type(a), type(b), type(c), type(d))
#输出<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
#type用于判断变量所指对象类型
print(isinstance(a))
#输出:True
#isinstance():判断变量对象类型
#区别如下:
#type(): 不会认为子类是父类类型
#isinstance(): 会认为子类是父类类型


#del: 删除一些对象引用
var = 1
var1 = 2 
del var, var1
print(var)#error
#类似于C++delete释放空间
数值运算
#其余运算基本一致这几个与C++不同
2 // 4  = 0.5#除法,得到一个整数
2 / 4 = 0    #除法,得到一个浮点数
17 % 3 = 2   #取余
2 ** 5 = 32  #乘方
String(字符串)

img

#字符串截取的语法格式
#变量[头下标:尾下标]
str = 'Hello,world' 

print(str[0]) #H
print(str[0:-1]) #Hello,worl

print(str*2)#Hello,worldHello,world
print(str + "ssss")Hello,worlssss

#若向一个索引位置赋值会出现错误
#例如
str[2] = 'n'
List(列表)

img

#列表中元素的类型可以不同, 它支持数字,字符串甚至可以包含列表
#其余方法跟String基本相同
#列表可以改变值
#列表用中括号抒写
ls = [5454, 12.5, '213', 4+3j]
ls[1:3] = ['a', 'b']#批量修改 
Tuple(元组)
#元组不能修改
#元组用小括号抒写
#元组内元素可以不同
tuple = (5454, 12.5, '213', 4+3j)#元组是特殊的字符串
tuple = () #空元组
tuple = (1, )#一个元素的元组要加","号

上述都是序列



Set(集合)

集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。

基本功能是进行成员关系测试和删除重复元素。

student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
 
print(student)   # 输出集合,重复的元素被自动去掉
 
# 成员测试
if 'Rose' in student :
    print('Rose 在集合中')
else :
    print('Rose 不在集合中')
 
 
# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')
 
print(a)
 
print(a - b)     # a 和 b 的差集
 
print(a | b)     # a 和 b 的并集
 
print(a & b)     # a 和 b 的交集
 
print(a ^ b)     # a 和 b 中不同时存在的元素
"""
1. 集合元素不可重复
2. 集合中元素增删改查通过方法
"""
Dictionary(字典)

列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

# 键值对
dict = {}
dict['one'] = "1 - hello"
dict[2]     = "2 - world"
 
tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
 
 
print (dict['one'])       # 输出键为 'one' 的值
print (dict[2])           # 输出键为 2 的值
print (tinydict)          # 输出完整的字典
print (tinydict.keys())   # 输出所有键
print (tinydict.values()) # 输出所有值

#注意:
#1、字典是一种映射类型,它的元素是键值对。
#2、字典的关键字必须为不可变类型,且不能重复。
#3、创建空字典使用 { }。

dir = dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)])
dir = dict(h = 1, e = 2, o = 3)
dir = {x: x**2 for x in (2, 4, 6)}
#三种构造形式
数值转换
函数描述
[int(x ,base])将x转换为一个整数
float(x)将x转换到一个浮点数
[complex(real ,imag])创建一个复数
str(x)将对象 x 转换为字符串
repr(x)将对象 x 转换为表达式字符串
eval(str)用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s)将序列 s 转换为一个元组
list(s)将序列 s 转换为一个列表
set(s)转换为可变集合
dict(d)创建一个字典。d 必须是一个序列 (key,value)元组。
frozenset(s)转换为不可变集合
chr(x)将一个整数转换为一个字符
ord(x)将一个字符转换为它的整数值
hex(x)将一个整数转换为一个十六进制字符串
oct(x)将一个整数转换为一个八进制字符串
拓展
#元组可作为函数的返回值
def ex(a,b):
	return (a,b)

#python变长参数
def test(*arg):
    print(arg)
    return arg

print(type(test(1,2,3))) #返回值是元组

#字典
#字典的实现是哈希表实现的

def ex(d):
    for c in d:
        print(c)

ex(dict(k = 1,h = 2)) #只会输出 k h
#改进
def ex(d):
    for c in d:
        print(c, ':', d[c]) #print可以输出多个参数, 用","号分隔


ex(dict(k=1, h=2))

#type 与 isinstance的区别
# 判断子类对象是否继承于父类
#isinstance判断某个类是否继承某个类
class father(object):
    pass
class son(father):
    pass
if __name__ == '__main__':
    print (type(son())==father)
    print (isinstance(son(),father))
    print (type(son()))
    print (type(son))
    
False
True
<class '__main__.son'>
<class 'type'>

#切片还可以设置步长
demo = [1, 2, 3, 4, 5, 6]
print(demo[1::2]) #[2, 4, 6]取出来是一个新的列表

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值