博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 基础3:基本的数据类型
阅读量:7040 次
发布时间:2019-06-28

本文共 5460 字,大约阅读时间需要 18 分钟。

基本的数据类型

一、int,整形

  a、创建方式

    n1 = 123

    n2 = int (123)

  b、int内部优化

    默认-5~257的数共用一份地址

    ===》 id(对象内存地址) = id(对象或变量名)

   c、长度限制

    32   -2**31~2**31-1

    64 -2**63~2**63-1

    在py3里面没有限制

二、str,字符串

  a、创建方式

    s1 = “alex”

    s1 = str(“alex”)

  b、特有功能

    sl = "alex"

    1、两端去空格:s1.strip

    2、以。。。开头:s1.startswith()

    3、找子序列“12”,“h”:s1.find()

    4、将字符串中的某子序列替换成指定的值:s1.replace()

    5、变大写:s1.upper()

    6、是。。。吗:s1.isalphe()

    7、join将什么以什么的形式连接起来:

      li = ["alex",'sb']

      l1 = "_".join(li)

      l1对应的值 alex_sb

  c、公共功能

    索引:只能取一个元素

    切片:取多个元素

    len:计算元素长度

      3.5里面是用字符来表示的

      2.7里面是字节

    for:

      3.5里面是用字符来表示的

    

    编码、for:

    name = "李璐"
    for i in name:
      print(i)
      bytes_list = (bytes(i,encoding='utf-8'))
      print(bytes_list)
      for b in bytes_list:
    1、3.5 for循环时候,循环的每一个元素是“字符”

    2、字符==》字节:
      bytes_list = bytes("字符串",encoding="utf-8")
       utf-8 =》 3个字节
       gbf =》 2个字节
      print(bytes_list)#默认每一个字节都是16进制表示
      for b in bytes_list:
        print(b)#默认没一个字节都是10进制表示
  
    3、10进制的数字==》2进制
      len
      id
      bin(加一个10进制的数字,变成2进制)

 

    

  d、字节和字符串的相互转换:bytes和str

     

a = "李璐"            #将字符串转换成字节            b1 = bytes(a,encoding="utf-8")            print(b1)            b2 = bytes(a,encoding='gbk')            print(b2)            #将字节转换成字符串            newal = str(b1,encoding="utf-8")            print(newal)            newa2 = str(b2,encoding="gbk")            print(newa2)

 

三、list,列表

  a、创建方式

    li = [11,22,33,44]

    li = list()

    li = list([11,22,33,44])

  b、转换

    1、字符串转换成列表

s1 = "李璐"#for,字符==>可迭代li = list(s1)#for循环,将循环的每一个元素,当做列表的元素#["李""璐"]print(li)#结果:['李', '璐']

 

    2、元组转换成列表

# 元组转换成列表t2 = ("acker", "seven", "laolanhai")l2 = list(t2)print(l2)#结果:['acker', 'seven', 'laolanhai']

    3、字典转换成列表

# 字典转换成列表dic = {
"k1": "alex", "k2": "seven"}l3 = list(dic.items())print(l3)#结果:[('k1', 'alex'), ('k2', 'seven')]# 字典由key和values组成键值对# 字符串,元组,字典==>列表

  c、特有功能

    li = [111,22,3]

    1、追加:li.append()

    2、清除:li.clear()

    3、翻转,字节内部元素翻转:li.reverse()

    4、向指定位置插入指定元素:li.insert(1,"x")

    5、去空格:li.strip()

    6、

#扩展字节,用另外一个可迭代的对象,扩充到字节内部# str,list,dic,tupleli = [111,22,3]s = "李璐"li.extend(s)print(li)#结果:[111, 22, 3, '李', '璐']

  d、公共功能

    li = ["alex","aric","sevev","123"]

    索引:li[2]

    切片:li[2:3]:::***原来是什么类型取的就是什么类型,列表切片取的也是列表***

    for

    len

    del#删除

    索引嵌套例子:取出第2个“123”:

      li = ["alex", 123, {"k1": "v1", "k2": {"vv": (11, 22, 123), "ii": 456}}]

      li[2] -->{"k1": "v1", "k2": {"vv": (11, 22, 123), "ii": 456}}

      li[2]['k2'] -->{"vv": (11, 22, 123), "ii": 456}

      li[2]['k2']["vv"] -->(11, 22, 123)

      li[2]['k2']["vv"][2]-->123

四、元组

  a、创建和转换

    t = (11,22,33)

    t = tuple((11,22,33))

    t = tuple([])#字符串,列表,字典

#元组转换成列表t2 = ("acker","seven","laolanhai")l2 = list(t2)print(l2)#结果:['acker', 'seven', 'laolanhai']

 

  b、特有方法

#元组里面添加内容#tuplet = (11,22,["alex",{
"k1":"v1"}])t[2][1]['k2'] = 123print(t)#结果:(11, 22, ['alex', {'k1': 'v1', 'k2': 123}])t[2][1].update({
'k3':123})print(t)#结果:(11, 22, ['alex', {'k1': 'v1', 'k2': 123, 'k3': 123}])

 

    count

    index

  c、嵌套(获取元素)

     

t = (11, 22, ["alex", {
"k1": "v1"}])l1 = t[2][1]["k1"]print(l1)#结果:v1

  d、元组,特性:

    儿子不能被修改

  e、整理:

    一般字符串,执行一个功能,生成一个新内容,原来内容不变list,tuple,dict,

    执行一个功能,自身进行变化

五、字典

  a、创建

    a = {"k1":123}

    a = dict()

#字典转换成列表dic = {
"k1":"alex","k2":"seven"}l3 = list(dic.items())print(l3)#结果:[('k1', 'alex'), ('k2', 'seven')]#字典由key和values组成键值对#字符串,元组,字典==>列表

 

   b、enumerate的运用

      将列表转换成字典{key:10递加,value:列表里的元素}

li = [11, 22, 33]new_dict = dict(enumerate(li,10))#enumerate可以自动添加一列KEY,形成字典print(new_dict)#结果:{10: 11, 11: 22, 12: 33}

   c、字典里面添加内容:

#字典里面加内容dic = {
"k1":"v1"}#方法1# dic.update({'k2':123})# print(dic)#方法2dic['k2'] = 123print(dic)#结果:{'k1': 'v1', 'k2': 123}

 

    

#字典添加的补充简便方法d = {
"k1":'v1'}# d.update({'k2':123})d['k2'] = 123#如果换成:d['k1'] = 123是可以把v1更新print(d)#结果:{'k1': 'v1', 'k2': 123}

 

   d、fromkeys的运用

#如何让k1,k2,默认值为alexdic = {
'k1':123,'k2':456,'k4':111}n = dic.fromkeys(['k1','k2'],'alex')print(n)#结果:{'k1': 'alex', 'k2': 'alex'}

 

六、set 

 1、set是一个无序且不重复的集合

  2、set运用的几个例子

  1、

#set是一个无序且不重复的集合se = {11,22,33}#se = set{}默认创建空的集合方式print(se)se.add(44)#添加元素print(se)se.clear()#默认清楚集合内所有的元素print(se)

  2、找2个集合的不同

 

 

#找2个集合的不同se = {11,22,33}be = {22,55}ae = se.difference(be)#找se中存在,be中不存在的集合print(ae)ae = be.difference(se)#找be中存在,se中不存在的集合,并将其赋值给新集合print(ae)

 

  3、

se = {11,22,33}be = {22,55}ret = se.difference_update(be)#找se中存在,be中不存在的集合,更新自己print(se)print(ret) {33, 11} None

  4、移除元素

se = {11, 22, 33}se.discard(11)#移除元素,不报错se.remove(11)#移除元素,报错print(se)

  5、   

 

se = {11, 22, 33}be = {22,95,"随便"}# #有交集是False,没交集是Ture# ret = se.isdisjoint(be)# print(ret)

 

  6、

se = {11,22,33,44}be = {11,22}ret = se.issubset(be)#se是不是be的子序列print(ret)ret = se.issuperset(be)#se是不是be的父序列print(ret)

  7、删除子序列

se = {11,22,33,44}be = {11,22}ret = se.pop()#移除掉子序列print(ret)print(se)

  8、合并集合

 

se = {11,22,33,44}be = {11,22,77,55}ret = se.symmetric_difference(be)#合并se,be,里面的不同序列,形成一个新集合retprint(ret)#输出结果:{33, 44, 77, 55}se.symmetric_difference_update(be)#se和be里面的不同序列,更新成se,形成新的se集合print(se)#输出结果:{33, 44, 77, 55}

 

  9、2个集合形成一个新的集合

 

 

se = {11,22,33,44}be = {11,22,77,55}ret = se.union(be)#将,se,be,合并成一个新集合print(ret)#输出结果:{33, 11, 44, 77, 22, 55}

  10、添加

se = {11,22,33,44}be = {11,22,77,55}se.update(be)#将be里面的东西添加到se集合里面,be也可以是列表print(se)#输出结果:{33, 11, 44, 77, 22, 55}

 

 

   

 

  

    

 

 

转载于:https://www.cnblogs.com/Acekr/p/7291371.html

你可能感兴趣的文章
域名解析举例
查看>>
用微软云,激活万物互联的“智能”
查看>>
[转] Dangers of using dlsym() with RTLD_NEXT
查看>>
具体解说Android的图片下载框架UniversialImageLoader之磁盘缓存(一)
查看>>
【新手总结】在.Net项目中使用Redis作为缓存服务
查看>>
[转]微服务概念解析
查看>>
DP的四边形优化
查看>>
如何修改wordpress的.po和.mo配置文件
查看>>
FFMpeg在Windows下搭建开发环境【转】
查看>>
解决导入MySQL数据库提示"Unknown character set: 'utf8mb4'"错误
查看>>
Python连接MySQL的实例代码
查看>>
C# WCF 完整实例,winform 窗体作为 宿主
查看>>
一个监控进程的脚本,若进程异常重启进程
查看>>
UWP开发-在UWP中使用sqlite
查看>>
TCP_Wrappers
查看>>
java保留两位小数4种方法
查看>>
79.员工薪水报表 Extjs 页面
查看>>
RequireJS学习笔记
查看>>
js中拼接HTML方式方法及注意事项
查看>>
最新版redis的安装及配置 linux系统
查看>>