python常用内置对象

常量与变量

在python中,变量存储的是值得地址,不需事先声明,可以直接赋值使用,它是一种强类型编程语言,解释器会根据值或者运算自动推断变量类型,也是一种动态类型语言,变量类型可以随时改变。
python采用基于值得内存管理方式,如果为不同的变量赋予相同的值(仅适用于-5到256的整数和短字符串),这些变量指向同一地址。

>x = 3
>y = x;
>id(x)
140729996321232
>id(y)
140729996321232
>x += 6
>x
9
>id(x)
140729996321424
>y
3
>id(y)
140729996321232

数字

  • 支持任意大数字,仅受到内存限制
>9999 ** 99
2271489747289376003753354963522413909540003577071282827989791465001781373721534002114854962776655912708340735608699953341392362473086303333047427623535370333620989169235173371187234500913060176977851254236091855092039112925904305023232125074256130829162384856963161031062069757647848697487167334072579505391812096936169658465260127141575438309768287883431096652914535098294289625568674204657115
  • 由于精度问题,应尽量避免在实数之间直接进行相等测试,应该以二者之差的绝对值是否足够小为依据
>0.4 -0.1
0.30000000000000004
>0.4 - 0.1 == 0.3
False
>abs(0.4 - 0.1 - 0.3) < 1e-6 #10的-6次方
True
  • 在数字的算术运算表达式求值时会进行隐式的类型转换,如果存在复数则都变为复数,没有复数但有实数就都变为实数,如果都是整数则不进行类型转换
  • 标准库fractions中的Fraction对象支持分数及其运算
  • 标准库fractionsdecimal中提供的Decimal类实现了更高精度实数的运算。

字符串(有序、不可变序列)与字节串

>>> x = 'Hello world.'                  #使用单引号作为定界符
>>> x = "Python is a great language."   #使用双引号作为定界符
>>> x = '''Tom said, "Let's go."'''     #不同定界符之间可以互相嵌套
>>> print(x)
Tom said, "Let's go."
>>> x = 'good ' + 'morning'             #连接字符串
>>> x
'good morning'
>>> x = 'good ''morning'                #连接字符串,仅适用于字符串常量
>>> x
'good morning'
>>> x = 'good '
>>> x = x'morning'                      #不适用于字符串变量
SyntaxError: invalid syntax
>>> x = x + 'morning'                   #字符串变量之间的连接可以使用加号
>>> x
'good morning'

字符串与字节串之间使用encode(),decode()方法转换

列表、元组、字典、集合

对比

>>>x_list = [1,2,3]
>>>x_tuple = (1,2,3)
>>>x_dict = {'a':97,'b':98,'c':99}
>>>x_set = {1,2,3}
>>>print(x_list[1])
>>>print(x_tuple[1])
>>>print(x_dict['a'])
>>>print(3 in x_set)


2
2
97
True

列表(有序、可变序列)

  • 元素有序、存储连续
  • 增删时自动对内存进行扩展或者收缩,但烟瘴严重影响效率,应尽量避免
  • 位于[]中,可以包含不同类型的元素。
[10,20,30,40]
['crunchy ll','red','lark']
['span',2.0,5,[10,20]]
[['file',200.7],['fielw',260.9]]
[{3},{5:6},(1,2,3)]
[]#空列表
  • 列表的创建与删除
>>> list((3,5,7,9,11))                #将元组转换为列表
[3, 5, 7, 9, 11]
>>> list(range(1, 10, 2))             #将range对象转换为列表
[1, 3, 5, 7, 9]
>>> list('hello world')               #将字符串转换为列表
['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
>>> list({3,7,5})                     #将集合转换为列表
[3, 5, 7]
>>> list({'a':3, 'b':9, 'c':78})      #将字典的“键”转换为列表
['a', 'c', 'b']
>>> list({'a':3, 'b':9, 'c':78}.items())#将字典的“键:值”对转换为列表
[('b', 9), ('c', 78), ('a', 3)]
>>> x = list()                          #创建空列表
[]
>>> del x #删除
  • 列表的访问
>>> x = list('Python')             #创建类别对象
>>> x
['P', 'y', 't', 'h', 'o', 'n']
>>> x[0]                           #下标为0的元素,第一个元素
'P'
>>> x[-1]                          #下标为-1的元素,最后一个元素
'n'
  • 列表的常用方法
    在这里插入图片描述
  • 列表推导式
>>> aList = [x*x for x in range(10)]
#相当于
>>> aList = []
>>> for x in range(10):
    aList.append(x*x)
  • 列表切片[start:end:step]
    第一个数字start表示切片开始位置,默认为0;
    第二个数字end表示切片截止(但不包含)位置(默认为列表长度);
    第三个数字step表示切片的步长(默认为1)。
    当start为0时可以省略,当end为列表长度时可以省略,当step为1时可以省略,省略步长时还可以同时省略最后一个冒号。
    当step为负整数时,表示反向切片,这时start应该在end的右侧才行。

元组(有序、不可变序列)

  • 元组的创建与访问

字典(无序、可变序列)

集合(无序、可变序列)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【为什么学PythonPython 是当今非常热门的语言之一,2020年的 TIOBE 编程语言排行榜中 ,Python名列第一,并且其流行度依然处在上升势头。 在2015年的时候,在网上还经常看到学Python还是学R的讨论,那时候老齐就选择了Python,并且开始着手出版《跟老齐学Python》。时至今日,已经无需争论。Python给我们带来的,不是项目上的收益,我们更可以从它“开放、简洁”哲学观念中得到技术发展路线的启示。 借此机会,老齐联合CSDN推出了本课程,希望能影响更多的人走进Python,踏入编程的大门。 【课程设计】 本课程共包含三大模块: 一、基础知识篇 内置对象和基本的运算、语句,是Python语言的基础。本课程在讲解这部分知识的时候,不是简单地将各种知识做简单的堆砌,而是在兼顾内容的全面性的同时,更重视向学习者讲授掌握有关知识的方法,比如引导学习者如何排查错误、如何查看和理解文档等。   二、面向对象篇 “面向对象(OOP)”是目前企业开发主流的开发方式,本课程从一开始就渗透这种思想,并且在“函数”和“类”的学习中强化面向对象开发方式的学习——这是本课程与一般课程的重要区别,一般的课程只在“类”这里才提到“对象”,会导致学习者茫然失措,并生畏惧,乃至于放弃学习。本课程则是从开始以“润物细无声”的方式,渗透对象概念,等学习到本部分的时候,OOP对学习者而言有一种“水到渠成”的感觉。   三、工具实战篇 在项目实战中,除了前述的知识之外,还会用到很多其他工具,至于那些工具如何安装?怎么自己做工具?有那些典型工具?都是这部分的内容。具体来说,就是要在这部分介绍Python标准库的应用以及第三方包的安装,还有如何开发和发布自己的工具包。此外,很多学习Python的同学,未来要么从事数据科学、要么从事Web开发,不论哪个方向,都离不开对数据库的操作,本部分还会从实战的角度,介绍如何用Python语言操作常用数据库。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值