Python公开课 - 基础数据类型

01. 前言

基础数据类型掌握是一门语言的基础,Python的数据类型很灵活,变量并不是通过声明来指定,而是通过赋值来指定,这个与C和JAVA有很大的不同。

02. 六大标准数据类型

  1. Number - 整型
  2. String - 字符串
  3. List - 列表数组
  4. Tuple - 元祖
  5. Set - 集合
  6. Dict - 字典

03. Number - 整型

数字包含了整数、浮点数、布尔值以及复数:

>>>a, b, c, d = 23, 6.5, False, 4+5j
>>>print(type(a), type(b), type(c), type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>

数值运算:

>>>5 + 4  # 加法
9
>>> 4.3 - 2 # 减法
2.3
>>> 3 * 7  # 乘法
21
>>> 2 / 4  # 除法,得到一个浮点数
0.5
>>> 2 // 4 # 除法,得到一个整数
0
>>> 17 % 3 # 取余 
2
>>> 2 ** 5 # 乘方
32

注意:

  • Python3中int类型不存在最大范围限制,也就是说你可以使用超过[-2417483648,2417483647]范围的整数
  • 在一般场景下复数使用较少,这里就不过多介绍了

04. String - 字符串

字符串很常用,可以通过单引号或者双引号来赋值

>>>a, b, c, d='Hello', "World", """Test""",'''Python'''
>>>print(type(a), type(b), type(c), type(d))
<class 'str'> <class 'str'> <class 'str'> <class 'str'>

有时候,你可以把它当数组来进行切片:

>>>a="HelloWorld"
>>>print(a[3:6])
loW

也许你要需要进行拼接:

>>>a, b="Hello", "World"
>>>print(a+b)
HelloWorld

关于字符串拼接性能,有这样一个结论,参考Stackoverflow.com

  • If you using 2.6, use the + operator.
  • if you're using 2.7 use the '%' operator.
  • if you're using 3.x use ''.join().

当然字符串是不能改变的,也就是说

>>>a="Test"
>>>a[1]='a'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment

05. List - 列表

理解为数组比较合适,可以索引和进行切片

>>>a=[1, 2, 3]
>>>a[1]='a'
>>>print(a)
[1, 'a', 3]

list内置方法:

  • append: 往数组尾添加一个元素
  • clear: 清空数组
  • copy: 创建一个本数组的拷贝
  • count: 返回值匹配值的个数
  • extend: 数组拼接
  • index: 返回匹配值的索引位置
  • insert: 在指定索引位置插入值
  • pop: 在指定索引位置删除值,并返回被删除的值
  • remove: 将数组中第一个匹配的值进行删除
  • reverse: 倒排数组
  • sort: 可以按照自定义方法进行排序
>>> a=[1,2,3]
>>> a.append(4)
>>> print(a)
[1, 2, 3, 4]

>>> a.clear()
>>> print(a)
[]

>>> b=[4,5,6]
>>> a=b.copy()
>>> a[1]=2
>>> print(a,b)
[4, 2, 6] [4, 5, 6]

>>> a=[1,2,2,3,5,2]
>>> print(a.count(2))
3

>>>b=['a', 'b', 'c']
>>>a.extend(b)
>>>print(a,b)
[1, 2, 2, 3, 5, 2, 'a', 'b', 'c'] ['a', 'b', 'c']

>>>print(a.index('a'), a.index(2, 3,10))
6 5

>>>b.insert(4, 'd')
>>>print(b)
['a', 'b', 'c', 'd']


>>>b.pop(2)
>>>print(b)
['a', 'b', 'd']

>>>a.remove(2)
>>>print(a)
[1, 2, 3, 5, 2, 'a', 'b', 'c']

>>>a.reverse()
>>>print(a)
['c', 'b', 'a', 2, 5, 3, 2, 1]

>>>b.sort()
>>>print(b)
['a', 'b', 'd']

06. Tuple - 元组

元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。

注意:

  • 与字符串一样,元组的元素不能修改
  • 元组也可以被索引和切片,方法一样
  • 元组也可以使用+操作符进行拼接

07. Set - 集合

集合(Set), 主要用来进行集合计算和排重

>>> s={'a', 'b', 'c', 'c'}
>>> print(s)
{'b', 'a', 'c'} #重复的元素被自动去掉

>>> b = set('cdef')
>>> print(b)
{'f', 'e', 'd', 'c'}
>>> print(s-b)                     #求差集
{'b', 'a'}
>>> print(s|b)                     #求并集
{'b', 'e', 'c', 'f', 'a', 'd'}
>>> print(s&b)                     #求交集
{'c'}
>>> print(s^b)                     #s和b中不同时存在的元素
{'e', 'a', 'b', 'f', 'd'}

08. Dict - 字典

字典是一个很常用的数据类型,类似于hashmap,性能很好,可以满足各种key, value形式的数据存取

>>> s={'name': 'Willie', 'age':18, 'female': False}
>>> s.update({'job': 'student'})
>>>print(s)
{'age': 18, 'female': False, 'job': 'student', 'name': 'Willie'}

注意:

  • 字典是一种映射类型,它的元素是键值对
  • 字典的关键字必须为不可变类型,且不能重复

09 更多内容

原文来自兔子先生网站:https://www.xtuz.net/detail-12.html

查看原文 >>> Python基础数据类型

如果你对Python语言感兴趣,可以关注我,或者关注我的微信公众号:xtuz666

10. 相关阅读


相关推荐
  1. 铅山县傍罗乡私立学校塘尾总校
  2. 易中天给英雄武汉的一首诗 - 武汉新鲜事
  3. 脱单!武汉的相亲角在哪你知道吗?
  4. 梧鼠技穷
  5. 会长大的彗星蛋
  6. 南京市建邺区南京市奥体艺术幼儿园 - 南京幼儿园黄页
  7. 抓包工具Charles安装及使用
  8. 西安市莲湖区吉的堡锦园幼儿园 - 西安幼儿园黄页
  9. 枣庄市底阁中学
  10. 上海市进才中学北校羽山路校区
  11. 一骑红尘妃子笑
  12. 长春市榆树市阳光金宝贝幼稚园 - 长春幼儿园黄页
  13. Python公开课 - 异常处理
  14. 天津市和平区劝业场小学
  15. 奥迪客户不满加价,被武汉4S店销售群殴
  16. 郑州管城回族区外国语小学(原城东路一小)
  17. 北京市朝阳区牌坊快乐宝贝幼儿园 - 北京幼儿园黄页
  18. 丁娘娘
  19. 武汉女子网上做兼职被骗六十五万
  20. Python公开课 - Ubuntu 升级到Python3.6及对应的pip
  21. 事发武汉农夫山泉矿泉水内惊现大量虫卵
  22. Python公开课 - 爬虫介绍
  23. 萃河不老情
  24. 宁乡县大屯营乡紫林完小
  25. 江门市荷塘镇梅溪小学
  26. 山海关第三中学
  27. XPath常用函数整理总结
  28. 武汉动物园火烈鸟孔雀排队打疫苗
  29. 杭州市景华小学
  30. 蔺相如完壁归赵
  31. 深圳市龙岗区溪涌小学
  32. 曲阜市鲁城街道孔子中学
  33. 新生儿血液黄疸值范围是多少 - 育儿经验
  34. 给网站加上永久免费SSL的证书
  35. 上海市松江区新凯幼儿园 - 上海幼儿园黄页
  36. 武汉一女子七天被骗220万
  37. 太原市万柏林区狮头双语幼儿园 - 太原幼儿园黄页
  38. 武汉市汉阳区旺斯达国际幼儿园 - 武汉幼儿园黄页
  39. 嘉兴一中实验经开学校
  40. 西塘坨小学
  41. 江苏扬中高级中学
  42. 邹城市千泉街孟子小学
  43. OpenJDK与Oracle JDK的区别
  44. 哭泣的蝴蝶
  45. Java Web Services介绍
  46. 潍坊市育才学校(中学部)
  47. 武汉00后大二学妹拍视频月入七十万
  48. 小山羊过桥
  49. 郭村中心幼儿园 - 保定幼儿园黄页
  50. 百名网媒总编辑登上知音号欣赏武汉夜色
  51. 他杀死了我的狗
  52. 桂林市恭城瑶族自治县满天星幼儿园 - 桂林幼儿园黄页
  53. 央媒聚焦!国庆假期173.78万人次打卡大美黄陂
  54. 狐狸小姐的红舞鞋
  55. 北京师范大学亚太实验学校
  56. 上海市杨浦区开鲁新村第一小学(开鲁新村一小)
  57. Python公开课 - 标准库Thread详解
  58. 大同煤矿集团公司第一中学
  59. Python公开课 - 爬虫之代理
  60. 沈阳市大东培智学校