来源:大数据DT

本文约2000字,建议阅读6分钟

数据类型是构成编程语言语法的基础。[ 导读 ]数据类型是构成编程语言语法的基础。不同的编程语言有不同的数据类型,但都具有常用的几种数据类型。Python有几种内置的数据类型——数字、字符串、元组、列表和字典。本文将重点介绍数字和字符串。01 数字Python3的数字类型分为整型、浮点型、布尔型、分数类型、复数类型。使用Python编写程序时,不需要声明变量的类型。由Python内置的基本数据类型来管理变量,在程序的后台实现数值与类型的关联,以及类型转换等操作。Python与其他高级语言定义变量的方式及内部原理有很大的不同。在C或Java中,定义一个整型的变量,可以采用如下方式表示:

int i = 1;

在Python中,定义整型变量的表达方式更简练。

i = 1

Python根据变量的值自动判断变量的类型,程序员不需要关心变量究竟是什么类型,只要知道创建的变量中存放了一个数,以后的工作只是对这个数值进行操作,Python会对这个数的生命周期负责。更重要的一点是,C或Java只是创建了一个int型的普通变量;而Python创建的是一个整型对象,并且Python自动完成了整型对象的创建工作,不再需要通过构造函数创建。Python内部没有普通类型,任何类型都是对象。如果C或Java需要修改变量i的值,只要重新赋值即可;而Python并不能修改对象i的值。例如:

#下面的两个i并不是同一个对象i = 1print(id(i))i = 2print (id(i))

如果需要查看变量的类型,可以使用Python定义的type类。type是__builtin__模块的一个类,该类能返回变量的类型或创建一个新的类型。__builtin__模块是Python的内联模块,内联模块不需要import语句,由Python解释器自动导入。后面还会接触到更多内联模块的类和函数。下面这段代码返回了各种变量的类型。

#整型i = 1print( type(i))#长整型l = 999999999999999999990       # Python何时将int转为float跟操作系统位数相关print type(l)#浮点型f = 1.2 print( type(f))#布尔型b = Trueprint (type(b))

代码说明:

  • 第3行代码输出结果:
  • 第6行代码输出结果:
  • 第9行代码输出结果:
  • 第12行代码输出结果:

用Python来进行科学计算也很方便,因为Python内置了复数类型。Java、C#等高级语言则没有提供复数类型。

#复数类型c = 7 + 8jprint (type(c))

第3行代码输出结果:注意:复数类型的写法与数学中的写法相同,如果写为c=7+8i,Python不能识别其中的“i”,将提示语法错误。02 字符串在Python中有3种表示字符串的方式——单引号、双引号、三引号。单引号和双引号的作用是一样的,对于不同的程序员可以根据自己的习惯使用单引号或双引号。PHP程序员可能更习惯使用单引号表示字符串,C、Java程序员则习惯使用双引号表示字符串。下面这段代码中单引号和双引号的使用是等价的。

# 单引号和双引号的使用是等价的str = "hello world!"                    # 定义字符串变量str并赋值print (str)str = 'hello world!'print (str)

代码说明:第3行代码输出结果:

hello world!

第5行代码输出结果:

hello world!

三引号的用法是Python特别的语法,三引号中可以输入单引号、双引号或换行等字符。

# 三引号的用法str = '''he say "hello world!"'''print( str)

代码说明:第3行代码的三引号中带有双引号,双引号也会被输出。输出结果:

he say "hello world!"

三引号的另一种用法是制作文档字符串。Python的每个对象都有一个属性__doc__,这个属性用于描述该对象的作用。

# 三引号制作doc文档class Hello:'''hello class'''def printHello():'''print hello world'''print ("hello world!")print( Hello.__doc__)print (Hello.printHello.__doc__)

代码说明:

  • 第2行代码定义了一个名为Hello的类。
  • 第3行是对Hello类的描述,该字符串将被存放在类的__doc__属性中。
  • 第4行代码定义了一个方法printHello()。
  • 第5行代码描述了printHello(),并把字符串存放在该函数的__doc__属性中。
  • 第6行代码输出结果:
hello world!
  • 第7行代码输出Hello的__doc__属性的内容。输出结果:
hello class
  • 第8行代码输出printHello()的__doc__属性的内容。输出结果:
print hello world

如果要输出含有特殊字符(单引号、双引号等)的字符串,需要使用转义字符。Python中转义字符为“\”,和C、Java中的转义字符相同。转义操作只要在特殊字符的前面加上“\”即可。下面这段代码说明了特殊字符的转义用法。

# 转义字符str = 'he say:\'hello world!\''print (str)

代码说明:第2行代码中的单引号是特殊字符,需要在“'”前加上转义字符。第3行代码的输出结果:

he say:'hello world!'

使用双引号或三引号可以直接输出含有特殊字符的字符串,不需要使用转义字符。

# 直接输出特殊字符str = "he say:'hello world!'"print (str)str = '''he say:'hello world!' '''print (str)

代码说明:

  • 第2行代码中使用了双引号表示字符串变量str,因此Python能够识别出双引号内部的单引号只是作为输出的字符。
  • 第3行代码的输出结果:
he say:'hello world!'
  • 第4行代码使用三引号表示字符串变量str,注意最后一个单引号后面留有一个空格,这个空格是为了让Python识别出三引号留下的。如果不留下这个空格,4个单引号连在一起,Python解释器不能正确识别三引号。提示如下错误:
SyntaxError: EOL while scanning single-quoted string
  • 第5行代码的输出结果:
he say:'hello world!'

注意:输出的字符串中含有单引号,使用双引号表示字符串即可。相反,输出的字符串中含有双引号时,可使用单引号表示字符串。

关于作者:黄传禄,高级讲师、管理软件开发工程师、数据库库系统工程师、信息系统管理工程师。有10多年的一线教学经验和高端培训经验,出版多部技术专著,获得多个软件著作权。

本文摘编自《零基础学Python》(第2版),经出版方授权发布。

编辑:黄继彦

c字符串中包含双引号_零基础学Python:一文看懂数字和字符串相关推荐

  1. c字符串中包含双引号_码哥学Python,一起解密神秘的字符串密码

    哈喽,大家好,又到了晚上学习Python的时间了,想学习python的同学可以一起哦. 字符串 由0个或多个字符组成的有序字符序列,Python中的字符串用单引号 ' 或双引号 " 括起来, ...

  2. c字符串中包含双引号_必须知道的C语言知识细节:单引号和双引号正确用法

    C语言中ACSII码字符单引号'和双引号"在程序中经常出现,很简单,但却是十分重要的语法标点符号,初学者容易混淆使用. 单引号在字符常量时使用,表示单个字符. 例如: char c; c = ...

  3. VB字符串中包含双引号处理

    字符串中包含双引号  在字符串处理时,如果字符串变量必须有引号,怎么处理呢?如  theStr = [MyName ="schunter"Class ="2"] ...

  4. 0基础学python看什么书-零基础学python编程需要看什么书?

    原标题:零基础学python编程需要看什么书? 随着互联网迅速发展,python也呈现出水涨船高的态势.近年来,python在编程语言中一直名列前茅.编程初学者纷纷选择Python作为第一语言.Pyt ...

  5. delphi 从字符串末尾向前查找_零基础学python之字符串

    好久不见! 我终于考完了~话不多说,接着上才艺 三引号 如果字符串跨越一行以上,就可以使用三引号(三个双引号) (这里的\n是换行符) 索引 与列表和元组一样,字符串也是可迭代的.可使用索引查找字符串 ...

  6. 零基础学Python:一文看懂数字和字符串

    来源:大数据DT 本文约2000字,建议阅读6分钟 数据类型是构成编程语言语法的基础. [ 导读 ]数据类型是构成编程语言语法的基础.不同的编程语言有不同的数据类型,但都具有常用的几种数据类型.Pyt ...

  7. python培训一般多久_零基础学python需要多久

    一:明确自己的学习目标.不管我们学习什么样的知识,都要对自己的学习目标有一个明确的认识.只有这样才能朝着目标持续的前进,少走弯路,从而在学习的过程中得到提升,享受整个学习的乐趣. 二:基础的Pytho ...

  8. python 智能造句_[零基础学Python]正规地说一句话

    小孩子刚刚开始学说话的时候,常常是一个字一个字地开始学,比如学说"饺子",对他/她来讲,似乎有点难度,大人也聪明,于是就简化了,用"饺饺"来代替,其实就是让孩子 ...

  9. 0基础学python需要多长时间_零基础学python大概要多久

    如果是自学的话,零基础学python大概要花一年到一年半的时间.每个人的资质不同.理解能力不同,所以花费的时间也不一样.建议零基础的学员报一个python培训班,这样可以有规划的系统性学习,而且花费的 ...

最新文章

  1. java中产生指定范围内的随机数
  2. 建立可扩展的silverlight应用框架 step-7 final
  3. java 面试基础题 引用
  4. 17秋 软件工程 团队第五次作业 Alpha
  5. 阿里研究员谷朴:警惕软件复杂度困局
  6. Win32 串口编程笔记1
  7. 炼丹秘术:给Embedding插上翅膀
  8. 关于质量的联想:消费示范效应
  9. php注册登录遍写入 遍验证,自动注册登录验证机制的php代码
  10. 前端学习(3162):react-hello-react之react插件的安装
  11. git和gitlab安装
  12. ios uilabel 垂直居中_iOS – 让UILabel的文字顶部对齐[转载]
  13. NSDictionary使用枚举方法
  14. The Cow Lexicon
  15. 【DS】atoi()实现
  16. python cmath模块_python-cmath模块
  17. 你的爬虫是否徘徊在违法的边缘?
  18. 工具篇-sdkman-SDK管理利器
  19. 我和王争学设计模式|代理模式
  20. Android中的PendingIntent 原理

热门文章

  1. 今儿直白的用盖房子为例,给你讲讲Java建造者模式
  2. 从5个函数带你理解K8s DeltaFIFO
  3. 解析WeNet云端推理部署代码
  4. 教你实现一个朴实的Canvas时钟效果
  5. 在openGauss上做开发?这个大赛拿出30万寻找开源的你
  6. 【华为云技术分享】云小课 | 灵活配置权限,满足存储安全(OBS权限管理介绍上篇)
  7. 【华为云技术分享】【DevCloud•敏捷智库】读懂敏捷需求管理的4个关键词
  8. 24岁的程序员,似乎已经看到了30岁后的自己
  9. java 强制类型转换告警_java-对未声明的强制转换返回警告
  10. CubeMX配置串口的程序烧入板子不跑的解决方法