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

简介: python学习(3)--数据类型 1.python基本数据类型有五种:数字、字符串、列表、元组、字典。今天给大家介绍数字和字符串这两种。 (1)python中数字主要分为整型、浮点型、以及复数这三种。

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

相关文章
|
2月前
|
机器学习/深度学习 Python
堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能
本文深入探讨了堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能。文章详细介绍了堆叠的实现步骤,包括数据准备、基础模型训练、新训练集构建及元学习器训练,并讨论了其优缺点。
117 3
|
2月前
|
安全 关系型数据库 测试技术
学习Python Web开发的安全测试需要具备哪些知识?
学习Python Web开发的安全测试需要具备哪些知识?
43 4
|
1月前
|
Python 容器
Python学习的自我理解和想法(9)
这是我在B站跟随千锋教育学习Python的第9天,主要学习了赋值、浅拷贝和深拷贝的概念及其底层逻辑。由于开学时间紧张,内容较为简略,但希望能帮助理解这些重要概念。赋值是创建引用,浅拷贝创建新容器但元素仍引用原对象,深拷贝则创建完全独立的新对象。希望对大家有所帮助,欢迎讨论。
|
29天前
|
Python
Python学习的自我理解和想法(10)
这是我在千锋教育B站课程学习Python的第10天笔记,主要学习了函数的相关知识。内容包括函数的定义、组成、命名、参数分类(必须参数、关键字参数、默认参数、不定长参数)及调用注意事项。由于开学时间有限,记录较为简略,望谅解。通过学习,我理解了函数可以封装常用功能,简化代码并便于维护。若有不当之处,欢迎指正。
|
20天前
|
数据可视化 数据挖掘 大数据
1.1 学习Python操作Excel的必要性
学习Python操作Excel在当今数据驱动的商业环境中至关重要。Python能处理大规模数据集,突破Excel行数限制;提供丰富的库实现复杂数据分析和自动化任务,显著提高效率。掌握这项技能不仅能提升个人能力,还能为企业带来价值,减少人为错误,提高决策效率。推荐从基础语法、Excel操作库开始学习,逐步进阶到数据可视化和自动化报表系统。通过实际项目巩固知识,关注新技术,为职业发展奠定坚实基础。
|
1月前
|
存储 索引 Python
Python学习的自我理解和想法(6)
这是我在B站千锋教育学习Python的第6天笔记,主要学习了字典的使用方法,包括字典的基本概念、访问、修改、添加、删除元素,以及获取字典信息、遍历字典和合并字典等内容。开学后时间有限,内容较为简略,敬请谅解。
|
1月前
|
存储 程序员 Python
Python学习的自我理解和想法(2)
今日学习Python第二天,重点掌握字符串操作。内容涵盖字符串介绍、切片、长度统计、子串计数、大小写转换及查找位置等。通过B站黑马程序员课程跟随老师实践,非原创代码,旨在巩固基础知识与技能。
|
1月前
|
程序员 Python
Python学习的自我理解和想法(3)
这是学习Python第三天的内容总结,主要围绕字符串操作展开,包括字符串的提取、分割、合并、替换、判断、编码及格式化输出等,通过B站黑马程序员课程跟随老师实践,非原创代码。
|
1月前
|
Python
Python学习的自我理解和想法(7)
学的是b站的课程(千锋教育),跟老师写程序,不是自创的代码! 今天是学Python的第七天,学的内容是集合。开学了,时间不多,写得不多,见谅。
|
1月前
|
存储 安全 索引
Python学习的自我理解和想法(8)
这是我在B站千锋教育学习Python的第8天,主要内容是元组。元组是一种不可变的序列数据类型,用于存储一组有序的元素。本文介绍了元组的基本操作,包括创建、访问、合并、切片、遍历等,并总结了元组的主要特点,如不可变性、有序性和可作为字典的键。由于开学时间紧张,内容较为简略,望见谅。

热门文章

最新文章