python基本数据类型

基本数据类型

数字(number):

整型(整数):
  1. 用关键字int表示(即英文单词 integer 的简写),包括:正整数、零和负整数。整型数全部由数字构成,不包括小数部分。与数学中的整数概念一致,没有取值范围限制。

  2. 整数类型有4种进制表示:十进制,二进制,八进制和十六进制。默认情况,整数采用十进制,其他进制需要增加引导符号

  3. 示例


  4. 不同进制的整数之间可以直接运算

浮点型(小数):
  1. 浮点型用关键字float表示,是由整数、小数点和小数构成的数字。eg: 1010 和 1010.0

整型与浮点型的相互转换:
  • 通常来说,两个数字类型的数字进行算术运算时,运算后生成结果为最宽类型:

    • 两个整数运算,结果为整数(除法运算“/”除外,其运算结果为小数)。 两个浮点数运算,结果为浮点数。 整数和浮点数运算,结果为浮点数。

  • 通过内置的数字类型转换函数可以显式地在数字类型之间进行转换:

    • int(x),将 x 转换为整数,x 可以是浮点数或字符串。

    • float(x),将 x 转换为浮点数,x 可以是整数或字符串。

    • int(x) 会去掉浮点数的小数部分,如果想要四舍五入应使用round(x)函数

  •  a = 1016.8
     b = 100
     print (int(a))  #结果为:1016
     print (round(a)) #结果为:1017
     print (float(b)) #结果为:100.0=

赋值运算符

  • 在 Python 中,使用 = 可以给变量赋值

  • 在算术运算时,为了简化代码的编写,Python 还提供了一系列的 与 算术运算符 对应的 赋值运算符

  • 注意:赋值运算符中间不能使用空格

字符串(string):

  • 字符串需要使用成对的单引号或双引号括起来,单引号和双引号的字符串是等效的;python 中还允许使用三引号(“”" 或者 ‘’’ )或双引号创建跨越多行的字符串,这种字符串中可以包含换行符、制表符及其他特殊字符。

  • 字符串输出时会去掉最外面一层引号,所以若想在输出的字符串中包含某个引号,则输出语句包含单引号,最外层使用双引号;

    •  a = '你好世界!'
       print(a)  # 结果为: 你好世界!
       b = '"你好世界!"'
       print (b) # 结果为: "你好世界!"
  • 如果一个三引号字符串没有被赋值给变量,它会被python解释器默认为注释,反之,会被当做字符串常量

    •  a = ''' 大家好:\n我是\t爱学习\t的学生! '''
       print(a)
       '''结果为 :  
       大家好:
       我是  爱学习    的学生!
       '''
  • 字符串是序列数据类型,可以为每个字符分配一个数字来指代这个元素的位置,即可以使用索引和切片。同样的也支持双向索引。

字符串的索引、切片
  •  str = 'pyhon is a wonderful language!'
     ​
     # 正向索引(从0开始)、反向索引(从-1开始)
     a, b, c = str[0], str[10], str[-1]
     print(a, '-', b, '-', c)   # 此时意外发现b的位置是一个空格,别以为是bug
     #结果:p -   - !
     ​
     # 切片[start:end:step]
     str_1, str_2, str_3 = str[1:5], str[-5:-1], str[3:-9]
     print(str_1, '-', str_2, '-', str_3)
     #结果:yhon - uage - on is a wonderful 
     ​
     # 带有步长的切片(省略start意味着从0开始,省略end则到末尾结束,省略step则步长默认为1)
     str_4 = str[1::-1]    # 步长为-1则默认倒着往前跳
     str_5 = str[::-2]     # 步长的大小决定由哪些字符被切片
     print(str_4, '-', str_5)
     #结果:yp - !gunllfenwas oy
字符串的查找、判断组合等基本操作
  • 统计字符串中某个字符的次数

    • str.count('q')

  • str.find('子字符串B',5,13)

    • 查找字符串A中是否包含子字符串B包含则返回B在A中第一次出现的位置索引值,否则返回-1。6的位置代表查找开始位置的索引值,13为查找结束位置的索引值。[从左开始,前闭后开]

    •  str = 'bigbigbigboat'
       print(str.find('b',5))#从字符串左边索引为5的字符开始查找,不填结束位默认到最后一位
  • str.rfind('子字符串B',5,13)

    • 功能同str.find,唯一区别:从右查找

  • str.index('子字符串B',5,13)

    • 查找字符串 A 中是否包含子字符串B,如果包含则返回 B 在 A中第一次出现的索引值B 不在A中则会报错

  • str.starstwith('子字符串B')

    • 检查 A是否以指定字符串B开头,如果是则返回 True,否则返回 False

  • str.endswith('子字符串B')

    • 检查 A是否以指定字符串B结尾,如果是则返回 True,否则返回 False

  • 首字母大写 capitalize ,会将首字母大写,其余字母全部小写

  • 每个单词首字母大写 title ,以特殊字符为判断字符标准

  • 大小写反转 swapcase

  • 去除两边空格 strip

  • 是否为纯字母str.isalpha()

    • 是否为纯数字str.isdecimal()str.isdigit()

    • 是否为字母和数字组合str.isalnum()

  • join 将一个可迭代对象转化为字符串

字符串的替换
  • str.replace(oldStr,newStr,max)

    • oldStr 为将被替换的子字符串, newStr 为新字符串, max为替换最大次数

    •  str = "贝多芬是世界闻名的航海家"
       print(str.replace("贝多芬", "哥伦布"))
       ​
       '''
       哥伦布是世界闻名的航海家
       '''
字符串拆分函数(分割)
  • str.split(sep=" ", num) 通过指定分隔符对字符串进行切片,返回一个字符串列表

    • sep 为分隔符,默认为空字符,包含空格、换行(\n)、制表符(\t)等。num 为分割次数

    •  str = "Every cloud has a silver lining"
       print(str.split())       # 使用默认分隔符拆分字符串
       print(str.split(" ", 3))     # 使用默认分隔符拆分字符串为 4 个子字符串
       ​
       '''
       ['Every', 'cloud', 'has', 'a', 'silver', 'lining']
       ['Every', 'cloud', 'has', 'a silver lining']
       '''
格式化输出

实例:购物小票

 products=[["iphone",6888],["MacPro",14800],["coffee",32],["abc",2499],["Book",60],["Nike",699],["MacPro",45600],["coffee",432],["abc",244499],["Book",6230],["Nike",61299],["MacPro",14800],["coffee",32],["abc",2499],["Book",60],["Nike",699]]
 ​
 print("-"*10+"商品列表"+"-"*10)
 i=0
 ​
 for product in products:
 ​
     print('{:<6}\t{:<10}\t{:<10}'.format(str(i), product[0], str(product[1])))
 ​
     i = i+1

字符串运算
  • 1.两个不同长度的字符串进行比较时,不是长的字符串就一定”大”。

    2.当字符串有空格时,空格也参加比较。

    3.大写字母和小写字母的ASCII代码值是有区别的,所以,”yes”>”YEs”。

    4.当字符串全部用英文字母的大写(或小写)组成时,字符串的大小顺序和它们在字典中的顺序相同。

    5.由汉字组成的字符串可以参加比较。如”李红”<”王军”。它们的大小实际是由其拼音构成的字符串的大小来决定的。上例即:”LIHONG”<”WANGJUN”

    # 字符串运算
    str_1 = "my name is : " + "mark"   # + 运算符两边必须都是字符串,否则报错
    str_2 = "love " * 3
    str_3 = 'c' in 'cat'
    str_4 = 'quite' > 'quiet'
    print(str_1, str_2, str_3, str_4)

列表(list):

什么是列表?
  • List是python中的一种数据类型,它由一组有序的元素组成。支持字符、数字、字符串甚至也可以包含列表(列表中有列表,嵌套),元素间用逗号进行分隔。列表用[]进行标识。

  • 创建一个列表

    • user_lis = list()
      user_lis = []
列表的索引
  • 从左到右从0开始代表第一个数值, 1代表第二个数值 往后以此类推

  • 从右到左从-1开始代表最后一个值,-2代表倒数第二个值 往前以此类推

列表的新增
  • user_lis.insert(index,obj) 在指定位置(index)插入(obj)

  • user_lis.append(obj)在列表末尾追加

  • user_lis.entxend(lis/obj),循环追加,参数为列表,将另一个列表合并到列表;参数为变量名,将变量的值合并到列表,并拆分成为列表的元素

列表的删除
  • user_lis.pop(index)参数为索引返回该索引的值,并从列表删除该元素,找不到会返回-1

  • user_lis.remove(obj)参数为要删除的元素删除第一次出现的该元素,找不到会报错

列表的修改
  • user_lis[index]='obj'通过索引修改

列表的其他基本操作
  • user_lis.sort()元素升序排序,且会改变原列表的顺序 ,加入参数:revers = True后降序排序

  • user_lis.reverse() 列表反转(对源列表进行操作),也可以通过切片(得到一个新的列表,源列表不变)

  • user_lis.count(obj)统计指定元素出现的次数

  • user_lis.index(obj) 该元素的位置,无则抛异常

字典(dic):

什么是字典?
  • 基本数据格式:{'键1':'值','键2':'值'}

  • Python字典是一种可变容器模型,且可存储任意类型对象,由成对的键值组成,键值对间用英文逗号间隔,键值间用英文引号间隔,字典包含在花括号{}内。

字典的创建:
  • 字典名 = {'键':值"}

  • 字典名 = dict(),创建空字典

字典的查看:
  • 借助输出语句print(),查看所有的值:print(字典名称.values())

  • 借助输出语句print(),查看所有的键:print(字典名称.keys())

  • 借助输出语句print(),查看所有键值对:print(字典名称.iteams())

  • 借助输出语句print(),通过键查看值:print(字典名称['键'])

    • sg = dic1.get('键','查不到的提示语')

  • 利用for循环展示字典内容:

    • user_dic = {'name':'baiyun','age':'20'}
      for i in user_dic.keys():
      	print(i)
      for k,v in user_dic.iteams():
      	print()
字典的新增(修改):
  • 字典名称['键'] = 值

  • 键存在是修改,不存在即新增

字典的删除:
  • 通过键删除键值对,字典名.pop('键')

  • 清空字典,字典名.clear()

元组(tuple):

什么是元组?
  • 元组可以看做是不可变的列表,通常情况下,元组用于保存无需修改的内容。

元组的创建:
  • a = ('你好',),当创建的元组中只有一个字符串类型的元素时,该元素后面必须要加一个逗号,,否则 Python 解释器会将它视为字符串。

  • a = tuple('你好','世界')

集合(set):

什么是集合?
  • Python中的集合(set)与数学中的集合概念类似 也是用于保存不重复的元素。它有可变集合(set)和不可变集合(frozenset)两种。 在形式上,集合的所有元素都放在一对大括号中,两个相邻元素间使用逗号“”分隔。 集合最好的应用就是去重,因为集合中的每个元素都是唯一的。

集合的创建:
  • set_1 = {1,2,3,4}

  • 强制转换,a = [1,2,3,4] print(set(a))

集合的新增:
  • 通过set_1.update(user_lis)方法添加一个序列序列中的某值

  • 通过set_1.add(obj)方法在末尾追加一个值

集合的删除:
  • del set_1删除整个集合

  • set_1.clear()清空集合

  • set_1.discard(obj)丢弃某个元素

  • set_1.remove(obj)删除指定元素

  • set_1.pop()弹出第一个元素

集合的交集:
  • 符号:&

  • 借助print()输出两集合的交集,print(set_1&set_2)

集合的并集:
  • 符号:|

  • 借助print()输出两集合的并集,print(set_1|set_2)

集合的差集:
  • set_1 - set_2 删除两个集合都有的元素,保留集合1特有的元素。

  • set_2 - set_1 删除两个集合都有的元素,保留集合2特有的元素。

  • 顺序很重要,谁在前就保留谁特有的元素

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值