Python学习笔记(一)-- 基础知识总结(上)
前言
Python学习笔记参考书目为《Python编程-从入门到实践》(图灵程序设计丛书)
变量和简单数据类型
-
变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为
message_1
,但不能将其命名为1_message
。 -
变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名
greeting_message
可行,但变量名greeting message
会引发错误。 -
变量名应既简短又具有描述性。例如,
name
比n
好,student_name
比s_n
好,name_length
比length_of_persons_name
好。
字符串
字符串就是一系列字符。在Python中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号。
str1 = "hello world"
str2 = 'hello_world'
字符串相关的方法
方法(method)是一种特殊的函数。
例如将字符串转化为大小写:
name = "ada lovelace"
print(name.title())
在这个示例中,小写的字符串"ada lovelace"
存储到了变量name
中。在print()语句中,方法
title()
出现在这个变量的后面。 方法是Python可对数据执行的操作。在name.title()
中, name后
面的句点( .)让Python对变量name执行方法title()
指定的操作。每个方法后面都跟着一对括号,
这是因为方法通常需要额外的信息来完成其工作。这种信息是在括号内提供的。函数title()不
需要额外的信息,因此它后面的括号是空的。
title()
以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写。这很有用,
因为你经常需要将名字视为信息。例如,你可能希望程序将值Ada、 ADA和ada视为同一个名字,
并将它们都显示为Ada。
print(name.upper())
print(name.lower())
也可以使用upper()
和lower()
进行大小写的转换,upper()
是大写转换,lower()
是小写转换。
其他字符串方法:
-
S.swapcase()
对S中的所有字符串做大小写转换(大写-->小写,小写-->大写)。 -
S.center(width[, fillchar])
将字符串居中,左右两边使用fillchar进行填充,使得整个字符串的长度为width。fillchar默认为空格。如果width小于字符串的长度,则无法填充直接返回字符串本身(不会创建新字符串对象)。
>>> print('ab'.center(4,'_'))
_ab_
>>> print('ab'.center(5,'_'))
__ab_
>>> print('ab'.center(4))
ab
>>> print(len('ab'.center(4)))
4
>>> print('abcde'.center(3))
abcde
S.ljust(width[, fillchar])
S.rjust(width[, fillchar])
ljust()
使用fillchar
填充在字符串S的右边,使得整体长度为width
。rjust()
则是填充在左边。如果不指定fillchar
,则默认使用空格填充。
如果width
小于或等于字符串S的长度,则无法填充,直接返回字符串S(不会创建新字符串对象)。
>>> print('xyz'.ljust(5,'_'))
xyz__
>>> print('xyz'.rjust(5,'_'))
__xyz
S.count(sub[, start[, end]])
返回字符串S中子串sub出现的次数,可以指定从哪里开始计算(start)以及计算到哪里结束(end),索引从0开始计算,不包括end边界。
>>> print('xyabxyxy'.count('xy'))
3
# 次数2,因为从index=1算起,即从'y'开始查找,查找的范围为'yabxyxy'
>>> print('xyabxyxy'.count('xy',1))
2
# 次数1,因为不包括end,所以查找的范围为'yabxyx'
>>> print('xyabxyxy'.count('xy',1,7))
1
# 次数2,因为查找的范围为'yabxyxy'
>>> print('xyabxyxy'.count('xy',1,8))
2
S.translate(table)
static str.maketrans(x[, y[, z]])
str.maketrans()
生成一个字符一 一映射的table,然后使用translate(table)
对字符串S中的每个字符进行映射。
>>> in_str='abcxyz'
>>> out_str='123456'
# maketrans()生成映射表
>>> map_table=str.maketrans(in_str,out_str)
# 使用translate()进行映射
>>> my_love='I love fairy'
>>> result=my_love.translate(map_table)
>>> print(result)
I love f1ir5
注意, maketrans(x[, y[, z]]) 中的x和y都是字符串,且长度必须相等。
如果 maketrans(x[, y[, z]]) 给定了第三个参数z,这这个参数字符串中的每个字符都会被映射为None。
例如:
>>> in_str='abcxyz'
>>> out_str='123456'
>>> map_table=str.maketrans(in_str,out_str,'ay')
>>> my_love='I love fairy'
>>> result=my_love.translate(map_table)
>>> print(result)
I love fir
·······
方法还有很多,本处不再详细说明。
合并字符串
Python使用加号( +)来合并字符串。在这个示例中,我们使用+来合并first_name、空格和
last_name,以得到完整的姓名。
first_name = "ada"
last_name = "lovelace"
full_name = first_name + " " + last_name
列表
列表由一系列按特定顺序排列的元素组成。
你可以创建包含字母表中所有字母、数字0~9或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。
鉴于列表通常包含多个元素,给列表指定一个表示复数的名称(如letters、 digits或names)是
个不错的主意。
在Python中,用方括号[]
来表示列表,并用逗号来分隔其中的元素。
在Python中,第一个列表元素的索引为0,而不是1。
你创建的大多数列表都将是动态的,这意味着列表创建后,将随着程序的运行增删元素。
插入元素
在列表中插入元素
方法append()
将元素'ducati'添加到了列表末尾
motorcycles = []
motorcycles.append('honda')
motorcycles.append('yamaha')
motorcycles.append('suzuki')
print(motorcycles)
使用方法insert()
可在列表的任何位置添加新元素。为此,你需要指定新元素的索引和值。
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.insert(0, 'ducati')
print(motorcycles)
输出为:
['ducati', 'honda', 'yamaha', 'suzuki']
删除元素
- 使用del语句删除元素
如果知道要删除的元素在列表中的位置,可使用del语句。
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
del motorcycles[0]
print(motorcycles)
输出结果:
['honda', 'yamaha', 'suzuki']
['yamaha', 'suzuki']
使用del可删除任何位置处的列表元素,条件是知道其索引。
- 使用方法
pop()
删除元素
有时候,你要将元素从列表中删除,并接着使用它的值。(默认从末尾开始)
方法pop()可删除列表末尾的元素,并让你能够接着使用它。术语弹出( pop)源自这样的类
比:列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
popped_motorcycle = motorcycles.pop()
print(motorcycles)
print(popped_motorcycle)
输出结果为:
['honda', 'yamaha', 'suzuki']
['honda', 'yamaha']
suzuki
实际上,你可以使用pop()来删除列表中任何位置的元素,只需在括号中指定要删除的元素
的索引即可。
remove()
删除特定值
有时候,你不知道要从列表中删除的值所处的位置。如果你只知道要删除的元素的值,可使
用方法remove()。
motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
print(motorcycles)
motorcycles.remove('ducati')
print(motorcycles)
输出结果:
['honda', 'yamaha', 'suzuki', 'ducati']
['honda', 'yamaha', 'suzuki']
注意:
方法remove()只删除第一个指定的值。
排序
- 使用方法
sort()
对列表进行永久性排序
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()
print(cars)
输出结果:
['audi', 'bmw', 'subaru', 'toyota']
sorted()
函数排序
要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可使用函数sorted()。函数
sorted()让你能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。
cars = ['bmw', 'audi', 'toyota', 'subaru']
print("Here is the original list:")
print(cars)
print("\nHere is the sorted list:")
print(sorted(cars))
print("\nHere is the original list again:")
print(cars)
要反转列表元素的排列顺序,可使用方法reverse()
。
使用函数len()
可快速获悉列表的长度。
本文来自作者:CK_0ff,转载请注明原文链接:https://www.cnblogs.com/Ck-0ff/p/15819219.html