zoukankan      html  css  js  c++  java
  • 02_Python基本数据类型

    一、什么是数据

    数据是描述客观事物的字符(比如95,不同的语义可表示成绩或体重),是计算机可以操作的对象,能够被计算机识别并输入给计算机处理的符号集合。

    数据不仅仅包含整形,还包括图像、音乐、视频等非数值类型。

    二、什么是数据类型

    变量是存储在计算机内存中的数据,这就意味着在创建变量的时候会在内存中开辟一块内存空间。

    变量的数据类型决定了如何将这些值存储到计算机内存中。不同的变量使用不同的类型的数据去表示

    Python中的数据类型

    • 整型(int)
    • 布尔型(bool)
    • 字符串(str)
    • 元组(tuple)
    • 列表(list)
    • 字典(dict)
    • 集合(set)

    Python中类型转换

    int  ->  str  和 int  ->  bool

    1.int 转 str
    str(666)
    str1 = '666'
    
    2.int 转 bool
    非零即真,零表示假
    int与str、bool转换

    str  ->  int  和  str  ->  bool

    #str -> int 前提是字符串全是由数字组成的
    i = int('666')
    
    #str -> bool  非空为真,空字符串为假。由空格组成的字符串为真
    str='' #空字符串为假
    str='   ' #非空为真
    str与int、bool转换

    bool -> int  和 bool -> str

     1 #bool与int
     2 i = int(True)
     3 print(i)   #1
     4 
     5 i = int(True)
     6 print(i)  #0
     7 
     8 
     9 #bool 与 str 
    10 #用引号引起来即可 ,实际应用不是很多
    bool与int、str转换

    三、Python的数据类型

    整形(int)

    Python可以处理任意大小的整数,它们的表示方法和数学中一摸一样,主要功能是用来运算。

    1 #bit_length() 当十进制用二进制表示时,最少使用的位数
    2 i = 3
    3 print(i.bit_length())   # 0000 0011   2位
    4 print((4).bit_length()) # 0000 0100 3位

    布尔型(bool)

    真 : 1 True.

    假:  0 False. 

    字符串(str)

    字符串的索引

     索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。

    1 a = "ABCDEFGHRGK"
    2 print(a[0]) #A
    3 print(a[1]) #B
    4 print(a[2]) #C
    5 print(a[3]) #D
    6 print(a[4]) #E

    字符串的切片

    字符串的截取就是索引:索引(索引:索引:步长)之间的距离,截取字符串的一段,形成一个新的字符串,原则:顾头不顾尾 。 倒叙取必须加负号。

    1 a = "ABCDEFGHRGK"
    2 print(a[0:3])#截取ABC
    3 print(a[-3:])#截取RGK
    4 print(a[3:])#截取D~K
    5 print(a[0:7:2])#截取A C E G
    6 print(a[-1:-7:-2])#截取K R G  倒叙取,必须加负号

    字符串的常用方法

     1 str1 = 'String Operations'
     2 #1.  只首字母大写,其他字符全小写
     3 print(str1.capitalize())
     4 #2.  大小写反转
     5 print(str1.swapcase())
     6 #3.  被非字母割开的部分,首字母大写,其他字符小写
     7 print(str1.title())
     8 #4.  全部变成大写  实际应用:验证码
     9 print(str1.upper())
    10 #5.  全部变成小写
    11 print(str1.lower())
    12 #6.  1.返回长度为width的字符串,并使得自身居中。 2. 填充字符
    13 print(str1.center(20,'*'))
    14 #7.  碰到tab键,给你填充到8个。
    15 print(str1.expandtabs())
    16 #8.  返回在片段s[start:end]内找到子串sub的字符串中的最低索引,否则返回-1
    17 print(str1.find('ring'))
    18 #9.  判断字符串是否以xxx为开头
    19 print(str1.startswith('str'))
    20 #10. 判断字符串是否以xxx为结尾
    21 print(str1.endswith('tions'))
    22 #11. 去除字符串前后的空格和换行符,tab键 任意设定的字符  ******   实际应用:密码输入
    23 print(str1.strip())
    24 #12. strip 是可迭代的,是否在前后端,除非被挡着,不管顺序,不管整体
    25 s1 = "http://www.baidu.com"
    26 print(str1.strip("htp:/"))
    27 #13. 只去除前面空格,换行符,tab键
    28 print(str1.lstrip())
    29 #14. 只去除后面空格,换行符,tab键
    30 print(str1.rstrip())
    31 #15. 字符串切割 : str -> list方法;还可以控制切割次数以及按那个字符切割
    32 print(str1.split())
    33 #16. 替换某些元素
    34 print(str1.replace('string','str'))
    35 #17. 计算某些元素出现的次数
    36 print(str1.count('i'))
    37 #18. 计算字符串长度
    38 print(len(str1))
    39 #19. 判断是否由 字符或数字组成,由字母组成,由数字组成
    40 s1 = 'Python'
    41 s2 = 'Python123'
    42 s3 = '123456'
    43 print(s1.isalpha())   #所有字符都是字母
    44 print(s1.isalnum())   #字符串中的所有字符都是字母数字且至少有一个字符
    45 print(s1.isdigit())   #所有字符都是数字 为True
    46 #10. format的三种格式化方式
    47 print("我叫{name},今年{age}岁,爱好{hobby}".format(name = '短毛兔',age=22,hobby='Python'))
    48 print("我叫{0},今年{1}岁,爱好{2}".format('短毛兔',22,'Python'))
    49 print("我叫{0},今年{1}岁,爱好{2},我正在学习{2}".format('短毛兔',22,'Python'))
    str — method

    四、for循环

    用户按照顺序循环可迭代对象的内容。Python中for循环,可以遍历任何序列项目,如一个列表一个字符串。

    for循环---语法

    1 for iterating_var in sequence:
    2    statements(s)

     1 str1 = 'Python is an easy to learn.'
     2 
     3 for i in str1:
     4     print(i)
     5 
     6
     7 fruits = ('banana','apple','mango')
     8 
     9  for i in fruits:
    10     print("水果 : " + i)
    for-循环

    五、元组(Tuple)

    元组被称为只读列表,即数据可以被查询,但不能被修改,可以被看作只读列表。所以,字符串的切片操作同样适用于元组。例:(1,2,3)("a","b","c")

    元组常用方法

     1 tup1 = ('Google', 'Runoob', 1997, 2000,[1,2,3])
     2 #1.元组的遍历
     3 for i in tup1:
     4     print(i)
     5 
     6 #2.元组的长度
     7 print(len(tup1))
     8 
     9 #3.统计o在tup1中出现的次数
    10 print(tup1.count(0))
    11 
    12 #4.元组不能被修改,元组的儿子不能被修改,元组的孙子如果为列表、字典的话可以修改
    13 #元组中列表中的2改为0
    14 tup1[4][1] = 0
    15 print(tup1)
    Tuple - method

    六、列表(List)

    列表是Python中最基本的数据结构。序列中的每个元素都分配一个索引,第一个索引是0,第二个索引是1,依此类推。

    对列表进行的操作包括索引、切片、尾部追加、任意位置插入、插入一个迭代元素、根据索引删除元素、删除指定元素、清空列表、删除列表、修改列表元素、查询元素索引

    以及常用的操作:获取列表长度、统计某个字符出现的次数、列表排序等。

    增(append、insert、extend)

    append  :  在列表最后追加元素

    insert  : 任意位置插入元素

    extend  : 在列表末尾一次性追加另一个序列中的多个值,操作的是迭代元素

     1 list1 = ['a','b','zhangsan','lisi',5,6,7,True,False,True]
     2 
     3 #1.list中元素的类型
     4 print(list1[7],type(list1[7])) # list1[7] True <class 'bool'>
     5 #2.追加
     6 list1.append('end') #append object to end
     7 
     8 #3.插入
     9 list1.insert(2,'2') #insert object before index
    10 print(list1[2],type(list1[2]))  #<class 'str'>
    11 
    12 #4.迭代插入 会把 迭代体 拆成一个个插入,符号也
    13 list1.extend('1,2,3')#['a', 'b', 'zhangsan', 'lisi', 5, 6, 7, True, False, True, '1', ',', '2', ',', '3']
    14 list1.extend()
    15 print(list1)
    list - method

    删(pop、remove、clear、del)

    pop    :删除指定索引位置的元素;默认删除最后一个。根据索引删元素,返回被删除的值。

    remove   :删除列表中某个元素,没有返回值。

    clear  :清空列表,内存中不回收列表的资源

    del     :删除列表,释放列表所占用的资源;可以按照索引删、切片删

     1 list1 = [1,2,3,4,5,6,7,8,9,10]
     2 #1.pop删除指定索引位置元素
     3 list1.pop()  #  result = [1, 2, 3, 4, 5, 6, 7, 8, 9]
     4 
     5 #2.remove删除元素
     6 list1.remove(9)  # result = [1, 2, 3, 4, 5, 6, 7, 8, 10]
     7 
     8 #3.clear 清空链表
     9 list1.clear()   # result = []
    10 
    11 #4.del 删除链表
    12 del list1    #   再打印list1会报错
    13 del list1[5]  # result = [1, 2, 3, 4, 5, 7, 8, 9, 10]
    14 del list1[1:11:2]  #result = [1, 3, 5, 7, 9]
    15 
    16 print(list1)
    list - method

    1 list1 = [1,2,3,4,5,6,7,8,9,10]
    2 #1.按照索引改
    3 #list1[0] = '1'
    4 
    5 #2.按照切片更改
    6 #list1[0:1] = ['list','num']    #['list', 'num', 2, 3, 4, 5, 6, 7, 8, 9, 10]
    7 #list1[0:2] = '努力'            #['努', '力', 3, 4, 5, 6, 7, 8, 9, 10]
    8 #list1[0:1] = '努力'            #['努', '力', 2, 3, 4, 5, 6, 7, 8, 9, 10]
    9 list1[0:2] = ''              #['强', 3, 4, 5, 6, 7, 8, 9, 10]  
    list - method

    l1 = [1,3,6,8,7,4,2,9,10]
    #查 按切片,按索引去查
    l1[0]
    l1[0:3]
    
    
    #for 循环查
    for i in l1:
        print(i)
    list - method

    其他操作:获取长度、统计某个元素出现的次数、查找元素,返回元素第一次出现的索引、排序、倒置

    l2 = [1,3,6,8,7,4,2,9,10]
    # len 长度
    print(len(l1))
    
    #count 出现次数
    print(l1.count(True))
    
    #index 通过元素找索引
    print(l2.index('taibai'))
    
    #sort 从小到大
    print(l2.sort())
    
    #sort(reverse)  从大到小
    print(l2.sort(reversed = True))
    
    #倒置
    print(l2.reverse())
    list - other method

    七、字典(dict)

     字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。

    字典能存放大量的类型,且关联性较强,可存放任意类型。

    字典的常用操作(增、删、改、查)

     1 dic  = {'name':'Python','version':3.6,'code':3}
     2 
     3 # 1.增
     4 #1. 添加,如果存在就覆盖,如果不存在就增加
     5 dic['local'];  #这样写错误 ,如果没有value的话,就 等于None
     6 dic['local']  = None;
     7 dic['local'] = 'US'
     8 print(dic)
     9 
    10 #1.1 添加,如果存在就忽略,如果不存在就添加
    11 dic.setdefault('name','Python3')  #dic中存在name,所以无操作
    12 dic.setdefault('name1','Python3')
    13 print(dic)
    14 
    15 # 2.删
    16 #2. 删除 pop  通过键删除,返回删除键的值
    17 print(dic.pop('code')) #3
    18 
    19 print(dic.pop('code')) #error 如果删除不存在的键会报错
    20 #2.1 pop 的第二种用法,两个参数
    21 print(dic.pop('code','没有此键'))
    22 
    23 #2.2 clear 清空dic
    24 dic.clear()
    25 print(dic)  #{}
    26 
    27 #2.3 del 删除dic
    28 del dic
    29 print(dic) #error
    30 
    31 #2.4  根据键来删除,没有返回值
    32 del dic['name']
    33 print(dic)  #  {'version': 3.6, 'code': 3}
    34 
    35 #2.5 随机删除  返回值元组,默认删除最后一个
    36 dic.popitem()
    37 print(dic)  #{'name': 'Python', 'version': 3.6}
    38 
    39 
    40 #3.改
    41 #3.1 dic[key]  如果key存在,就覆盖。不存在的话,就添加
    42 dic['name'] = 'Java'
    43 print(dic)
    44 #3.2 dic.update() 如果有相同键->覆盖,没有的添加
    45 dic.update({'name':'JAVA'})
    46 dic.update({'RuntimePlatform':'Win10'})
    47 print(dic)
    48 
    49 #4.改
    50 #4.1 查 根据键查
    51 print(dic['name'])  #Python
    52 print(dic['name1']) # error   查询不存在的键会报错
    53 
    54 #4.2 get方式查 查询不存在的键,不会报错
    55 print(dic.get('name')) #Python
    56 print(dic.get('name1')) #None
    57 print(dic.get('name1','此键不存在')) #None
    58 
    59 #4.3 for 循环查
    60 for i in dic :
    61     print(i,dic[i])
    dict - method

    字典的其他操作(获取所有的键值对、获取所有的键、获取所有的值)

    #获取所有的键(key)
    #1 遍历dic
    for i in dic:
        print(i)
    
    #2 通过dic.keys
    for k in dic.keys():
        print(k)
    
    #获取所有的值
    #1 通过key
    for i in dic:
        print(dic[i])
    
    #通过dic.values
    for v in dic.values:
        print(v)
    
    
    #获取多有的键值对
    #1 返回元组类型
    for i in dic.items:
        print(i)
    
    #2 返回所有键值 
    for k,v in dic.items:
        print(k,v)
    
    #3 返回所有键值
    for k in dic:
        print(k,dic[k])
     
  • 相关阅读:
    Unity3d Shader开发(四)UsePass ,GrabPass ,SubShader Tags
    Unity3d Shader开发(三)Pass(Pass Tags,Name,BindChannels )
    Unity3d Shader开发(三)Pass(Blending )
    Unity3d Shader开发(三)Pass(Alpha testing )
    Unity3d Shader开发(三)Pass(Fog )
    Unity3d Shader开发(三)Pass(Texturing )
    Scrapy 学习笔记爬豆瓣 250
    Python 高效编程技巧实战(2-1)如何在列表,字典, 集合中根据条件筛选数据
    Spring Boot 集成 Spring Security 使用自定义的安全数据源
    SpringBoot 集成 Spring Session
  • 原文地址:https://www.cnblogs.com/weihengblog/p/8335746.html
Copyright © 2011-2022 走看看