Python中的对象

在Python中的对象数据类型主要包含,数值型、字符型、逻辑型、列表、元祖、字典、数据框。
本文将针对不同的数据类型进行介绍,说明其用法。
一、数值型、字符型、逻辑型说明

数值型

定义:数值型主要是指实数,正数,负数以及0。分为长整型,浮点值,复数
运算:数值型可以进行标准算术运算(+ - * / // % **)
举例:

  1. 长整型(long):94895893589 -87879789
  2. 浮点值(float):3.24435,-3.343
  3. 复数(complex):123-12j,123+12j(复数是由两部分组成,一部分是实数,一部分是虚数)

运算举例:

#取整
7 // 4

7 // 4
Out[5]: 1

#求余
10 % 4

10 % 4
Out[6]: 2

#乘方
2 ** 3

2 ** 3
Out[7]: 8

#一个关于浮点数运算需要注意的地方
a = 4.2
b = 2.1
a + b
Out[8]: 6.300000000000001
(a + b) == 6.3     #注意书写格式
Out[12]: False

#出现浮点问题,使用decimal进行封装,解决浮点问题
from decimal import Decimal
a = Decimal('4.2')
b = Decimal('2.1')
a + b
Out[15]: Decimal('6.3')

(a + b) == Decimal('6.3')
Out[16]: True

逻辑型

定义:逻辑型有称为布尔值,只有两个值(1和1,真和假)
运算:进行或(|)、与(&)、非(not)
举例:

  1. true
  2. false

运算举例:

字符型

定义:Python中字符串被定义为引号之间的字符集合,引号支持成对的单引号,双引号和三引号。
运算:主要通过索引操作符([ ])和切片操作符([ : ])得到子字符串
举例:

  1. a = “python”
  2. b= “is cool”

运算举例:

#使用反斜杠(\)转义特殊字符。
s = 'Yes,he doesn\'t'   #反斜杠后面的引号不是Python的定义格式,是原始字符

s = 'Yes,he doesn\'t'

s
Out[19]: "Yes,he doesn't"

#如果你不想让反斜杠发生转义,
#可以在字符串前面添加一个r,表示原始字符串

print('C:\some\name')
C:\some
ame              #Python中\n表示换行,如果让Python知道反斜杠本来就是反斜杠不进行转义,就使用双反斜杠
print('C:\\some\\name')
C:\some\name                #如果不想使用双反斜杠,可以在字符串前面添加一个r,表示原始字符串

print(r'C:\some\name')
C:\some\name

#反斜杠可以作为续行符,表示下一行是上一行的延续。
s = "abcd\
efg"
print(s)
abcdefg

#还可以使用"""..."""或者'''...'''跨越多行
s = """
Hello I am fine!
Thinks.
"""

print(s)

Hello I am fine!
Thinks.

二、列表、元祖、字典说明
列表和元祖可以当做成普通的“数组”,它能保存任意数量任意类型的Python对象。通过从0开始的数字索引访问元素,但是列表和元祖可以存储不同类型的对象。
字典是Python中的映射数据类型,由键-值(key-value)对构成,几乎所有类型的Python对象都可以用作键,不过一般还是以数字或者字符串最为常用。

列表

定义:列表元素用([ ])包裹,元素的个数和元素的值可以改变
运算:和字符串一样可以通过索引操作符([ ])和切片操作符([ : ])得到子集
举例:

  1. aList = [1,2,3,4]

元组

定义:元组元素用(())包裹,不可以更改
运算:和字符串一样可以通过索引操作符([ ])和切片操作符([ : ])得到子集
举例:

  1. data = (‘robots’,77,93,’try’)

字典

定义:元组元素用({ })包裹
运算:通过键值进行提取
举例:

  1. dic = {‘host’:’earth’}

三、序列、数据框说明
pandas中有两种常用的数据结构:Series–系列;DataFrame–数据框
Series系列是用于存储一行或者一列的数据,以及与之相关的索引的集合。(可以理解为Excel中的一列,只是没有列名,因为只有一列,所以不需要列名)
这里写图片描述

#如何定义序列
from pandas import Series  #从pandas包中调用series对象

#定义,可以混合定义
x = Series(
    ['a', True, 1]
)

x = Series(
    ['a', True, 1],
    index=['first', 'second', 'third']
)

#访问
x[1]
Out[5]: True
#根据index访问
x['second']
Out[6]: True

#不能越界访问
x[3]
Traceback (most recent call last):

  File "<ipython-input-7-ed224ad0520d>", line 1, in <module>
    x[3]

  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\series.py", line 601, in __getitem__
    result = self.index.get_value(self, key)

  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\indexes\base.py", line 2483, in get_value
    return libts.get_value_box(s, key)

  File "pandas/_libs/tslib.pyx", line 923, in pandas._libs.tslib.get_value_box (pandas\_libs\tslib.c:18843)

  File "pandas/_libs/tslib.pyx", line 939, in pandas._libs.tslib.get_value_box (pandas\_libs\tslib.c:18560)

IndexError: index out of bounds

#不能追加单个元素
 x.append('2')

Traceback (most recent call last):

  File "<ipython-input-8-849d5f69bcd3>", line 1, in <module>
    x.append('2')

  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\series.py", line 1553, in append
    verify_integrity=verify_integrity)

  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\reshape\concat.py", line 206, in concat
    copy=copy)

  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\reshape\concat.py", line 263, in __init__
    raise TypeError("cannot concatenate a non-NDFrame object")

TypeError: cannot concatenate a non-NDFrame object

#追加一个序列
n = Series(['2'])
x.append(n)
Out[9]:
first        a
second    True
third        1
0            2
dtype: object

x
Out[10]:
first        a
second    True
third        1
dtype: object

这里写图片描述

append并不会直接修改原来x的值。#需要使用一个变量来承载变化
x = x.append(n)
#判断值是否在X中存在,需要使用values属性。
'2' in x
Out[12]: False
'2' in x.values
Out[13]: True

#切片
x[1:3] (左边包含右边不包含)
Out[14]:
second    True
third        1
dtype: object

#定位获取,这个方法经常用于随机抽样
x[[0, 2, 1]]

x[[0, 2, 1]]
Out[15]:
first        a
third        1
second    True
dtype: object

#根据index删除
x.drop(0)
Out[16]:
first        a
second    True
third        1
dtype: object

x.drop('first')
Out[17]:
second    True
third        1
0            2
dtype: object
#根据位置删除
x.drop(x.index[3])
Out[18]:
first        a
second    True
third        1
dtype: object
#根据值删除
x['2'!=x.values]
Out[19]:
first        a
second    True
third        1
dtype: object
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值