热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python3学习手册(一)基本数据类型

转载请注明本文出自maplejaw的博客(http:blog.csdn.netmaplejaw_)基本操作cmd怎么进入python交互环境?在cmd中输入python,

转载请注明本文出自maplejaw的博客(http://blog.csdn.net/maplejaw_)

基本操作

  • cmd怎么进入python交互环境?
    在cmd中输入python,看到>>>表示成功进入交互环境。

  • 四则运算
    >>>右边输入代码,控制台可以自动打印结果。可以看出python中的除法和c/java不一样,默认为浮点数。

  • 打印字符
    打印字符用print(),print()可以打印字符串,数字,布尔值等,可以输入多个参数,用逗号隔开即可,逗号会被打印成空格。

  • 输入字符
    有时候需要交互,由用户来输入字符。python提供了一个input()

  • 运行源码
    通过控制台交互有个弊端,每次都要重新输入,无法保存源码。怎么才能避免这一繁琐的操作呢。首先在新建一个文本文件命名为1.py。然后打开1.py写下如下代码后保存

    再次运行cmd,运行。

    从上面我们可以看出400+100这行结果没有输出,说明不同于cmd交互,直接执行源码时,如果没有使用print(),是不会打印出相关结果的。此外,input是一个阻塞函数,会等待用户输入完毕才会往后执行。

  • 怎么添加注释?
    使用#号,只需在一个语句之后或者单独一个空行中添加相应注释。

# 这是第一条注释
spam = 1 # 这是第二条注释
# 这是第三条注释
text = "# 注意,这里虽然有#号但不是注释,这里是字符串哦"

四则运算

python中的四则运算和其他语言大同小异,支持+,-,*,/%。可以使用()来分组以支持运算优先级。需要注意的是/返回的是浮点数,不像C和Java中返回的整型数相除仍是整数。%用来求余。

>>> 2 + 2
4
>>> 50 - 5*6
20
>>> (50 - 5*6) / 4
5.0
>>> 8 / 5 # 除法默认返回浮动数
1.6

如果你希望除法也返回整数,可以使用//运算符

使用**来进行幂运算。

>>> 5 ** 2  # 5 的平方
25
>>> 2 ** 7 # 2 的7次幂
128

我们可以使用=号来进行赋值给变量,下面中width和height就是一个变量,在python中变量可以不用声明类型因为一旦被赋值,解释器会自动推导出类型。

>>> width = 20
>>> height = 5 * 9
>>> width * height
900

python支持在一行中同时赋值。

>>> width ,hljs-number">20,5 * 9
>>> width * height
900

python中使用_来表示上一个表达式的值(也就是说,如果上一个值没有赋值给变量,则会默认赋值给_)。

>>> width = 20
>>> height = 5 * 9
>>> width * height
900
>>> width + _
920

从上面可以看出width * height没有赋值给变量,所以赋值给了_,因此width + _等于20+900

字符串(String)

python中的字符串使用' '或者" "包含起来。
有时候,如果打印的字符串本身也包含引号怎么办?此时我们可以混着用,即如果字符串中包含',我们可以用" "来包含字符串,如果字符串中包含",我们就用'来包含字符串,这样我们就可以避免语义冲突了。

>>> "doesn't"  # 使用双重引用
"doesn't"

上面的用法并不适用于所有场景,此时应该使用\转义字符告诉解释器我们需要原样输出,和大多数编程语言的转换规则一样,\n表示换行,\t表示制表符。

>>> 'doesn\'t'  # 使用转义字符
"doesn't"
>>> 'I\'m \"OK\"!' # 使用转义字符
"I'm "OK"!"

说完需要转义的场景再来说说不需转义的场景。
假如我们想打印一个路径,如下。

>>> print('C:\some\name')  # 这里 \n 意味着换行。
C:\some
ame

可以看出,由于\n导致被迫转义换行,这不是我们需要的,怎么阻止这一行为?
同样我们进行二次转义,告诉解释器,我们需要原样输出

>>> print('C:\some\\name')  # 在 \n 之前 加个 \
C:\some\name

此外,我们可以使用r来修饰字符串,表示整个字符串都原样输出

>>> print(r'C:\some\name')  # 在字符串前加上r
C:\some\name

我们知道在cmd窗口中不能换行输入,如果想换行使用"""...""" 或者 '''...''',此时可以保持以换行的格式输出。
直接输出如下:

采用变量名输出如下

使用*+进行字符串连接运算。

>>> 3 * 'un' + 'ium' # 3 次 'un', 追加 'ium'
'unununium'

多个使用空格分开的字符串也会自动追加合并

>>> 'i' 'love' 'you'
'iloveyou'

如果需要换行输入,但是要求拼接成一行输出时,我们可以使用(''...'')

和其他编程语言一样,字符串也有索引。下标从0开始。

>>>text="hello world"
>>>print(text[0])
h

当然,我们可以使用负数,表示从右往左开始,-1表示最右边的数。

>>>text="hello world"
>>>print(text[-1])
d

此外,我们还可以,输出多个字符

>>>text="hello world"
>>>print(text[1:3]) # 第一个数字开始索引(包含该位置),第二个数字结束索引(不包含该位置)。
el

>>>print(text[:3]) # 结束索引为3(不包含该位置)。
hel

>>>print(text[3:]) # 开始索引为3(包含该位置))。
lo world

不能对字符串的单个位置进行改变。

可以使用len函数来输出字符串长度

>>>text="hello world"
>>>print(len(text))
11

数组(List)

首先,我们按照如下格式定义一个数组。

>>> squares = [1, 4, 9, 16, 25]
>>> squares
[1, 4, 9, 16, 25]

跟字符串一样,数组也支持索引。

>>> squares[0]  # indexing returns the item
1
>>> squares[-1]
25
>>> squares[-3:] # slicing returns a new list
[9, 16, 25]

跟字符串一样,数组也支持连接操作。

>>> squares + [36, 49, 64, 81, 100]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

跟字符串不一样的地方,数组支持索引修改元素。

>>> cubes = [1, 8, 27, 65, 125]  # 其中有个值是错的,经过检查发现是下标为3的元素出错。
>>> cubes[3] = 64 # 修改下标为3的值
>>> cubes
[1, 8, 27, 64, 125]

使用append可以来追加数组元素。

>>> cubes.append(216)  # add the cube of 6
>>> cubes
[1, 8, 27, 64, 125, 216, 343]

我们还可以批量修改数组元素

>>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> letters
['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> # 替换部分元素
>>> letters[2:5] = ['C', 'D', 'E']
>>> letters
['a', 'b', 'C', 'D', 'E', 'f', 'g']
>>> # 移除部分元素
>>> letters[2:5] = []
>>> letters
['a', 'b', 'f', 'g']
>>> # 清空所有元素
>>> letters[:] = []
>>> letters
[]

python也支持二维和多维数组

While循环

使用while循环时,在条件语句后加上:号,所有循环体内的语句都应该加上至少一个空格的缩进,且一般会在循环结束后留下一行空行。

如上图,你会发现,采用了换行输出的方式。如果不想换行输出,我们可以使用print(a,end='')指定结束符。

最后

去年就在学习python,由于各种事情,断断续续的一直没有继续下去。这次以博客的形式再次系统的学习一遍,希望自己能够坚持下去。共勉!


推荐阅读
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 提升Python编程效率的十点建议
    本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文介绍了如何将CIM_DateTime解析为.Net DateTime,并分享了解析过程中可能遇到的问题和解决方法。通过使用DateTime.ParseExact方法和适当的格式字符串,可以成功解析CIM_DateTime字符串。同时还提供了关于WMI和字符串格式的相关信息。 ... [详细]
  • C语言注释工具及快捷键,删除C语言注释工具的实现思路
    本文介绍了C语言中注释的两种方式以及注释的作用,提供了删除C语言注释的工具实现思路,并分享了C语言中注释的快捷键操作方法。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
author-avatar
我只爱庄宝贝
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有