2020.2.1-2020.2.2 Python基础学习
写在前面
疫情突然降临湖北,欢天喜地的节日气氛变得安静,这几天在家总想学点新东西,由于我学的硬件部分的内容更多,并且有C语言基础,所以决定学习Python这样一个发展前景大、简单实用的语言。 借助廖雪峰的在线学习网站和 《Python编程:从入门到实践》 (非恰饭,勿喷),在刚开始的两天中,懒懒散散地学习了Python作为一个语言所需要掌握的基本语法,并且简单了解了list
、tuple
、dict
和set
这四种数据结构,下列为学习笔记
变量和两种简单数据类型
和学习C语言时一样,上来先得学的是数据类型和变量( 其实学C的时候开始老师先讲了编译原理) ### 1. 变量 - 变量名只能包含字母、数字和下划线。变量名可以字母或者下划线开头,但不能以数字开头 - 变量名不能包含空格,一般用下划线代替空格 - 不要把Python的关键字和函数名当做变量名 - 慎用I和O,因为容易被看成数字1和0 ( 这点确实特别重要hhhh ) 易错点: 1
2
3message = 'Wellcome to the World of Python!'
print(mesage)
#哈哈,日常拼写错误,通假字从古至今从未断绝1
2
3
4print('Hello World!\n?????')
#这里的\n是换行
print('Hello World!\r What?')
#这里的\r是回车(光标回到起点)1
2
3换行转义符'\n'输出效果
Hello World!
?????1
2回车转义符'\r'输出效果
What? World!title()
title函数用于规整字符串使其符合一般文章标题要求(各个单词首字母大写) 1
2name = 'hank gan'
print(name.title())1
Hank Gan
upper()
和lower()
upper函数用于将单词的每个字母转化为大写 lower函数用于将单词的每个字母转化为小写 1
2
3name = 'Hank Gan'
print(name.upper())
print(name.lower())1
2HANK GAN
hank gan+
来拼接不同字符串,使其成为一个新的字符串 1
2
3
4
5
6
7message = 'Wellcome to the World of Python!'
first_name = 'hank'
last_name = 'gan'
full_name = first_name + ' ' + last_name
print('Hello' + ' ' + full_name.title() + ', ' + message)print
语句中,我用了许多+
连接了不同字符串,使同一个print
能够打印更多信息,输出结果: 1
Hello Hank Gan, Wellcome to the World of Python!
rstrip()
、lstrip()
和strip()
strip是“剔去”的意思,“r”和“l”分别代表左和右,那么这三个函数的作用就通俗易懂了,它们分别是剔除字符串左边、右边、左右两边空格的函数,下面是个小例子: 1
2
3
4
5learning = " Python "
print(learning.lstrip())
print(learning.rstrip())
print(learning.strip())1
2
3Python
Python
Python
3. 布尔值/Boolean
和C语言不同,Python是具有布尔值的,且Python的布尔值有且仅有True
和False
。且布尔值的与、或、非运算在Python中表示为and
、or
、not
1
2
3
4
5
6temp_a = True
temp_b = False
print(temp_a and temp_b)
print(temp_a or temp_b)
print(not temp_b)and
是与运算,只有当and
两边的布尔值全为True
时,运算结果才为True
,其余全为False
or
是或运算,当or
两边的布尔值有一个为True
时,运算结果为True
not
是非运算,是一种单目运算符,not
运算值为取反 运算结果为: 1
2
3False
True
True[]
来表示列表,并用逗号,
来分隔其中的元素,例如,用list中套娃list (禁止套娃) 的方式表示出以下几个买不起的山地车品牌: 1
2other = ['canyon','commencal','santa cruz']
bicycles = ['giant','trek','specialized',other,'cannondale']0
开始的,也就意味着整个list的索引号应该是list中元素数目-1 同时,list中的元素若为字符串的话,也可以用上述字符串的各种处理方法来对其进行处理: 1
2
3
4
5other = ['canyon','commencal','santa cruz']
bicycles = ['giant','trek','specialized',other,'cannondale']
print(bicycles[0])
print('I can not afford a ' + bicycles[3][2].title() + ' ' + 'mountain bike.')1
2giant
I can not afford a Santa Cruz mountain bike.bicycles[9999]
这种)的时候,也可以用负数来索引list: 1
2
3
4
5
6
7
8other = ['canyon','commencal','santa cruz']
bicycles = ['giant','trek','specialized',other,'cannondale']
print(bicycles[4])
print(bicycles[-1])
print(bicycles[3][2])
print(bicycles[-2][-1])1
2
3
4cannondale
cannondale
santa cruz
santa cruz
1 | other = ['canyon','commencal','santa cruz'] |
第四行代码就是对bicycle
这个list的第0
号索引值代表的元素进行修改 输出结果: 1
DARTMOOR
append()
函数可以解决这个问题! 1
2
3
4
5other = ['canyon','commencal','santa cruz']
bicycles = ['giant','trek','specialized',other,'cannondale']
bicycles.append('merida')
print('Gosh, I can not afford ' + bicycles[5].title() + ' now.')1
Gosh, I can not afford Merida now.
append()
还有一个重要用法是用来动态地构建list: 1
2
3
4
5
6bicycles = [] #首先定义一个需要被构建的list
bicycles.append('giant')
bicycles.append('trek')
bicycles.append('specialized')
...insert()
来帮忙了 1
2
3
4
5other = ['canyon','commencal','santa cruz']
bicycles = ['giant','trek','specialized',other,'cannondale']
bicycles.insert(0,'merida')
print(bicycles[0].title() + '\n' + bicycles[1].title())1
2Merida
Giantinsert()
的第一个参数是指你要把新元素插入到list中,新元素需要被安排的索引号x
,插入后,原list在索引号x
以后的元素索引号整体后移一位,新元素占据索引号x
对应的list中的位置 #### c. 从列表中删除元素 今年收了数量可观的压岁钱,看来咱应该是买得起一辆Giant Reign了,那如何删除列表里的Giant呢? ##### 知道是第几个元素 如果知道要删除的元素在list中的索引号,那么我们常用del
语句来删除元素 1
2
3
4
5other = ['canyon','commencal','santa cruz']
bicycles = ['giant','trek','specialized',other,'cannondale']
del bicycles[0]
print(bicycles)1
['trek', 'specialized', ['canyon', 'commencal', 'santa cruz'], 'cannondale']
remove()
来删除元素 1
2
3
4
5other = ['canyon','commencal','santa cruz']
bicycles = ['giant','trek','specialized',other,'cannondale']
bicycles.remove('giant')
print(bicycles)remove()
删掉我们想删掉的内容 1
2
3
4
5
6
7other = ['canyon','commencal','santa cruz']
bicycles = ['giant','trek','specialized',other,'cannondale']
I_have_bought_it = 'giant'
bicycles.remove(I_have_bought_it)
print(bicycles)
print(I_have_bought_it.title() + ' is not in this list because I have bought it!')1
2['trek', 'specialized', ['canyon', 'commencal', 'santa cruz'], 'cannondale']
Giant is not in this list because I have bought it!因为我买了它 ##### 虽然要删一个元素,这个元素也想留着 这是什么奇葩要求....离开的就让它离开好嘛,不要再怀念了... 但其实也是做得到的,使用pop()
可以在删除某一元素的同时,存储下被删除的这一个元素 这时候的list就像一个栈
,而删除list末尾的元素相当于弹出栈顶元素
所以,pop()
被称为“删除函数”是有些不恰当的,应该叫做“弹出函数”才对 1
2
3
4
5
6bicycles = ['trek','specialized','santa cruz','giant']
print(bicycles)
poped_bicycle = bicycles.pop()
print(bicycles)
print('I have bought ' + poped_bicycle)1
2
3['trek', 'specialized', 'santa cruz', 'giant']
['trek', 'specialized', 'santa cruz']
I have bought giantpoped_bicycles
中,我们仍能访问它 其实,pop()
可以弹出任意一个你知道索引号的元素,只需在括号中填入你想要弹出的索引号即可: 1
2
3
4
5bicycles = ['trek','specialized','giant','santa cruz']
poped_bicycle = bicycles.pop(2)
print(bicycles)
print('I have bought ' + poped_bicycle)1
2['trek', 'specialized', 'santa cruz']
I have bought giantlist
,有强迫症的人肯定想做点什么,比如按首字母顺序重新排一下之类的,但是如果真的手动一个一个重新排列的话那岂不是要做到明年去了...Python的动人之处就在于它有各种各样的库,各种各样的函数来简化我们的操作 #### 我有几辆买不起的车? 虽然我知道我挺穷的,但我还是想知道有多少牌子的山地车是我买不起的,这时候我们就可以用len()
来确定一下list的长度。 注意,len()
只能确定某一个list
有多少元素,而listA
中如果还套着一个listB
的话,listB
中元素的个数是不被计算的,只会把listB
当做整个元素看待 1
2
3
4
5other = ['canyon','commencal','santa cruz']
bicycles = ['giant','trek','specialized',other,'cannondale']
print(len(other))
print(len(bicycles))1
23
5sort()
可以轻松对一个list按照首字母顺序进行排序 1
2
3
4bicycles = ['trek','specialized','giant','santa cruz']
bicycles.sort(reverse = False)
print(bicycles)1
['giant', 'santa cruz', 'specialized', 'trek']
reverse = False
是什么意思?查了下词典,reverse
的意思是颠倒
,那么显然,reverse = False
意为不颠倒字母顺序,如果我们要按相反的字母顺序排序的话,sort()
中的参数就应该为reverse = True
##### 临时性排序 这些车毕竟买不起,看看就行了,看完了还得给人家放回去,那么如何临时‘看一看’,看完了还能‘放回去’呢?就得请出sorted()
来帮忙了 1
2
3
4
5bicycles = ['trek','specialized','giant','santa cruz']
print(bicycles)
print(sorted(bicycles))
print(bicycles)1
2
3['trek', 'specialized', 'giant', 'santa cruz']
['giant', 'santa cruz', 'specialized', 'trek']
['trek', 'specialized', 'giant', 'santa cruz']reverse()
就是干这个事的 1
2
3
4
5bicycles = ['trek','specialized','giant','santa cruz']
print(bicycles)
bicycles.reverse()
print(bicycles)1
2['trek', 'specialized', 'giant', 'santa cruz']
['santa cruz', 'giant', 'specialized', 'trek']
2020.2.1-2020.2.2 Python基础学习