python学习(3)--数据类型
2017-10-23 22:16
267 查看
1.python基本数据类型有五种:数字、字符串、列表、元组、字典。今天给大家介绍数字和字符串这两种。
(1)python中数字主要分为整型、浮点型、以及复数这三种。
在python中为我们提供了type函数,这个函数返回的是一个数据类型,python代码如下:
通过打印可以发现123为int整型;123.0为float浮点型;3E+2J为complex复数型.在我们常见的java或C函数中,函数的参数要么整型或浮点型,从未见过一个函数既能处理整型参数,又能处理浮点型参数,而且参数只有一个,这是因为在python中无论是int还是float,python都将他们作为对象处理,可以理解为type函数接收的只是一个引用,type函数处理的是引用的内容,当获取到引用内容过后,通过内部的代码判断出引用指向内容的类型,最后返回数据的类型。这里大家只要知道,在python中无论是float还是int或者其他数据类型,python都当做对象来处理。
(2)字符串在python是一种很常见的数据类型,也非常的重要;
一个变量若要赋值为字符串类型,只需a='123'或者a="123",单引号或者双引号并没有什么不同。可以通过打印字符串来进行证明:
可以看出"123"和‘123’是一样的
(3)但是会遇到一些情况,单引号和双引号要进行区分
下面举个例子,代码如下:
打印let's go必须用双引号括起来,如果字符串中只有单引号那么只能用双引号括起来,同理只有双引号,用单引号括起来,如:'let'' go';如果字符串中既有单引号,又有双引号那么需要先对其中一种引号进行转义,然后并将字符串用被转义的引号括起来,例如:"let's \"go\" "也可以写成'let\'s "go"'
下面介绍一下三重引号:先看代码:
这里有单双引号,又有换行,程序写起来需要转义很麻烦,而且看代码的人也不一定能一下看懂。
再看一段代码:
而程序中的"""就是三重引号,你可以把自己要写的字符串粘贴进去,只要开头是"""结尾是"""(当然也可以写成'''),python就会自动识别出你要写的字符串格式,无论是单双引号还是换行都不需要进行转义,而且程序阅读起来也更加可读。
(4)python中的字符串操作起来灵活多变,与java一样也可以将它看做一个字符数组,实际上在,操作python中的字符串主要靠数组的概念来体现,以下一张图可以让你更好的理解python字符串,如图:
图中表示的是一个字符串a='abcde',0,1,2,3,4,5表示字符串的下标,在python字符串中下标也可以用负数来表示,如图所示a[-1]='e',以此类推。代码如下:
可以看到a[0]='a',a[-1]='e',用图中的下标可以取到字符串a中的任意字符;
(5)python字符串分片
所谓分片就相当于java取子字符串(subString),举个例子,代码如下:
a[1:4]='bcd',a[0:4]='abcd',再来看这张图:
,对于a[1:4],python取到的subString是'bcd',也就是取了a[1],a[2],a[3],而a[4]是不取的;也就是说python取subString,取到的是从起始下标(包括起始下标在内)到终止下标前一个字符的subString。
在python中起始下标和终止下标可以忽略不写,代码如下:
再来看这张图
,a[0:],如果没有终止下标,那么终止下标默认是5,取到下标0-4的字符,即a[0:]='abcde';a[:4],如果没有起始下标,那么默认起始下标为0,取到的是下标为0-3的subString,即'abcd';如果起始下标和终止下标都没有,那么起始下标默认为0,终止下标默认为5,取到subString为'abcde';
再介绍下步长的概念,python中可以间隔着取字符串,步长为1,就是间隔0个字符取字符串,步长为2就是间隔1个字符取字符串,以此类推。代码如下:
a[::1],首先第一次取到的subStringa[:]='abcde',步长为1,就是间隔0个字符取a[:]的字符串,结果a[::1]='abcde';同理,a[1:4:2],先取subStringa[1:4]='bcd',步长为2,就是要间隔1个字符取字符串,即a[1:4:2]='bd'
在python也可以从右至左取字符串,先看如下代码:
参照此图:
,可以知道a[-5:-2]='abc',而a[-2:-5]什么也没有打印,这是因为在python中默认是从左至右来取subString的,那么要是想从右至左来取字符串怎么办呢?代码如下:
再参照此图:
,a[-2:-4:-1]表示的是取起始下标-2到终止下标-4的subString,因为这里的步长-1为负数,所以python会从右至左取字符串,即a[-2:-4:-1]='dc',这里需要注意的是步长为负数表示已经告知python从右至左取字符串,下标相应的也要从右至左写,如果将a[-2:-4:-1]改为a[-4:-2:-1]取到的就是空,同理a[1:3:-1]下标为1-3,这是从左至右的下标顺序,所以没有取到字符串,改为a[3:1:-1]='dc';相应的a[-1:-6:-2],表示从右至左取-1至-6的subString,然后步长为2取字符串,即a[-1:-6:-2]='eca'.
(1)python中数字主要分为整型、浮点型、以及复数这三种。
在python中为我们提供了type函数,这个函数返回的是一个数据类型,python代码如下:
print(type(123)) print(type(123.0)) print(type(3E+2J))打印结果为:
通过打印可以发现123为int整型;123.0为float浮点型;3E+2J为complex复数型.在我们常见的java或C函数中,函数的参数要么整型或浮点型,从未见过一个函数既能处理整型参数,又能处理浮点型参数,而且参数只有一个,这是因为在python中无论是int还是float,python都将他们作为对象处理,可以理解为type函数接收的只是一个引用,type函数处理的是引用的内容,当获取到引用内容过后,通过内部的代码判断出引用指向内容的类型,最后返回数据的类型。这里大家只要知道,在python中无论是float还是int或者其他数据类型,python都当做对象来处理。
(2)字符串在python是一种很常见的数据类型,也非常的重要;
一个变量若要赋值为字符串类型,只需a='123'或者a="123",单引号或者双引号并没有什么不同。可以通过打印字符串来进行证明:
print(id("123")) print(id('123'))结果如下:
可以看出"123"和‘123’是一样的
(3)但是会遇到一些情况,单引号和双引号要进行区分
下面举个例子,代码如下:
print("let's go") print('let"s go') print("let's \"go\"")结果如下:
打印let's go必须用双引号括起来,如果字符串中只有单引号那么只能用双引号括起来,同理只有双引号,用单引号括起来,如:'let'' go';如果字符串中既有单引号,又有双引号那么需要先对其中一种引号进行转义,然后并将字符串用被转义的引号括起来,例如:"let's \"go\" "也可以写成'let\'s "go"'
下面介绍一下三重引号:先看代码:
str1="\"liming\"\nand\n'janny'" print(str1)我先不打印结果,给你三秒钟猜猜结果是啥,大概没猜出来吧,嘿嘿,其实结果如下啦
这里有单双引号,又有换行,程序写起来需要转义很麻烦,而且看代码的人也不一定能一下看懂。
再看一段代码:
str2=""""liming" and 'janny'"""; print(str2)在猜猜结果是啥,其实一样啦,结果如下:
而程序中的"""就是三重引号,你可以把自己要写的字符串粘贴进去,只要开头是"""结尾是"""(当然也可以写成'''),python就会自动识别出你要写的字符串格式,无论是单双引号还是换行都不需要进行转义,而且程序阅读起来也更加可读。
(4)python中的字符串操作起来灵活多变,与java一样也可以将它看做一个字符数组,实际上在,操作python中的字符串主要靠数组的概念来体现,以下一张图可以让你更好的理解python字符串,如图:
图中表示的是一个字符串a='abcde',0,1,2,3,4,5表示字符串的下标,在python字符串中下标也可以用负数来表示,如图所示a[-1]='e',以此类推。代码如下:
a='abcde' print(a[0]) print(a[-1])
可以看到a[0]='a',a[-1]='e',用图中的下标可以取到字符串a中的任意字符;
(5)python字符串分片
所谓分片就相当于java取子字符串(subString),举个例子,代码如下:
a='abcde' print(a[1:4]) print(a[0:4])打印结果:
a[1:4]='bcd',a[0:4]='abcd',再来看这张图:
,对于a[1:4],python取到的subString是'bcd',也就是取了a[1],a[2],a[3],而a[4]是不取的;也就是说python取subString,取到的是从起始下标(包括起始下标在内)到终止下标前一个字符的subString。
在python中起始下标和终止下标可以忽略不写,代码如下:
a='abcde' print(a[0:]) print(a[:4]) print(a[:])结果如下:
再来看这张图
,a[0:],如果没有终止下标,那么终止下标默认是5,取到下标0-4的字符,即a[0:]='abcde';a[:4],如果没有起始下标,那么默认起始下标为0,取到的是下标为0-3的subString,即'abcd';如果起始下标和终止下标都没有,那么起始下标默认为0,终止下标默认为5,取到subString为'abcde';
再介绍下步长的概念,python中可以间隔着取字符串,步长为1,就是间隔0个字符取字符串,步长为2就是间隔1个字符取字符串,以此类推。代码如下:
a='abcde' print(a[::1]) print(a[1:4:2])结果如下:
a[::1],首先第一次取到的subStringa[:]='abcde',步长为1,就是间隔0个字符取a[:]的字符串,结果a[::1]='abcde';同理,a[1:4:2],先取subStringa[1:4]='bcd',步长为2,就是要间隔1个字符取字符串,即a[1:4:2]='bd'
在python也可以从右至左取字符串,先看如下代码:
print(a[-5:-2]) print(a[-2:-5])运行结果如下:
参照此图:
,可以知道a[-5:-2]='abc',而a[-2:-5]什么也没有打印,这是因为在python中默认是从左至右来取subString的,那么要是想从右至左来取字符串怎么办呢?代码如下:
a='abcde' print(a[-2:-4:-1]) print(a[1:3:-1]) print(a[-1:-6:-2])运行结果如下:
再参照此图:
,a[-2:-4:-1]表示的是取起始下标-2到终止下标-4的subString,因为这里的步长-1为负数,所以python会从右至左取字符串,即a[-2:-4:-1]='dc',这里需要注意的是步长为负数表示已经告知python从右至左取字符串,下标相应的也要从右至左写,如果将a[-2:-4:-1]改为a[-4:-2:-1]取到的就是空,同理a[1:3:-1]下标为1-3,这是从左至右的下标顺序,所以没有取到字符串,改为a[3:1:-1]='dc';相应的a[-1:-6:-2],表示从右至左取-1至-6的subString,然后步长为2取字符串,即a[-1:-6:-2]='eca'.
相关文章推荐
- Python学习--数据类型
- python学习笔记(一) 基本数据类型及运算
- python基础学习-1(数据类型)
- python学习笔记(二)——数据类型
- 学习Python 之 数据类型
- Python3.3 学习笔记3 - 数据类型和运算
- Python语言学习(2)-Python基本数据类型
- 深入学习Python内置数据类型之——字典(Dictionary)
- Python快速学习02:基本数据类型 & 序列
- python 学习笔记(3)数据类型2 (元组(tuple),集合,字典)
- Python快速学习02:基本数据类型 & 序列
- Python学习笔记一:数据类型转换
- python学习笔记之内置数据类型
- Python学习入门基础教程(learning Python)--6 Python下的list数据类型
- python学习―-基本数据类型
- 菜鸟学习Python之数据类型
- Python源码学习笔记(1 基本数据类型)
- 闲聊之Python的数据类型 - 零基础入门学习Python005
- 深入学习Python内置数据类型之——字典(Dictionary)
- python基础学习-1(数据类型)