百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python 3.9部分教程 计算 列表 字符串 切片等

off999 2024-09-21 21:03 35 浏览 0 评论

>>> 2 + 2

4

>>> 50 - 5*6

20

>>> (50 - 5*6) / 4

5.0

>>> 8 / 5

1.6 # division always returns a floating point number 除法总是返回一个浮点数


>>> 17 / 3

5.666666666666667 # classic division returns a float 经典除法返回一个浮点数


>>>

>>> 17 // 3

5 # floor division discards the fractional part 向下取整丢弃小数部分



>>> 17 % 3

2 # the % operator returns the remainder of the

division %操作符返回除法的余数


>>> 5 * 3 + 2

17 # floored quotient * divisor + remainder 商*除数+余数


>>> 5 ** 2 # 5 squared 5的平方

25

>>> 2 ** 7 # 2 to the power of 7 2的7次方

128


>>> width = 20

>>> height = 5 * 9

>>> width * height

900


>>> n # try to access an undefined variable 未定义变量

Traceback (most recent call last):

File "<stdin>", line 1, in <module> 第一行

NameError: name 'n' is not defined 未定义n


>>> 4 * 3.75 - 1 浮点运算

14.0


>>> tax = 12.5 / 100

>>> price = 100.50

>>> price * tax

12.5625

>>> price + _

113.0625

>>> round(_, 4)

113.0625

>>> round(_,3)

113.062


>>>'spam eggs' # single quotes 单引号

'spam eggs'

>>> 'doesn\'t'

"doesn't" # use \' to escape the single quote... 使用 \' 转义符 把单引号变双引号 …


>>> "doesn't"

"doesn't" # ...or use double quotes instead 或者使用双引号


>>> '"Yes," they said.' 放在单引号内

'"Yes," they said.'


>>> "\"Yes,\" they said." 使用\' 转义符 把双引号变单引号

'"Yes," they said.'

>>> '"Isn\'t," they said.'

'"Isn\'t," they said.'


>>> print('"Isn\'t," they said.') #输出单引号内的内容

"Isn't," they said.



# \n means newline \ n表示换行符

>>> s = 'First line.\nSecond line.'

>>> s

'First line.\nSecond line.' # without print(), \n is included in the output 没有print() \n包含在输出中


>>> print(s)

First line.

Second line # with print(), \n produces a new line 使用print(), \n产生换行作用


>>> print('C:\some\name')

C:\some

ame # here \n means newline! 这里\n默认会表示换行


>>> print(r'C:\some\name')

C:\some\name # note the r before the quote 注意前面加 r 可以让特殊符号失去作用


''' ''' 或 """ """ \ 可以跨越多行输入

print(''' ''') 或者 print(""" """)


>>> # 3 times 'un', followed by 'ium' 3乘以un,然后加ium

>>> 3 * 'un' + 'ium'

'unununium'


>>> 'Py' 'thon'

'Python'

>>> '大''家''好'

'大家好'

>>> text = ('Put several strings within parentheses '

'to have them joined together.')

>>> text

'Put several strings within parentheses to have them joined together.


如果您要将变量或变量与文字串联,请使用 +

>>> prefix = 'Py'

>>> prefix + 'thon'

'Python'


>>> word = 'Python'

>>> word[0]

'P' # character in position 0 索引第一个字符默认是 0

>>> word[5]

'n' # character in position 5 位置5的字符是n 因第一个字符是0

>>> word[-1]

'n' # last character 最后一个字符 由于 -0 与 0 相同 负指数从 -1 开始

>>> word[-2] # second-last character 倒数第二字符

'o'

>>> word[-6]

'P

>>> word[0:2]

'Py' # characters from position 0 (included) to 2 (excluded) 还可以切片 从0到2但不包括2的所有字符

>>> word[2:5]

'tho # characters from position 2 (included) to 5 (excluded) 从位置2到5但不包括5的所有字符

>>> word[:2]

'Py' # character from the beginning to position 2 (excluded) :前没数索引位置默认是0也就是最开头 从开始到位置2但不包括位置2全部字符

>>> word[4:]

'on' # characters from position 4 (included) to the end :后没数默认是从......一直到最后 从位置4到最后的全部字符

>>> word[-2:]

'on' # characters from the second-last (included) to the end 从倒数第2到最后的全部字符

>>> word[:2] + word[2:]

'Python' 开始到第2位置但不包含2 + 从第2位置到最后

>>> word[:4] + word[4:]

'Python' 开始到第4位置但不包含4 + 从第4位置到最后


# the word only has 6 characters 太大的索引将导致错误 word只有6个字符

>>> word[42]

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

IndexError: string index out of rang 索引错误字符串索引超出范围


但是切片就会优雅地处理范围外切片索引

>>> word[4:42]

'on'

>>> word[42:]

''


Python字符串无法更改 它们是不变的。

>>> word[0] = 'J'

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

TypeError: 'str' object does not support item assignment


但是可以创建一个新的字符串

>>> 'J' + word[1:]

'Jython'

>>> word[:2] + 'py'

'Pypy'


索引位置

+---+---+---+---+---+---+

| P | y | t | h | o | n |

+---+---+---+---+---+---+

0 1 2 3 4 5 6

-6 -5 -4 -3 -2 -1


内置功能 len() 返回字符串长度

>>> s = 'supercalifragilisticexpialidocious'

>>> len(s)

34


列表

>>> 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[:]

[1, 4, 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] # something's wrong here 这里的第四个是错误输入

>>> 4 ** 3

64 # the cube of 4 is 64, not 65! 4的三次方是64不是65

>>> cubes[3] = 64 # replace the wrong value 替换65

>>> cubes

[1, 8, 27, 64, 125]

在列表末尾添加新项目

>>> cubes.append(216) # add the cube of 6 加入6的3次方

>>> cubes.append(7 ** 3) # and the cube of 7 加入7的3次方

>>> cubes

[1, 8, 27, 64, 125, 216, 343]


分配到切片也是可能的,这甚至可以更改列表的大小或完全清除它

>>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g']

>>> letters

['a', 'b', 'c', 'd', 'e', 'f', 'g']

>>> # replace some values 替换一些值

>>> letters[2:5] = ['C', 'D', 'E']

>>> letters

['a', 'b', 'C', 'D', 'E', 'f', 'g']

>>> # now remove them 现在删除它们

>>> letters[2:5] = []

>>> letters

['a', 'b', 'f', 'g']

>>> # clear the list by replacing all the elements with an empty list 通过将所有元素替换为空列表来清除列表

>>> letters[:] = []

>>> letters

[]


内置功能len()也适用于列表

>>> letters = ['a', 'b', 'c', 'd']

>>> len(letters)

4


可以嵌套列表(创建包含其他列表的列表)

>>> a = ['a', 'b', 'c']

>>> n = [1, 2, 3]

>>> x = [a, n]

>>> x

[['a', 'b', 'c'], [1, 2, 3]]

>>> x[0] # x第一个列表a

['a', 'b', 'c']

>>> x[0][1] # x第一个列表 a里的第2个元素

'b'


>>> # Fibonacci series: 斐波纳契数列

... # the sum of two elements defines the next

... a, b = 0, 1 # a b分别赋值0和1

>>> while a < 10:

... print(a) # 注意缩进TAB

... a, b = b, a+b # a赋值等于b ,b赋值等于a+b

...

0

1

1

2

3

5

8


>>> i = 256*256

>>> print('The value of i is', i)

The value of i is 65536

>>> a, b = 0, 1

>>> while a < 1000:

... print(a, end=',')

... a, b = b, a+b

...

0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,


任何非零整数值都是真实的 零是假的 任何长度为非零的都是真的, 空序列是假的

(小于)、(大于)、(等于)、(小于或等于)、(大于或等于)和(不等于)

< > == <= >= !=



>>> x = int(input("Please enter an integer: "))

Please enter an integer: 56


if语句

>>> if x < 0: # 如果

... x = 0 # 注意缩进

... print('Negative changed to zero')

... elif x == 0: 否则

... print('Zero')

... elif x == 1:

... print('Single')

... else:

... print('More')

...

More


for语句

>>> # Measure some strings: 测量一些字符串

... words = ['cat', 'window', 'defenestrate']

>>> for w in words:

... print(w, len(w))

...

cat 3

window 6

defenestrate 12

相关推荐

Alist 玩家请进:一键部署全新分支 Openlist,看看香不香!

Openlist(其前身是鼎鼎大名的Alist)是一款功能强大的开源文件列表程序。它能像“万能钥匙”一样,解锁并聚合你散落在各处的云盘资源——无论是阿里云盘、百度网盘、GoogleDrive还是...

白嫖SSL证书还自动续签?这个开源工具让我告别手动部署

你还在手动部署SSL证书?你是不是也遇到过这些问题:每3个月续一次Let'sEncrypt证书,忘了就翻车;手动配置Nginx,重启服务,搞一次SSL得花一下午;付费证书太贵,...

Docker Compose:让多容器应用一键起飞

CDockerCompose:让多容器应用一键起飞"曾经我也是一个手动启动容器的少年,直到我的膝盖中了一箭。"——某位忘记--link参数的运维工程师引言:容器化的烦恼与...

申请免费的SSL证书,到期一键续签

大家好,我是小悟。最近帮朋友配置网站HTTPS时发现,还有人对宝塔面板的SSL证书功能还不太熟悉。其实宝塔早就内置了免费的Let'sEncrypt证书申请和一键续签功能,操作简单到连新手都能...

飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx

前面分享了两期TVGate:Q大的转发代理工具TVGate升级了,操作更便捷,增加了新的功能跨平台内网转发神器TVGate部署与使用初体验现在项目已经开源,并支持Docker部署,本文介绍如何通...

Docker Compose 编排实战:一键部署多容器应用!

当项目变得越来越复杂,一个服务已经无法满足需求时,你可能需要同时部署数据库、后端服务、前端网页、缓存组件……这时,如果还一个一个手动dockerrun,简直是灾难这就是DockerCompo...

深度测评:Vue、React 一键部署的神器 PinMe

不知道大家有没有这种崩溃瞬间:领导突然要看项目Demo,客户临时要体验新功能,自己写的小案例想发朋友圈;找运维?排期?还要走工单;自己买服务器?域名、SSL、Nginx、防火墙;本地起服务?断电、关...

超简单!一键启动多容器,解锁 Docker Compose 极速编排秘籍

想要用最简单的方式在本地复刻一套完整的微服务环境?只需一个docker-compose.yml文件,你就能一键拉起N个容器,自动组网、挂载存储、环境隔离,全程无痛!下面这份终极指南,教你如何用...

日志文件转运工具Filebeat笔记_日志转发工具

一、概述与简介Filebeat是一个日志文件转运工具,在服务器上以轻量级代理的形式安装客户端后,Filebeat会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读),并将来自...

K8s 日志高效查看神器,提升运维效率10倍!

通常情况下,在部署了K8S服务之后,为了更好地监控服务的运行情况,都会接入对应的日志系统来进行检测和分析,比如常见的Filebeat+ElasticSearch+Kibana这一套组合...

如何给网站添加 https_如何给网站添加证书

一、简介相信大家都知道https是更加安全的,特别是一些网站,有https的网站更能够让用户信任访问接下来以我的个人网站五岁小孩为例子,带大家一起从0到1配置网站https本次配置的...

10个Linux文件内容查看命令的实用示例

Linux文件内容查看命令30个实用示例详细介绍了10个Linux文件内容查看命令的30个实用示例,涵盖了从基本文本查看、分页浏览到二进制文件分析的各个方面。掌握这些命令帮助您:高效查看各种文本文件内...

第13章 工程化实践_第13章 工程化实践课

13.1ESLint+Prettier代码规范统一代码风格配置//.eslintrc.jsmodule.exports={root:true,env:{node...

龙建股份:工程项目中标_龙建股份有限公司招聘网

404NotFoundnginx/1.6.1【公告简述】2016年9月8日公告,公司于2016年9月6日收到苏丹共和国(简称“北苏丹”)喀土穆州基础设施与运输部公路、桥梁和排水公司出具的中标通知书...

福田汽车:获得政府补助_福田 补贴

404NotFoundnginx/1.6.1【公告简述】2016年9月1日公告,自2016年8月17日至今,公司共收到产业发展补助、支持资金等与收益相关的政府补助4笔,共计5429.08万元(不含...

取消回复欢迎 发表评论: