数字

  • int(整型)
  1. 在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
  2. 在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
  • long(长整型) – python3 中已经将该类型取消
  1. 跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
  2. 注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
  • float(浮点型)
  1. 浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
  • complex(复数)
  1. 复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
  2. 注:Python中存在小数字池:-5 ~ 257

布尔值

  • 真或假
  1. 1 或 0
  2. True 或 False

字符串

  1. "hello world"
  • 万恶的字符串拼接
  1. python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间。
  • 字符串格式化
  1. name = "zhangcong"
  2. print "i am %s " % name
  3. # 输出
  4. i am zhangcong
  • 字符串常用功能:

    • strip() # 去掉字符串首尾空格、换行符、tab

      1. value = " my name is zhangcong "
      2. print(value.strip()) # 会将首尾的空格去掉
      3. # 输出
      4. my name is zhangcong
    • split() # 通过指定分隔符对字符串进行切片,得到一个列表

      1. names = "zhangsan, lisi, wangwu"
      2. name2 = names.split(",")
      3. print(name2)
      4. # 输出
      5. ['zhangsan', ' lisi', ' wangwu']
    • center() # 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格。

      1. 例1:
      2. value = "my name is zhangcong"
      3. print(value.center(50))
      4. # 输出
      5. my name is zhangcong
      6. 例2:
      7. # 使用*填充空格
      8. value = "my name is zhangcong"
      9. print(value.center(50, '*'))
      10. # 输出
      11. ***************my name is zhangcong***************
    • find() # 字符串查找

      1. 例1:
      2. # 在字符串value中查找字符串"zhangcong"是否存在,如果存在返回其下标值
      3. value = "my name is zhangcong"
      4. print(value.find("zhang"))
      5. # 输出
      6. 11
      7. -
      8. 例2:
      9. # 指定开始的位置查找
      10. value = "my name is zhangcong, my name is zhangcong"
      11. print(value.find("zhang", 12))
      12. # 输出
      13. 33
    • capitalize() # 首字母大写,没什么卵用

      1. value = "my name is zhangcong, my name is zhangcong"
      2. print(value.capitalize())
      3. # 输出
      4. My name is zhangcong, my name is zhangcong
    • upper() # 将字符串里面的所有字母都改为大写

      1. value = "43 fd"
      2. print(value.upper())
      3. # 输出
      4. 43 FD
    • format() 格式化字符串

      1. value = "my name is {}"
      2. print(value.format("zhangcong"))
      3. # 输出
      4. my name is zhangcong
    • isdigit() # 判断字符串是否是数字类型 返回True 或 False

      1. 例1:
      2. value = "my name is {}"
      3. print(value.isdigit())
      4. # 输出
      5. False
      6. -
      7. 例2:
      8. num_str = "1000"
      9. print(num_str.isdigit())
      10. # 输出
      11. True
    • isalnum() # 判断字符是否只含有字母和数字组成 返回True 或 False

      1. 例1:
      2. value = "43fd"
      3. print(value.isalnum())
      4. # 输出
      5. True
      6. -
      7. 例2:
      8. # value中包含一个空格
      9. value = "43 fd"
      10. print(value.isalnum())
      11. # 输出
      12. False
    • endswith() # 匹配字符串的结束位置,返回True 或 False

      1. value = "43 fd"
      2. print(value.endswith("fd"))
      3. # 输出
      4. True
      5. -
      6. print(value.endswith("c"))
      7. # 输出
      8. False
    • startswith() # 匹配字符串的开始位置,返回True 或 False

      1. value = "43 fd"
      2. print(value.startswith("4"))
      3. # 输出
      4. True
      5. -
      6. print(value.startswith("fda"))
      7. # 输出
      8. False

列表

  1. # 创建列表
  2. name_list = ["zhangsan", "lisi", "wangwu"]
  3. name_list = list(["zhangsan", "lisi", "wangwu"])
  4. # 通过列表的下标来取对应的值
  5. print(name_list[1])
  6. # 输出
  7. lisi
  • 列表常用功能

    • 修改列表中的值

      1. # 将name_list中的 "lisi" 修改为 "liwu"
      2. name_list = ["zhangsan", "lisi", "wangwu"]
      3. name_list[1] = "liwu" # 指定下标修改列表的值
      4. print(name_list)
      5. # 输出
      6. ['zhangsan', 'liwu', 'wangwu']
    • 切片

      1. # 输出name_list中的第一个值和第二个值
      2. name_list = ["zhangsan", "lisi", "wangwu", 1, 2, 3, 4, 5]
      3. print(name_list[1:3]) # 顾头不顾尾
      4. # 输出
      5. ['lisi', 'wangwu']
    • 步长

      1. # 首先创建一个从0到100的列表,不包含100
      2. num_list = list(range(100))
      3. print(num_list[::2])
      4. # 输出
      5. [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98]
      6. # 注:通过步长可以取奇偶数
    • insert() # 指定坐标插入值

      1. # 在列表name_list的值"lisi"前面插入一个值"xiaogou"
      2. name_list = ["zhangsan", "lisi", "wangwu"]
      3. name_list.insert(1, "xiaogou")
      4. print(name_list)
      5. # 输出
      6. ['zhangsan', 'xiaogou', 'lisi', 'wangwu']
    • append() # 在列表的末尾追加一个值

      1. name_list = ["zhangsan", "lisi", "wangwu"]
      2. name_list.append("xiaogou")
      3. print(name_list)
      4. # 输出
      5. ['zhangsan', 'lisi', 'wangwu', 'xiaogou']
    • remove() # 删除列表中的指定值

      1. name_list = ["zhangsan", "lisi", "wangwu"]
      2. name_list.remove("lisi")
      3. print(name_list)
      4. # 输出
      5. ['zhangsan', 'wangwu']
      6. # 如果删除的值不在列表中,则会报错
      7. name_list = ["zhangsan", "lisi", "wangwu"]
      8. name_list.remove("lisfdi")
      9. print(name_list)
      10. # 输出报错信息
      11. ValueError: list.remove(x): x not in list
    • count() # 查找在列表中出现的次数

      1. name_list = ["zhangsan", "lisi", "wangwu", "lisi", 1, 2, 3, 4, 5]
      2. print(name_list.count("lisi")) # 查找"lisi"在列表中出现的次数
      3. # 输出
      4. 2
    • index() # 查找在列表中的下标

      1. name_list = ["zhangsan", "lisi", "wangwu", "lisi", 1, 2, 3, 4, 5]
      2. print(name_list.index("lisi"))
      3. # 输出
      4. 1
      5. -
      6. # 如果查找的值在列表中不存在,则会报错
      7. name_list = ["zhangsan", "lisi", "wangwu", "lisi", 1, 2, 3, 4, 5]
      8. print(name_list.index("lisi2"))
      9. # 输出报错信息
      10. ValueError: 'lisi2' is not in list
    • extend() # 在原先列表的基础之上扩展一个新的列表

      1. name_list = ["zhangsan", "lisi", "wangwu", "lisi"]
      2. name_list2 = [1, 2, 3, 4, 5]
      3. name_list.extend(name_list2)
      4. print(name_list)
      5. # 输出
      6. ['zhangsan', 'lisi', 'wangwu', 'lisi', 1, 2, 3, 4, 5]
    • reverse() # 将列表的值进行反转

      1. name_list = ['zhangsan', 'lisi', 'wangwu', 'lisi', 1, 2, 3, 4, 5]
      2. name_list.reverse()
      3. print(name_list)
      4. # 输出
      5. [5, 4, 3, 2, 1, 'lisi', 'wangwu', 'lisi', 'zhangsan']
    • sort() # 排序

      1. # 在python3中,列表中的值同时存在字符串和数字时排序是会报错的,在python2中是没有问题的,python2中是按照ascll编码顺序进行排序的
      2. name_list = ['zhangsan', 'lisi', 'wangwu', 'lisi', 1, 2, 3, 4, 5]
      3. name_list.sort()
      4. # 输错报错信息
      5. TypeError: unorderable types: int() < str()
      6. -
      7. # 对字母进行排序
      8. name_list = ['zhangsan', 'lisi', 'wangwu', 'lisi']
      9. name_list.sort()
      10. print(name_list)
      11. # 输出
      12. ['lisi', 'lisi', 'wangwu', 'zhangsan']
      13. -
      14. # 对数字进行排序
      15. num_list = [3, 4, 1, 100, 3, 5, 6]
      16. num_list.sort()
      17. print(num_list)
      18. # 输出
      19. [1, 3, 3, 4, 5, 6, 100]
    • pop() # 默认删除列表最后的一个值,并返回删掉的那个值

      1. name_list = ['zhangsan', 'lisi', 'wangwu', 'lisi', '44']
      2. pop_name = name_list.pop()
      3. print(name_list)
      4. print(pop_name)
      5. # 输出
      6. ['zhangsan', 'lisi', 'wangwu', 'lisi']
      7. 44
      8. -
      9. # 指定下标删除列表元素
      10. name_list = ['zhangsan', 'lisi', 'wangwu', 'lisi', '44']
      11. pop_name = name_list.pop(2)
      12. print(name_list)
      13. print(pop_name)
      14. # 输出
      15. ['zhangsan', 'lisi', 'lisi', '44']
      16. wangwu
    • copy() # 浅拷贝 可以通过id()查看内存地址看区别

      1. name_list = ['zhangsan', 'lisi', 'wangwu', 'lisi', '44']
      2. name_list2 = name_list.copy()
      3. print("name_list: %s" % name_list)
      4. print("name_list2: %s" % name_list2)
      5. # 将name_list中的'zhangsan'改为'liusan'
      6. name_list[0] = 'liusan'
      7. print("修改完之后")
      8. print("name_list: %s" % name_list)
      9. print("name_list2: %s" % name_list2)
      10. # 输出
      11. name_list: ['zhangsan', 'lisi', 'wangwu', 'lisi', '44']
      12. name_list2: ['zhangsan', 'lisi', 'wangwu', 'lisi', '44']
      13. 修改完之后
      14. name_list: ['liusan', 'lisi', 'wangwu', 'lisi', '44']
      15. name_list2: ['zhangsan', 'lisi', 'wangwu', 'lisi', '44']
      16. -
      17. # 在name_list中嵌套一个列表,然后拷贝一份,然后在修改嵌套列表中的值
      18. name_list = ['zhangsan', 'lisi', 'wangwu', 'lisi', '44', [3, 4, 1, 100, 3, 5, 6]]
      19. name_list2 = name_list.copy()
      20. print("name_list: %s" % name_list)
      21. print("name_list2: %s" % name_list2)
      22. # 将name_list中的'zhangsan'改为'liusan'
      23. name_list[-1][0] = 'liusan'
      24. print("修改完之后")
      25. print("name_list: %s" % name_list)
      26. print("name_list2: %s" % name_list2)
      27. # 输出
      28. # 可以看到name_list中嵌套列表中的值被修改,name_list2也随着变化,浅拷贝只能操作第一层
      29. name_list: ['zhangsan', 'lisi', 'wangwu', 'lisi', '44', [3, 4, 1, 100, 3, 5, 6]]
      30. name_list2: ['zhangsan', 'lisi', 'wangwu', 'lisi', '44', [3, 4, 1, 100, 3, 5, 6]]
      31. 修改完之后
      32. name_list: ['zhangsan', 'lisi', 'wangwu', 'lisi', '44', ['liusan', 4, 1, 100, 3, 5, 6]]
      33. name_list2: ['zhangsan', 'lisi', 'wangwu', 'lisi', '44', ['liusan', 4, 1, 100, 3, 5, 6]]
      34. # 浅拷贝与=之间的区别,等于号相当于软连接,浅拷贝类似于上面

字典

  • 创建字典
  1. # 字典是以key和value的形式出现的
  2. id_db = {
  3. 22323232: {
  4. "name": "ShanPao",
  5. "age": 22,
  6. "addr": "ShanDong"
  7. },
  8. 43267432:{
  9. "name": "DaShanPao",
  10. "age": 24,
  11. "addr": "DongBei"
  12. }
  13. }
  14. # 输出字典中key为id_db[22323232]的值
  15. print(id_db[22323232])
  16. # 修改字典中key为22323232的key "name"的值
  17. id_db[22323232]["name"] = "Wangwu"
  18. print(id_db)
  19. # 输出
  20. {'age': 22, 'addr': 'ShanDong', 'name': 'ShanPao'}
  21. {22323232: {'age': 22, 'addr': 'ShanDong', 'name': 'Wangwu'}, 43267432: {'age': 24, 'addr': 'DongBei', 'name': 'DaShanPao'}}
  • 字典常用功能

    • pop() # 对指定key进行删除,并返回其value

      1. id_db = {
      2. 22323232: {
      3. "name": "ShanPao",
      4. "age": 22,
      5. "addr": "ShanDong"
      6. },
      7. 43267432:{
      8. "name": "DaShanPao",
      9. "age": 24,
      10. "addr": "DongBei"
      11. }
      12. }
      13. print(id_db)
      14. v = id_db.pop(43267432)
      15. print(v)
      16. print(id_db)
      17. # 输出
      18. # 字典id_db的值
      19. {22323232: {'age': 22, 'addr': 'ShanDong', 'name': 'ShanPao'}, 43267432: {'age': 24, 'addr': 'DongBei', 'name': 'DaShanPao'}}
      20. # 通过pop()删除的值
      21. {'age': 24, 'addr': 'DongBei', 'name': 'DaShanPao'}
      22. # 通过pop()删除之后的值
      23. {22323232: {'age': 22, 'addr': 'ShanDong', 'name': 'ShanPao'}}
    • get() # 通过key获取值

      1. id_db = {
      2. 22323232: {
      3. "name": "ShanPao",
      4. "age": 22,
      5. "addr": "ShanDong"
      6. },
      7. 43267432:{
      8. "name": "DaShanPao",
      9. "age": 24,
      10. "addr": "DongBei"
      11. }
      12. }
      13. print(id_db.get(43267432))
      14. # 输出
      15. {'age': 24, 'name': 'DaShanPao', 'addr': 'DongBei'}
    • update() # 对已经存在的key进行更新,没有的key进行添加

      1. id_db = {
      2. 22323232: {
      3. "name": "ShanPao",
      4. "age": 22,
      5. "addr": "ShanDong"
      6. },
      7. 43267432:{
      8. "name": "DaShanPao",
      9. "age": 24,
      10. "addr": "DongBei"
      11. }
      12. }
      13. dic2 = {
      14. 22323232: {
      15. "name": "DaShaXXXXXXX",
      16. "age": 22,
      17. "addr": "ShanDong"
      18. },
      19. "name": "acong",
      20. 43267432: "xxxxxx"
      21. }
      22. print(id_db)
      23. id_db.update(dic2)
      24. print(id_db)
      25. # 输出
      26. {22323232: {'addr': 'ShanDong', 'name': 'ShanPao', 'age': 22}, 43267432: {'addr': 'DongBei', 'name': 'DaShanPao', 'age': 24}}
      27. {22323232: {'addr': 'ShanDong', 'name': 'DaShaXXXXXXX', 'age': 22}, 43267432: 'xxxxxx', 'name': 'acong'}
    • items() # 将字典的key和value放到一个元组中,多组key和value放入到到一个列表中,转成这种格式: [(key, value), (key, value)]

      1. id_db = {
      2. 22323232: {
      3. "name": "ShanPao",
      4. "age": 22,
      5. "addr": "ShanDong"
      6. },
      7. 43267432:{
      8. "name": "DaShanPao",
      9. "age": 24,
      10. "addr": "DongBei"
      11. }
      12. }
      13. print(id_db.items())
      14. # 输出
      15. dict_items([(22323232, {'age': 22, 'addr': 'ShanDong', 'name': 'ShanPao'}), (43267432, {'age': 24, 'addr': 'DongBei', 'name': 'DaShanPao'})])
    • keys() # 输出字典所有的key

      1. id_db = {
      2. 22323232: {
      3. "name": "ShanPao",
      4. "age": 22,
      5. "addr": "ShanDong"
      6. },
      7. 43267432:{
      8. "name": "DaShanPao",
      9. "age": 24,
      10. "addr": "DongBei"
      11. }
      12. }
      13. print(id_db.keys())
      14. # 输出
      15. dict_keys([22323232, 43267432])
    • values() # 输出字典所有的value

      1. id_db = {
      2. 22323232: {
      3. "name": "ShanPao",
      4. "age": 22,
      5. "addr": "ShanDong"
      6. },
      7. 43267432:{
      8. "name": "DaShanPao",
      9. "age": 24,
      10. "addr": "DongBei"
      11. }
      12. }
      13. print(id_db.values())
      14. # 输出
      15. dict_values([{'name': 'ShanPao', 'addr': 'ShanDong', 'age': 22}, {'name': 'DaShanPao', 'addr': 'DongBei', 'age': 24}])
    • has_key() # 查找key是否在字典中存在,只能在python2里面使用,python3使用in判断

    • setdefault() # 指定一个key,如果字典存在这个key,则返回该key的值,否则创建这个key,如果setdefault()括号内为空,则创建的key的value 为None,否则为该括号内填写的值

      1. id_db = {
      2. 22323232: {
      3. "name": "ShanPao",
      4. "age": 22,
      5. "addr": "ShanDong"
      6. },
      7. 43267432:{
      8. "name": "DaShanPao",
      9. "age": 24,
      10. "addr": "DongBei"
      11. }
      12. }
      13. value = id_db.setdefault(43267432)
      14. print(value)
      15. value2 = id_db.setdefault(432674323232)
      16. print(value2)
      17. print(id_db)
      18. # 输出
      19. {'addr': 'DongBei', 'name': 'DaShanPao', 'age': 24}
      20. None
      21. {22323232: {'addr': 'ShanDong', 'name': 'ShanPao', 'age': 22}, 43267432: {'addr': 'DongBei', 'name': 'DaShanPao', 'age': 24}, 432674323232: None}
    • popitem() # 随机删除字典中的指定的key

      1. id_db = {
      2. 22323232: {
      3. "name": "ShanPao",
      4. "age": 22,
      5. "addr": "ShanDong"
      6. },
      7. 43267432:{
      8. "name": "DaShanPao",
      9. "age": 24,
      10. "addr": "DongBei"
      11. }
      12. }
      13. print(id_db.popitem())
      14. print(id_db)
      15. # 输出
      16. (22323232, {'age': 22, 'addr': 'ShanDong', 'name': 'ShanPao'})
      17. {43267432: {'age': 24, 'addr': 'DongBei', 'name': 'DaShanPao'}}

数据类型

  • 算数运算

  • 比较运算

  • 赋值运算

  • 逻辑运算

  • 成员运算

  • 身份运算

  • 位运算

  • 运算符优先级

python学习之路-2 初识python数据类型的更多相关文章

  1. python学习之路-3 初始python数据类型以及文件操作

    本篇涉及内容 set集合 函数 三元运算 文件操作 set集合 set是一个无序的且不重复的元素集合 1.创建set集合的方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

  2. python学习之路 二 :基本数据类型

    本节重点 理解什么是变量? 掌握各种数据类型 理解可变类型和不可变类型 一.变量和常量 变量: 作用:存贮程序的中间结果在内存里,以备后边的程序调用 定义规范: 变量名只能是 字母.数字活下划线的任意 ...

  3. Python学习之路--1.0 Python概述及基本数据类型

    Python是一门解释性语言,弱类型语言 python程序的两种编写方式: 1.进入cmd控制台,输入python进入编辑模式,即可直接编写python程序 2.在.朋友文件中编写python代码,通 ...

  4. python学习笔记:1.初识python

    4.26 今日内容大纲 1.初识计算机.CPU 内存 硬盘 2.python初识 3.python发展史以及影响 4.python的分类 5.python的种类 6.变量 7.常量 8.注释 9.基础 ...

  5. Python学习之路-Day2-Python基础2

    Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...

  6. Python学习之路【第一篇】-Python简介和基础入门

    1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...

  7. python学习之路-day2-pyth基础2

    一.        模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...

  8. python学习之路------你想要的都在这里了

    python学习之路------你想要的都在这里了 (根据自己的学习进度后期不断更新哟!!!) 一.python基础 1.python基础--python基本知识.七大数据类型等 2.python基础 ...

  9. Python学习之路【目录】

    本系列博文包含 Python基础.前端开发.Web框架.缓存以及队列等,希望可以给正在学习编程的童鞋提供一点帮助!!! 目录: Python学习[第一篇]python简介 Python学习[第二篇]p ...

随机推荐

  1. Webservice-Java-CXF

    1)首先呢,还是包的问题,在http://cxf.apache.org/download.html这里可以下到最新版的CXF,当然,我用的是最新版的.接下来还是那句废话,建WEB项目,放入JAR包.而 ...

  2. (转)Android中截取当前屏幕图片

    该篇文章是说明在Android手机或平板电脑中如何实现截取当前屏幕的功能,并把截取的屏幕保存到SDCard中的某个目录文件夹下面.实现的代码如下: /** * 获取和保存当前屏幕的截图 */ priv ...

  3. AngularJs学习笔记2——四大特性之MVC

    angularJs的四大特性 ①.采用MVC的设计模式 ②.双向数据绑定 ③.依赖注入 ④.模块化设计 现在细说一下MVC的设计模式: MVC: Model(模型)--项目中的数据 View(视图)- ...

  4. windows下体验Redis

    Redis 是一个高性能的key-value数据库, 使用内存作为主存储,数据访问速度非常快,当然它也提供了两种机制支持数据持久化存储.比较遗憾的是,Redis项目不直接支持Windows,Windo ...

  5. [Cycle.js] Making our toy DOM Driver more flexible

    Our previous toy DOM Driver is still primitive. We are only able to sends strings as the textContent ...

  6. Android自定义控件(四)——让每一个Activity UI都具有弹性

    前面我们已经介绍了如何让你的ScrollView,ListView具有弹性, 今天,我们在前面的基础上,做一下适当的修改,让那些既不是ScrollView,也不是ListView的Activity页面 ...

  7. Android字数限制的EditText实现方案研究

    在应用开发中,有时需要实现有字数限制的EditText,首先来分析下市面上存在的类似实现方案吧,好有个感性的认识. [方案一:腾讯微博] 每个中文字符算一个字数,每两个英文字符算一个字数,当用户输入内 ...

  8. Linux基础知识笔记

    1.case的命令格式    #!/bin/sh echo "please input number 1 to 3" read number case $number in ) e ...

  9. 使用kindeditor 注意

    ValidateRequest="false"引用编辑器要在最上端加入上面的话

  10. iOS import导入pod第三方库不提示问题

    pod 导入第三方库后,使用import 不提示第三方库头文件. 解决办法: 选择target -> BuildSettings -> search Paths 下的 User Heade ...