python学习(3)--数据类型

python学习(3)--数据类型

1.python基本数据类型有五种:数字、字符串、列表、元组、字典。今天给大家介绍数字和字符串这两种。

(1)python中数字主要分为整型、浮点型、以及复数这三种。

在python中为我们提供了type函数,这个函数返回的是一个数据类型,python代码如下:

[delphi] view plain copy

  1. print(type(123))
  2. print(type(123.0))
  3. 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",单引号或者双引号并没有什么不同。可以通过打印字符串来进行证明:

[python] view plain copy

  1. print(id("123"))
  2. print(id('123'))

结果如下:

可以看出"123"和‘123’是一样的

(3)但是会遇到一些情况,单引号和双引号要进行区分

下面举个例子,代码如下:

[python] view plain copy

  1. print("let's go")
  2. print('let"s go')
  3. print("let's \"go\"")

结果如下:


打印let's go必须用双引号括起来,如果字符串中只有单引号那么只能用双引号括起来,同理只有双引号,用单引号括起来,如:'let'' go';如果字符串中既有单引号,又有双引号那么需要先对其中一种引号进行转义,然后并将字符串用被转义的引号括起来,例如:"let's \"go\" "也可以写成'let\'s "go"'

下面介绍一下三重引号:先看代码:

[python] view plain copy

  1. str1="\"liming\"\nand\n'janny'"
  2. print(str1)

我先不打印结果,给你三秒钟猜猜结果是啥,大概没猜出来吧,嘿嘿,其实结果如下啦


这里有单双引号,又有换行,程序写起来需要转义很麻烦,而且看代码的人也不一定能一下看懂。

再看一段代码:

[python] view plain copy

  1. str2=""""liming"
  2. and 
  3. 'janny'""";
  4. print(str2)

在猜猜结果是啥,其实一样啦,结果如下:

而程序中的"""就是三重引号,你可以把自己要写的字符串粘贴进去,只要开头是"""结尾是"""(当然也可以写成'''),python就会自动识别出你要写的字符串格式,无论是单双引号还是换行都不需要进行转义,而且程序阅读起来也更加可读。

(4)python中的字符串操作起来灵活多变,与java一样也可以将它看做一个字符数组,实际上在,操作python中的字符串主要靠数组的概念来体现,以下一张图可以让你更好的理解python字符串,如图:

图中表示的是一个字符串a='abcde',0,1,2,3,4,5表示字符串的下标,在python字符串中下标也可以用负数来表示,如图所示a[-1]='e',以此类推。代码如下:

[python] view plain copy

  1. a='abcde'
  2. print(a[0])
  3. print(a[-1])

可以看到a[0]='a',a[-1]='e',用图中的下标可以取到字符串a中的任意字符;

(5)python字符串分片

所谓分片就相当于java取子字符串(subString),举个例子,代码如下:

[python] view plain copy

  1. a='abcde'
  2. print(a[1:4])
  3. 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中起始下标和终止下标可以忽略不写,代码如下:

[python] view plain copy

  1. a='abcde'
  2. print(a[0:])
  3. print(a[:4])
  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个字符取字符串,以此类推。代码如下:

[python] view plain copy

  1. a='abcde'
  2. print(a[::1])
  3. 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也可以从右至左取字符串,先看如下代码:

[python] view plain copy

  1. print(a[-5:-2])
  2. print(a[-2:-5])

运行结果如下:

参照此图:,可以知道a[-5:-2]='abc',而a[-2:-5]什么也没有打印,这是因为在python中默认是从左至右来取subString的,那么要是想从右至左来取字符串怎么办呢?代码如下:

[python] view plain copy

  1. a='abcde'
  2. print(a[-2:-4:-1])
  3. print(a[1:3:-1])
  4. 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'.

原文地址http://www.bieryun.com/2285.html

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/551651

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。