Python学习笔记2--基本数据类型

目录

一、数字(Number)

1.整数的不同进制

2.Python 数字类型转换 

二、字符串(String)

  1.字符串的访问(索引和切片)

 2.字符串更新

 3.字符串内置函数

4.字符串格式化 

 5.转义字符

三、元组(Tuple)

   1.元组类型的定义

   2.元组的创建 

   3.元组的访问

   4.元组内置函数 

   5.元组的不可变 

四、列表(List)

1.列表类型的定义

2.列表的创建 

 3.列表的访问

 4.删除列表元素

 5.列表函数&方法

五、集合(Set) 

  1.集合类型的定义

  2.集合的建立

 3.集合间操作及操作符

​ 4.集合的处理方法 

六、字典(Dictionary)

1.字典类型的定义

2.字典的访问

 3.字典的修改

4.字典类型操作函数及方法 


Python3中有6个标准的数据类型:

  • 数字(Number)
  • 字符串(String)
  • 元组(Tuple)
  • 列表(List)
  • 集合(Set)
  • 字典(Dictionary)

Python3 的六个标准数据类型中:

  • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
  • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

一、数字(Number)

Python 数字数据类型用于存储数值。

数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间。

Python 支持三种不同的数值类型:

  • 整型(int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。布尔(bool)是整型的子类型。

  • 浮点型(float) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)

  • 复数( (complex)) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。

1.整数的不同进制

在 Python 中,可以使用多种进制来表示整数:

1) 十进制形式

我们平时常见的整数就是十进制形式,它由 0~9 共十个数字排列组合而成。

注意,使用十进制形式的整数不能以 0 作为开头,除非这个数值本身就是 0。

2) 二进制形式

由 0 和 1 两个数字组成,书写时以0b0B开头。例如,101 对应十进制数是 5。

3) 八进制形式

八进制整数由 0~7 共八个数字组成,以0o0O开头。注意,第一个符号是数字 0,第二个符号是大写或小写的字母 O。

在 Python 2.x 中,八进制数字还可以直接以0(数字零)开头

4) 十六进制形式 

由 0~9 十个数字以及 A~F(或 a~f)六个字母组成,书写时以0x0X开头,

实例:

#十六进制
hex1 = 0x45
hex2 = 0x4Af
print("hex1Value: ", hex1)
print("hex2Value: ", hex2)

#二进制
bin1 = 0b101
print('bin1Value: ', bin1)
bin2 = 0B110
print('bin2Value: ', bin2)

#八进制
oct1 = 0o26
print('oct1Value: ', oct1)
oct2 = 0O41
print('oct2Value: ', oct2)

 运行结果:(本例的输出结果都是十进制整数。)

hex1Value:  69
hex2Value:  1199
bin1Value:  5
bin2Value:  6
oct1Value:  22
oct2Value:  33

2.Python 数字类型转换 

  • int(x) 将x转换为一个整数。

  • float(x) 将x转换到一个浮点数。

  • complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。

  • complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。

以下实例将浮点数变量 a 转换为整数:

>>> a = 1.0
>>> int(a)
1


二、字符串(String)

字符串是 Python 中最常用的数据类型。我们可以使用引号( ' 或 " )来创建字符串。

创建字符串,只需要为变量赋值即可,如:Str = "hello world"

  1.字符串的访问(索引和切片)

  •      索引值以 0 为开始值,-1 为从末尾的开始位置。索引的用法,取单个元素时,使用字符串[索引值] ,索引值为对应元素的索引号
  • 切片的语法:[起始:结束:步长]   注意:选取的区间属于左闭右开型,即从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身)。   例:

 2.字符串更新

截取字符串的一部分并与其他字段拼接,如下实例:

var1 = 'Hello World!'
 
print ("已更新字符串 : ", var1[:6] + 'Runoob!')

 运行结果

已更新字符串 :  Hello Runoob!

 3.字符串内置函数

4.字符串格式化 

Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。

在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。

>>> print("中国的英文是%s" % ("China"))
中国的英文是China

 字符串格式化符号:

 格式化操作符辅助指令:

 5.转义字符

在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。如下表:


三、元组(Tuple)

   1.元组类型的定义

  • 元组是一种序列类型,一旦创建就不能被修改
  • 使用小括号()或tuple()创建,元素间使用逗号分隔
  • 可以使用或不使用小括号
  • 元组类型继承了序列类型的全部通用操作
  • 元组操作与序列操作基本相同

   2.元组的创建 

创建空元组  

tup1 = ()
>>> tup1 = ('Google', 'Runoob', 1997, 2000)
>>> tup2 = (1, 2, 3, 4, 5 )
>>> tup3 = "a", "b", "c", "d"   #  不需要括号也可以
>>> type(tup3)
<class 'tuple'>

 元组中只包含一个元素时,需要在元素后面添加逗号 , ,否则括号会被当作运算符使用:

>>> tup1 = (50)
>>> type(tup1)     # 不加逗号,类型为整型
<class 'int'>

>>> tup1 = (50,)
>>> type(tup1)     # 加上逗号,类型为元组
<class 'tuple'>

   3.元组的访问

  • 元组与字符串类似,下标索引从 0 开始,可以进行截取,组合等。
  • 元组可以使用下标索引来访问元组中的值,如下实例:
    tup1 = ('Google', 'Runoob', 1997, 2000)
    tup2 = (1, 2, 3, 4, 5, 6, 7 )
     
    print ("tup1[0]: ", tup1[0])
    print ("tup2[1:5]: ", tup2[1:5])

   4.元组内置函数 

  1. len(tuple)         计算元组元素个数
  2. max(tuple)        返回元组中元素最大值
  3. min(tuple)         返回元组中元素最小值
  4. tuple(iterable)     将可迭代系列转换为元组

   5.元组的不可变 

所谓元组的不可变指的是元组所指向的内存中的内容不可变。

>>> tup = ('r', 'u', 'n', 'o', 'o', 'b')
>>> tup[0] = 'g'     # 不支持修改元素
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> id(tup)     # 查看内存地址
4440687904
>>> tup = (1,2,3)
>>> id(tup)
4441088800    # 内存地址不一样了

从以上实例可以看出,重新赋值的元组 tup,绑定到新的对象了,不是修改了原来的对象。 


四、列表(List)

1.列表类型的定义

  • 列表是一种序列类型,创建后可以随意被修改
  • 使用方括号[]或list()创建,元素间用逗号分隔
  • 列表中各元素类型可以不同,无长度限制
  • 列表操作在序列操作基础上,增加了更多的灵活性

2.列表的创建 

1) 使用 [ ] 直接创建列表

使用[ ]创建列表后,一般使用=将它赋值给某个变量,具体格式如下:

listname = [element1 , element2 , element3 , ... , elementn]

其中,listname 表示变量名,element1 ~ elementn 表示列表元素。

例如,下面定义的列表都是合法的:

num = [1, 2, 3, 4, 5, 6, 7]
name = ["C语言中文网", "http://c.biancheng.net"]
program = ["C语言", "Python", "Java"]

另外,使用此方式创建列表时,列表中元素可以有多个,也可以一个都没有,例如: 

emptylist = [ ]

这表明,emptylist 是一个空列表。

2) 使用 list() 函数创建列表

除了使用[ ]创建列表外,Python 还提供了一个内置的函数 list(),使用它可以将其它数据类型转换为列表类型。例如:

#将字符串转换成列表
list1 = list("hello")
print(list1)
#将元组转换成列表
tuple1 = ('Python', 'Java', 'C++', 'JavaScript')
list2 = list(tuple1)
print(list2)
#将字典转换成列表
dict1 = {'a':100, 'b':42, 'c':9}
list3 = list(dict1)
print(list3)
#将区间转换成列表
range1 = range(1, 6)
list4 = list(range1)
print(list4)
#创建空列表
print(list())

运行结果

['h', 'e', 'l', 'l', 'o']
['Python', 'Java', 'C++', 'JavaScript']
['a', 'b', 'c']
[1, 2, 3, 4, 5]
[] 

 3.列表的访问

例:

url = list("http://c.biancheng.net/shell/")
#使用索引访问列表中的某个元素
print(url[3])  #使用正数索引
print(url[-4])  #使用负数索引
#使用切片访问列表中的一组元素
print(url[9: 18])  #使用正数切片
print(url[9: 18: 3])  #指定步长
print(url[-6: -1])  #使用负数切片

结果:

p
e
['b', 'i', 'a', 'n', 'c', 'h', 'e', 'n', 'g']
['b', 'n', 'e']
['s', 'h', 'e', 'l', 'l']

 4.删除列表元素

可以使用 del 语句来删除列表的的元素,如下实例:

list = ['Google', 'Runoob', 1997, 2000]
 
print ("原始列表 : ", list)
del list[2]
print ("删除第三个元素 : ", list)

结果:

原始列表 :  ['Google', 'Runoob', 1997, 2000]
删除第三个元素 :  ['Google', 'Runoob', 2000]

 5.列表函数&方法

函数:

方法: 


五、集合(Set) 

  1.集合类型的定义

  • 集合类型与数学中的集合概念一致
  • 集合元素之间无序,每个元素唯一,不存在相同元素
  • 集合元素不可更改,不能是可变数据类型,是不可变数据类型
  • 集合是多个元素的无序组合

  2.集合的建立

  • 集合用大括号{}表示 ,元素间用逗号分隔

  • 建立集合类型用{}或set()

  • 建立空集合类型,必须使用set()    注:为什么不能用{}来创建空集合,因为{}是用来创建一个空字典。   

创建格式:

parame = {value01,value02,...}
或者
set(value)

示例:

A={"python",123}    #使用{}建立集合,得到{123,'python'}
B=set("pypy123")    #使用set()建立集合,得到{'p','y','1','2','3'}
C={"world",123,"world",123}    #得到{'world',123}

 3.集合间操作及操作符

例:

>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>>> print(basket)                      # 这里演示的是去重功能
{'orange', 'banana', 'pear', 'apple'}
>>> 'orange' in basket                 # 快速判断元素是否在集合内
True
>>> 'crabgrass' in basket
False

>>> # 下面展示两个集合间的运算.
...
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a                                  
{'a', 'r', 'b', 'c', 'd'}
>>> a - b                              # 集合a中包含而集合b中不包含的元素
{'r', 'd', 'b'}
>>> a | b                              # 集合a或b中包含的所有元素
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b                              # 集合a和b中都包含了的元素
{'a', 'c'}
>>> a ^ b                              # 不同时包含于a和b的元素
{'r', 'd', 'b', 'm', 'z', 'l'}

 

 4.集合的处理方法 

  1.  添加元素  
s.add( x )    x 可以有多个,用逗号分开。
>>> thisset = set(("Google", "Runoob", "Taobao"))
>>> thisset.add("Facebook")
>>> print(thisset)
{'Taobao', 'Facebook', 'Google', 'Runoob'}

     2.移除元素

s.remove( x )    将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。
>>> thisset = set(("Google", "Runoob", "Taobao"))
>>> thisset.remove("Taobao")
>>> print(thisset)
{'Google', 'Runoob'}
>>> thisset.remove("Facebook")   # 不存在会发生错误
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'Facebook'
>>>
s.discard( x )   如果元素不存在,不会发生错误。
>>> thisset = set(("Google", "Runoob", "Taobao"))
>>> thisset.discard("Facebook")  # 不存在不会发生错误
>>> print(thisset)
{'Taobao', 'Google', 'Runoob'}

      3.将集合清空以及计算集合元素个数

len(s)
s.clear()
  操作函数或方法                                     描述
      s.add(x)如果x不在集合s中,将x增加到s中
      s.discard(x)移除s中元素x,如果x不在集合s中,不报错
      s.remove(x)移除s中元素x,如果x不在集合s中,产生keyerror异常
      s.clear()移除s中所有元素
      s.pop()随机返回s中的一个元素,更新s,若s为空产生keyerror异常
      s.copy()返回集合s的一个副本
      len(s)返回集合s的元素个数
      x in s判断s中元素x,x在集合s中,返回True,否则返回False
      x not in s判断s中元素x,x不在集合s中,返回True,否则返回False
      set(x)将其他类型变量x转变为集合类型
      difference()返回多个集合的差集
  difference_update()
移除集合中的元素,该元素在指定的集合也存在
      intersection()返回集合的交集
  intersection_update
返回集合的交集
       isdisjoint()判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False
       issubset()判断指定集合是否为该方法参数集合的子集
       issuperset()判断该方法的参数集合是否为指定集合的子集
       symmetric_difference()返回两个集合中不重复的元素集合
       symmetric_difference_update()移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中
       union()返回两个集合的并集
  s.update(x)
给集合添加元素


六、字典(Dictionary)

1.字典类型的定义

理解“映射”:映射是一种键(索引)和值(数据)的对应

  1. 字典类型是映射的体现
  2. 字典是键值对的集合,键值对之间无序
  3. 采用大括号{}和dict()创建,键值对用冒号:表示

字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:

d = {key1 : value1, key2 : value2, key3 : value3 }

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字。

2.字典的访问

例:

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
print ("dict['Name']: ", dict['Name'])
print ("dict['Age']: ", dict['Age'])

 结果:

dict['Name']:  Runoob
dict['Age']:  7

 3.字典的修改

向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
dict['Age'] = 8               # 更新 Age
dict['School'] = "菜鸟教程"  # 添加信息
 
 
print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])

结果:

dict['Age']:  8
dict['School']:  菜鸟教程

4.字典类型操作函数及方法 

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python学习笔记》是由皮大庆编写的一本关于Python语言学习的教材。在这本书中,作者详细介绍了Python语言的基础知识、语法规则以及常用的编程技巧。 首先,作者简要介绍了Python语言的特点和优势。他提到,Python是一种易于学习和使用的编程语言,受到了广大程序员的喜爱。Python具有简洁、清晰的语法结构,使得代码可读性极高,同时也提供了丰富的库和模块,能够快速实现各种功能。 接着,作者详细讲解了Python基本语法。他从变量、数据类型、运算符等基础知识开始,逐步介绍了条件语句、循环控制、函数、模块等高级概念。同时,作者通过大量的示例代码和实践案例,帮助读者加深对Python编程的理解和应用。 在书中,作者还特别强调了编写规范和良好的编程习惯。他从命名规范、注释风格、代码缩进等方面指导读者如何写出清晰、可读性强的Python代码。作者认为,良好的编程习惯对于提高代码质量和提高工作效率非常重要。 此外,作者还介绍了Python的常用库和模块。他提到了一些常用的库,如Numpy、Pandas、Matplotlib等。这些库在数据处理、科学计算、可视化等领域有广泛的应用,帮助读者更好地解决实际问题。 总的来说,《Python学习笔记》是一本非常实用和全面的Python学习教材。通过学习这本书,读者可以系统地学习和掌握Python编程的基础知识和高级应用技巧,为以后的编程学习和工作打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Apathfinder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值