03-Python数据类型

1.Python变量

    ①、Python中的变量赋值不需要类型声明

    ②、变量在使用前必须赋值,变量在赋值时才会被真正创建

    ③、每个变量在内存中创建,包含标识符、名称和数据信息

    ④、变量可以通过赋值指向不同类型的对象

name = 'Coder_LW'
age = 22
height = 1.80

name,age,height = 'Coder_LW',23,1.80

print(name,age,height)

# 删除对象的引用
del name
del age,height

# NameError: name 'name' is not defined
print('name')

2.Python标准数据类型

    ①、Number(数字):支持int、float、bool、complex(复数),其Python 2.x还有long类型

    ②、String(字符串)

    ③、List(列表)

    ④、Tuple(元组):与swift不同的是Python元组是不可变列表,无法修改

    ⑤、Sets(集合):同Object-C中的NSSet,无序不重复序列

    ⑥、Dictionary(字典)

# print(type(xxx))

a,b,c,d = 100,1.88,True,6+6j

print(type(a))
print(type(b))
print(type(c))
print(type(d))

e = 'Hello Python'
f = ['H','e','l','l','o']
g = ('P','y','t','h','o','n')
h = {'C','O','D','E','R','R'}
i = {1:'Hello',2:'Python'}

print(type(e))
print(type(f))
print(type(g))
print(type(h))
print(type(i))

# <class 'int'>
# <class 'float'>
# <class 'bool'>
# 复数表示多数的变化形式或多数形式的词,可以用a + bj,或者complex(a,b)表示,其中a和b是实数。
# <class 'complex'>

# Python字符串不能被修改,可以通过方法replace(old,new)进行修改,但其实是重新赋值。
# <class 'str'>
# <class 'list'>
# 与Swift元组不同的是Python中元组的元素不可修改。
# <class 'tuple'>   
# 同Object-C中的NSSet,无序不重复序列,其会自动去重;可以用{}或set()标识,但创建时只能用set()。
# <class 'set'>      
# <class 'dict'>

3、关于type(x)和isinstance(x,class)

    注:同OC中isMemberOfClass和isKindOfClass两个方法的含义

    ①、type()不会认为子类是一种父类类型。

    ②、isinstance()会认为子类是一种父类类型

4、关于Python中 [头下标:尾下标] 索引的问题

    ①、Python中有两种索引方式 :

        从左到右索引值以头下标 0 开始

        从右到左索引值以尾下标 -1 开始

          x  x  x  x  x  x

从左到右   0  1  2  3  4  5

从右到左  -6 -5 -4 -3 -2 -1  

    ②、Python支持索引的数据类型:

        String、 List、Tuple、Sets、 Dictionary

        1> 以 [头下标:尾下标] <从右到左> 索引的数据,是右开区间,即不包含 尾下标 所对应的数据

        2> String中 \ 转义特殊字符,而在String前加上r标识不想让转义符\发生作用

        3> 上述数据都可使用 + 连接符和 * 重复运算符

5、Sets集合可以进行集合运算

x = set('Hello Python')
y = set('Coder LW')
 
print(x - y)     # a和b的差集
print(x | y)     # a和b的并集
print(x & y)     # a和b的交集
print(x ^ y)     # a和b中不同时存在的元素

6、Python数据类型转换

# 转化为字符串
print(str(666))
# 字符串转float
print(float('1.82'))
# 字符串转int
print(int('666'))
# 创建一个复数
print(complex(6))
# 将一个整数转化为字符:根据ASCII码转化,相当于C语言的%c输出
print(chr(97))
# 将一个字符转换为一个整型:相当于C语言的%d输出
print(ord('A'))
# 将一个整数转换一个十六进制/八进制字符串
print(hex(97))
print(oct(97))

jsonStr = "{1:'this', 2:'is', 3:'dictionary', 4:'4'}"
result = {1:'this', 2:'is', 3:'dictionary', 4:'4'}
# 将表达式字符串转换成对象,Json解析
print(eval(jsonStr))
# 将其对象转换成表达式字符串,相当于Object-C的Description方法
print(repr(result))

# 将序列 s 转换为一个元组
tuple(s)
# 将序列 s 转换为一个列表
list(s)
# 转换为可变集合
set(s)
# 转为不可变集合:输出frozenset({'Coder', 23})
frozenset(['Coder',23])
# 创建一个字典。d 必须是一个序列 (key,value)元组。
dict(d)


 

转载于:https://my.oschina.net/CoderW/blog/994223

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值