[Learning Python] Chapter 4. Introducing Python Object Types

news/2025/6/19 16:49:35

1, >>> len(str(3)) 结果是1,len不能对数字求值,需要先将数字转换为str

2, math模块中,有许多工具可以用来计算数学问题。使用math模块,先导入math:

import math
math.pi 可以返回圆周率
math.sqrt() 可以返回某个数的平方根(用小数表示)。

3, random模块中,有提供随机数和随机选择的功能,如下

import random
random.random() 可以产生一个随机数字
random.choice([1,2,3,4]) 可以随机选择

4, String 作为sequence,可以index,可以用len计算长度。比如:

>>> S = ‘Spam’
>>> Len(S)
4
>>> S[0]
‘S’
>>> S[1]
‘P’

当然,也可以从后面开始计算,-1表示最后一位,-2表示倒数第二位,等等。。

5, String可以有slicing操作,比如下面:

>>> S
‘Spam’
>>> S[1:3] 从index 1开始,到index 3(不包括2)的片段
‘pa’
Slicing的格式是x[i:j],如果不写j,则代表最后一位,如果不写i,则代表从index 0开始,如果i和j都不写,代表原样输出。

6, String可以连接(concatenation),可以重复(repetition):

>>> S
‘Spam’
>>> S + ‘xyz’ 可以将两个string连接在一起(concatenation)
‘Spamxyz’
>>> S * 8  可以重复任意次数(repetition)
‘SpamSpamSpamSpamSpamSpamSpamSpam’

7, 如《6》中,+ 号作用于string表示连接,而作用于数字表示加法,操作符的作用会根据其作用的对象而有所适应。这就是python的多态性(polymorphism)。

8, String具有不变性(immutability)。即:

>>> S
‘Spam’
>>>S[1] = ‘x’ 这里将产生错误,因为string具有不变性,用户不可以对其做item assignment.
但可以创建新的string来存储。

9, Python中的对象被分类为immutable 和 mutable。针对Python的核心类型,数字(numbers)、字符串(Strings)和tuples都是immutable的。而lists、dictionaries和sets则是mutable的。

10, 如何将string的每个字符分开并存入list?如下:

>>>newstring = ‘word’
>>>L = (newstring)
>>>[‘w’, ‘o’, ‘r’, ‘d’]
如何将list变成一个string?
>>> newList = [‘w’, ‘o’, ‘r’, ‘d’]
>>> stringA= ‘’.join(newList)
>>> stringA
>>> ‘word’

11, string有一个find方法,可以返回字符串中某个子字符转开始的index。比如:

>>> S = ‘Spam’
>>> S.find(‘pa’) 寻找子字符串’pa’的位置
1

12, string有一个replace方法,可以返回替换了字符串某个子字符串后的新字符串,比如:

>>>S.replace(‘pa’, ‘XYZ’)
>>>’SXYZm’  替换后了的新字符串
>>>S    原字符串并没有改变 
‘Spam’

13, string有一个split方法,可以以某个字符作为分割点来分割某个字符串,比如:

line = '


https://dhexx.cn/news/show-1702947.html

相关文章

10分钟带你快速了解MyBatis,最详细易懂的mybatis入门讲解

MyBatis 框架是什么? MyBatis 框架: MyBatis 本是apache 的一个开源项目 iBatis, 2010 年这个项目由apache software foundation 迁移到了google code,并且改名为 MyBatis 。2013 年 11 月迁移到Github。 MyBatis 是一款优秀的持久层框架&…

学习与考试

如何有效提升你的考试技巧 http://baike.baidu.com/view/1726955.htm 不轻言放弃,也不要抓住不放 在考场上保持适当的紧张情绪 应试技巧: http://baike.baidu.com/view/539352.htm 1.了解难易,分配时间:拿到试卷之后&#xff0…

Vue核心特性以及和传统开发有什么区别?

一、Vue核心特性 1、响应式 响应式:这也就是vue.js最大的优点,通过MVVM数据驱动思想实现数据的双向绑定,通过虚拟DOM让我们可以用数据来操作DOM,而不必去操作真实的DOM,提升了性能。且让开发者有更多的时间去思考业务…

程序员高薪必备|Dubbo最全面的入门讲解

为什么 Dubbo 说自己性能高? 高性能要从底层的原理说起,既然是一个 RPC 框架,主要干的就是远程过程(方法)调用, 那么提升性能就要从最关键、最耗时的两个方面入手:序列化和网络通信。 序列化:我们学习 Jav…

logback.xml 配置详解(1)

2019独角兽企业重金招聘Python工程师标准>>> 1.简介 Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个…

禁用页面缓存的终极解决方法,适用于(IE/FireFox)

在web开发中合理使用缓存可以有效的提高网站的性能,但是在某些场合下因为缓存的存在会带来很多的问题。例如:因为缓存的存在会造成重复提交数据的问题,验证码图片不能正确显示的问题,等等。这个时候我们就要禁用页面缓存的功能。 …

Dubbo配置|使用教程,看这一篇就够了!

接上篇文章,本文主要说下Dubbo的配置及使用 配置原则 在服务提供者配置访问参数。因为服务提供者更了解服务的各种参数。 关闭检查 dubbo 缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止 Spring 初始化完成,以…

Redis 3.0 与 3.2 配置文件变化

一、Redis3.0 与 3.2 配置文件对比 1. clone redis git clone https://github.com/antirez/redis.git 2. checkout分支 cd redis git checkout 3.0 git checkout 3.23. 比较 (1) 比较3.0和3.2文件变化数 > git rev-list 3.0..3.2 --count 1708 (2) 比较3.0和3.2文件变化统计…

作业调度Quartz与消息中间件MSMQ

Quartz http://quartz-scheduler.org/ http://www.ibm.com/developerworks/cn/java/j-quartz/ http://quartznet.sourceforge.net/ 企业应用中的作业调度 http://www.blogjava.net/baoyaer/articles/166550.html 功能:时间、任务、其它设置(空闲…

作为Java程序员还不会SpringBoot?看完这篇springboot精髓就够了

What is SpringBoot? 源自官网: https://spring.io/projects/spring-boot Spring Boot使开发独立的,产品级别的基于Spring的应用 变得非常简单,你只需"just run"; 我们为Spring平台及第三方库提供开箱即用…