Python学习笔记(一)-- 基础知识总结(上)

前言

Python学习笔记参考书目为《Python编程-从入门到实践》(图灵程序设计丛书)
在这里插入图片描述

变量和简单数据类型

  1. 变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message

  2. 变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greeting message会引发错误。

  3. 变量名应既简短又具有描述性。例如, namen好, student_names_n好, name_lengthlength_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()是小写转换。

其他字符串方法:

  1. S.swapcase()对S中的所有字符串做大小写转换(大写-->小写,小写-->大写)。

  2. 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
  1. S.ljust(width[, fillchar])
    S.rjust(width[, fillchar])
    ljust() 使用fillchar填充在字符串S的右边,使得整体长度为widthrjust() 则是填充在左边。如果不指定fillchar,则默认使用空格填充。

如果width小于或等于字符串S的长度,则无法填充,直接返回字符串S(不会创建新字符串对象)。

>>> print('xyz'.ljust(5,'_'))
xyz__
>>> print('xyz'.rjust(5,'_'))
__xyz
  1. 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
  1. 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']

删除元素

  1. 使用del语句删除元素
    如果知道要删除的元素在列表中的位置,可使用del语句。
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
del motorcycles[0]
print(motorcycles)

输出结果:

['honda', 'yamaha', 'suzuki']
['yamaha', 'suzuki']

使用del可删除任何位置处的列表元素,条件是知道其索引。

  1. 使用方法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()来删除列表中任何位置的元素,只需在括号中指定要删除的元素
的索引即可。

  1. remove()删除特定值
    有时候,你不知道要从列表中删除的值所处的位置。如果你只知道要删除的元素的值,可使
    用方法remove()。
motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
print(motorcycles)
motorcycles.remove('ducati')
print(motorcycles)

输出结果:

['honda', 'yamaha', 'suzuki', 'ducati']
['honda', 'yamaha', 'suzuki']

注意:
方法remove()只删除第一个指定的值。

排序

  1. 使用方法 sort()对列表进行永久性排序
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()
print(cars)

输出结果:

['audi', 'bmw', 'subaru', 'toyota']
  1. 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()可快速获悉列表的长度。

posted @ 2022-01-18 18:34  CK_0ff  阅读(75)  评论(0编辑  收藏  举报