《Python语言及其应用》读书笔记(1)之第2章Python基本元素:数字、字符串和变量(关键词:数字/字符串/变量)

本文是《Python语言及其应用》第一章读书笔记,主要涵盖了Python中的基本元素:数字(包括整数、浮点数及进制转换)、字符串(如创建、拼接、分片、提取、替换等操作)以及变量的概念。详细解析了变量赋值的引用性质,数字的运算及类型转换,以及字符串的不可变性与常用操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第2章 Python基本元素:数字、字符串和变量

2.1 变量、名字和对象

>>> a = 7
>>> print(a)
7

注意,Python中的变量有一个非常重要的性质:变量仅仅是一个名字赋值操作并不会实际复制值,它只是为数据对象取个相关的名字。名字是对对象的引用而不是对象本身。你可以把名字想像成贴在盒子上的标签。
这里写图片描述

2.2 数字

2.2.1 整数

/用来执行浮点除法(十进制)
//用来执行整除
divmod求商和余数:

divmod(9,5)
(1,4) # 返回一个元组

2.2.2 优先级

2.2.3 基数

Python中,除了十进制外,还可以使用其他3种进制的数字:

  • 0b或0B代表二进制(以2为底)
  • 0o或0O代表八进制(以8为底)
  • 0x或0X代表十六进制(以16为底)

2.2.4 类型转换

2.2.5 一个int型有多大

2.2.6 浮点数

2.2.7 数学函数

详见附录C(包含Python的科学应用)。

2.3 字符串

字符串型是我们学习的第一个Python序列类型,它的本质是字符序列。
Python字符串是不可变的。

2.3.1 使用引号创建

print()函数会把包裹字符串的引号截去,仅输出其实际内容,易于阅读。

>>> print('hello')
hello

print()还会自动地在各个输出部分之间添加空格,并在所有输出的最后添加换行符:

>>> print('i','am',26)
i am 26

2.3.2 使用str()进行类型转换

2.3.3 使用\转义

2.3.4 使用+拼接

2.3.5 使用*复制

2.3.6 使用[]提取字符

由于字符串是不可变的,因此无法直接插入字符或改变指定位置的字符

>>> name = 'Henny'
>>> name[0] = 'P'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment

为了改变字符串,需要组合使用一些字符串函数,例如replace(),以及分片操作:

>>> name = 'henny'
>>> name.replace('h', 'p')
'penny'
>>> 'r' + name[1:]
'renny'

2.3.7 使用[start:end:step]分片

2.3.8 使用len()获得长度

2.3.9 使用split()分割

有些函数只适用于字符串类型。为了调用字符串函数,需要输入:
字符串的名称一个点号需要调用的函数名、需要传入的参数。形式:
string.function(arguments)
使用内置的字符串函数split()可以基于分隔符将字符串分割成由若干子串组成的列表。列表(list)是由一系列值组成的序列,值与值之间由逗号隔开,整个列表被方括号(“[“和“]“)包裹。

>>> str1 = "hello world, i am henry, nice to see you"
>>> str1.split(',')
['hello world', ' i am henry', ' nice to see you']

如果不指定分隔符,那么split()函数将默认使用空白字符——换行符空格制表符

2.3.10 使用join()合并

join()函数与split()函数正好相反:join()将列表中的若干子串合成一个完整的大的字符串。
形式:
string.join(list)。
例子:

>>> str2 = ','
>>> list2 = ['hello', 'i am henry', 'i like football']
>>> str2.join(list2)
'hello,i am henry,i like football'

2.3.11 熟悉字符串

string.startswith(substring)
string.endswith(substring)
string.find(astring) 查找第一次出现单词astring的位置(偏移量)
string.rfind(astring) 查找最后一次出现单词astring的位置(偏移量)
string.count(astring) astring在string中出现的次数
string.isalnum() string中出现的所有字符都是字符或数字吗?

2.3.12 大小写与对齐方式

>>> str3 = 'I want to ...'
>>> str3.strip('.')
'I want to '

其他:
str3.capitalize() 让字符串str3的首字母变成大写
str3.title() 让字符串str3中的所有单词的开头字母变成大写
str3.upper() 所有字母都大写
str3.lower() 所有字母都小写
str3.swapcase() 将所有字母的大小写互换:

>>> str3 = 'I want to ...'
>>> str3.swapcase()
'i WANT TO ...'

与格式排版相关的函数。这里没看懂。

2.3.13 使用replace()替换

使用replace()函数可以进行简单的子串替换。repalce()的括号内需要传入的参数包括:需要被替换的子串、用于替换的新子串、以及需要替换多少处(这个参数如果省略则默认只替换第一次出现的位置)。
省略最后一个参数(需要替换多少处):

>>> setup = 'a duck goes into a bar...'
>>> setup.replace('duck', 'dog')
'a dog goes into a bar...'

修改最多100处:

>>> setup.replace('a ', 'a famous ', 100)
'a famous duck goes into a famous bar...'

如果想确保被替换的子串是一个完整的词,或者某一个词的开头,需要借助正则表达式。

2.3.14 更多关于字符串的内容
https://docs.python.org/3/library/stdtypes.html#stringmethods

参考文献:
1. 《Python语言及其应用》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值