在学习 python 时的一些简单的笔记,参考学习书本为 Python编程:从入门到实践.pdf 。因为前三章相对简单,因此没有具体的笔记。
测试部分的笔记待补充。

文章目录

  • 第四章——列表
  • 第五章——if语句
  • 第七章——用户输入和while循环
  • 第八章——函数
  • 第九章——类
  • 第十章——文件和异常
  • 测试代码

注:原文章在 jupyter notebook 书写,因此文章中的代码块上面为 python 代码,下面为即时运行结果

第四章——列表

name='mike'
name.title()
print(name)
print(name.title())name_title=name.title()
print(name_title)
mike
Mike
Mike

.title()为首字母大写,.upper()为全部大写,.lower()为全部小写,但要注意,这些都不会修改变量本身,只是返回一个改变后的值,因此要写在print的()内或将其赋值给另一个变量,然后输出此变量

name1="mike alice"
name2='mike,alice'
name3='mike/alice'
name4='mike5alice'
print(name1.title())
print(name2.title())
print(name3.title())
print(name4.title())
Mike Alice
Mike,Alice
Mike/Alice
Mike5Alice

注意这个.title()方法,它会找到字符串中的所有独立单词,然后把它们首字母大写,只要不同单词之间用非字母的字符(如空格,符号,数字等等)隔开了,这就是两个单词,会被分别大写首字母

arr=['a','b','c']
print(arr)
['a', 'b', 'c']

print列表会把**整个列表(包括[])**都打印

arr=[]
arr.append('new')
print(arr)
['new']

**.append()**在列表后面插入元素,一次只能插入一个

arr=['a','b','c']
arr.insert(1,'d')
print(arr)
['a', 'd', 'b', 'c']

.insert()在列表中插入元素,第一个参数写要插入的位置,第二个写插入内容注意同样从0开始

arr=['a','b','c','d']
del arr[1]
print(arr)
['a', 'c', 'd']

del语句(注意不是方法)在列表中删除元素,del arr[],中括号内填要删除元素的位置

而且del函数不需要()

arr1=['a','b','c','d']
arr1.pop()
print('arr1:',end='')
print(arr1)arr2=['a','b','c','d']
arr2.pop(1)
print('arr2:',end='')
print(arr2)arr3=['a','b','c','d']
arr3_0=arr3.pop(0)
print('arr3:',end='')
print(arr3)
print('arr3_0:'+arr3_0)
arr1:['a', 'b', 'c']
arr2:['a', 'c', 'd']
arr3:['b', 'c', 'd']
arr3_0:a

.pop()在列表中删除元素,更像是弹出元素,对于.pop()弹出的元素,还可以再利用,储存在另外的变量中,如arr3_0;如果在()中不加数字,则默认弹出最后的一个元素

arr1=['a','b','c','d']
arr1.remove('a')
print(arr1)arr2=['a','b','c','d','a']
the_remove_element='a'
arr2.remove(the_remove_element)
print(arr2)
['b', 'c', 'd']
['b', 'c', 'd', 'a']

.remove()在列表中删除指定值的元素,括号内填要删除的元素的内容,和.pop()一样,被删除的元素可以被赋给另一个变量再利用,但只能删除第一个指定的值,可以通过多次使用+循环判断来删除全部的,但当列表中没有指定值时,程序会报错

arr1=['b','a','d','c']
arr1.sort()
print(arr1)arr2=['b','a','d','c']
arr2.sort(reverse=True)
print(arr2)
['a', 'b', 'c', 'd']
['d', 'c', 'b', 'a']

.sort()是对列表进行永久性排序,即修改列表本身,可以通过在()中传递参数reverse=True来倒序排列,注意这个True首字母必须大写,不然报错

arr=['b','a','d','c']
print(sorted(arr))
print(arr)print(sorted(arr,reverse=True))
['a', 'b', 'c', 'd']
['b', 'a', 'd', 'c']
['d', 'c', 'b', 'a']

函数sorted()用于对列表临时排序,只是返回一个排序后的列表,而列表本身不发生改变,注意这个是函数,不是方法,同样可以reverse=True来倒序,但注意要写在arr的后面

arr=['a','b','c','d']
arr.reverse()
print(arr)arr.reverse()
print(arr)
['d', 'c', 'b', 'a']
['a', 'b', 'c', 'd']

**.reverse()**用于永久性反转列表元素,注意不是排序,只是把所有的元素倒转了,**要恢复到原来的顺序,只要再用一次.reverse()**即可

arr=['a','b','c','d']
print(len(arr))
4

**函数len()**用于获取列表的长度,即元素个数,其返回列表中的元素个数

arr=['a','b','c','d']
for element in arr:print(element+' is a letter.')print('That\'s true\n')
print('END')
a is a letter.
That's trueb is a letter.
That's truec is a letter.
That's trued is a letter.
That's trueEND

for 临时变量 in 列表名:(注意不要漏掉:

sentence1
sentence2
...

缩进表明该行代码属于上一行,可以在for后面使用多个缩进,从而对列表中的每一个元素执行若干操作

临时变量的名字是任意的,但最好用有意义的名称

for num in range(1,5):print(num)print('*****')for num in range(5):print(num)print('*****')#输出1,2,3的平方
squares=[]
for num in range(1,4):squares.append(num**2)
print(squares)print('*****')
#指定步长
for num in range(1,6,2):print(num)
1
2
3
4
*****
0
1
2
3
4
*****
[1, 4, 9]
*****
1
3
5

range()函数可以生成一系列数字,range(start,stop,step),但要注意这一系列数字不是列表list,不能直接print(range(1,5)),但可以用for一个个输出,从start开始输出,到stop停止,但不输出stop,而step为指定步长,即从start开始,每次加step输出

若()中只填一个数字,则默认该数字为stop,start默认为0

且注意不能倒序,stop要比start大

nums=list(range(1,5))
print(nums)
[1, 2, 3, 4]

**list()**函数可以把range()直接转换成list列表

nums=[1,2,3,4,5,6]
print(min(nums))
print(max(nums))
print(sum(nums))
1
6
21

对于数字列表(而不是range),python中有函数**min(),max(),sum()**来处理数据

#列表解析
squares=[num**2 for num in range(1,6)]
print(squares)#常规写法
squares=[]
for num in range(1,6):squares.append(num**2)
print(squares)
[1, 4, 9, 16, 25]
[1, 4, 9, 16, 25]

列表解析的语法/写法,可以将若干行代码合并成一行,在[]中,首先是定义一个表达式,该表达式的值会加到list中,然后就是for语句,它是用来提供表达式数值给表达式使用

如例子中是提供num给表达式num**2

另外注意该for是没有**:**的

#切片
names=['mike','alice','tim','jack']
print(names[1:3])
print(names[:3])
print(names[1:])
print(names[-2:])#使用负数索引并且不写stop来输出最后的几个切片,这样就无需知道list的长度也可以输出最后三个元素
['alice', 'tim']
['mike', 'alice', 'tim']
['alice', 'tim', 'jack']
['tim', 'jack']

通过[start:stop]来将列表切片,切片后的还是一个列表和range一样,stop不会被输出,start不写则默认0,stop默认最后一个+1
可以通过使用负数索引来输出列表后面的切片

#复制列表
names_1=['mike','alice','tim','jack']
names_2=names_1[:]
names_1.append('1')
names_2.append('2')
print(names_1)
print(names_2)#错误的复制列表
names_1=['mike','alice','tim','jack']
names_2=names_1
names_1.append('1')
names_2.append('2')
print(names_1)
print(names_2)
['mike', 'alice', 'tim', 'jack', '1']
['mike', 'alice', 'tim', 'jack', '2']
['mike', 'alice', 'tim', 'jack', '1', '2']
['mike', 'alice', 'tim', 'jack', '1', '2']

通过把list的切片(当然也可以[:]什么都不写来复制整个list)赋值给另外一个变量,来实现复制列表,这相当于创造了一个新的list副本

而如果不是赋值切片,而是直接赋值,则只是把两个变量都关联到了一个列表中,从而对两个变量中的任何一个更改都会导致列表被更改

menu=('cola','cake','chicken')
print(menu)
menu=('tea','milk')
print(menu)
('cola', 'cake', 'chicken')
('tea', 'milk')

元组(tuple)是不可更改元素的list,用()小括号而不是[],但元组变量可以被重新赋值,即让这个变量对应另外一个元组

第五章——if语句

names=['mike','alice','tim','jack']
if 'mike' in names:print('yes')
if 'mike' in names and 'tom' not in names:print('yes')
yes
yes

关键字in 和 not in用来判断一个元素是不是在列表/元组中

关键字and 和 or用来逻辑判断,and和or两边的表达式可以加括号(),也可以不加

elif可以有很多个,并且是按顺序执行的,即前面的if/elif不通过才执行,如果有一个if/elif通过了,则会舍弃剩下的elif。因此适用于仅一种条件满足的情况,如果有多个条件都可以满足的,应该用多个if语句

else可以没有,因为其包罗万象,因此有时候用elif会使条件更清晰

str=[]
if str:print('list is not empty')
else:print('list is empty')
list is not empty

对于空列表,在if语句中为返回False,而非空列表,则为True。

因此可以在程序执行来检查list是不是有元素的

dic={1:'one',2:'two'}
print(dic)dic[3]='three'
print(dic)dic[3]='3rd'
print(dic)print(dic[1])del dic[1]
print(dic)
{1: 'one', 2: 'two'}
{1: 'one', 2: 'two', 3: 'three'}
{1: 'one', 2: 'two', 3: '3rd'}
one
{2: 'two', 3: '3rd'}

字典是用大括号{}括起来的,其中是一系列键-值对,通过键可以找到与之关联的值,键一般是数字或字符串或对应字符串和数字的变量还有元组(即可哈希对象),而值则可以是python中的任何对象

键和值用**冒号:隔开,不同的键值对用逗号,**隔开

往字典中添加新的键值对和修改其中原有的键值对都是通过字典名[键名]=值的方式

而要获取值,则用字典名[键名],这会返回与键相关联的值

删除键值对用的是del函数,同样注意其是没有括号的

nums={1:'one',4:'four',2:'two',3:'three',}
print(nums)
{1: 'one', 4: 'four', 2: 'two', 3: 'three'}

通过上述方式可以将可以清楚的将数量很多的键值对清楚的写出来,可以每个占一行,当然也可以不这样,只要注意加上逗号,就可以

这里用缩进可以更清楚的显示,如果不缩进也是没问题的,这里不是从属关系,因为它们都在一个大括号{}内

对于其他的很长的代码如print()一大串东西也可以这样来分行写

dic={1:"one",2:'two',3:'three',4:'four'}for num,english in dic.items():print(str(num)+'\'s English is',english)
<built-in method items of dict object at 0x000001D330631A80>
1's English is one
2's English is two
3's English is three
4's English is four

通过**for key,value in dic.items()

Python编程:从入门到实践.pdf :Python 基础笔记,最基本的 Python语法,快速上手入门 Python相关推荐

  1. python编程入门到实践 百度云-python网络爬虫从入门到实践pdf

    python网络爬虫从入门到实践pdf是一本非常热门的编程教学.这本书籍详细讲解了Python以及网络爬虫相关知识,非常适合新手阅读,需要的用户自行下载吧. Python网络爬虫从入门到实践电子书介绍 ...

  2. python编程入门-Python编程:从入门到实践 PDF 中文扫描版

    给大家带来的一篇关于Python3.5编程相关的电子书资源,介绍了关于Python入门.Python实践.Python编程方面的内容,本书是由中国工信出版集团出版,格式为PDF,资源大小9.85M,埃 ...

  3. python编程入门pdf-Python编程:从入门到实践 PDF 下载

    Python编程:从入门到实践 PDF 下载 资源来源:https://download.csdn.net/download/xiaoyuxiang123/10345454 本站整理下载: 版权归出版 ...

  4. python编程入门到实践pdf,python编程入门课 视频

    初学者学Python编程如何快速入门? 谷歌人工智能写作项目:小发猫 初学python入门都需要具备那些条件? Python相对比较简单,零基础也能学typescript在npm安装后检测不到.系统学 ...

  5. Python从入门到实践电子书,python编程入门到实践pdf

    <Python编程从入门到实践>txt下载在线阅读,求百度网盘云资源 <Python编程>([美]埃里克·马瑟斯(Eric Matthes))电子书网盘下载免费在线阅读资源链接 ...

  6. python教程txt免费下载-python编程从入门到实践PDF电子书教程免费下载

    本书是一本针对所有层次的 Python 读者而作的 Python 入门书.全书分两部分 :第一部分介绍用 Python 编程所必须了解的基本概念,包括 matplotlib.NumPy 和 Pygal ...

  7. python编程免费教程电子书_python编程从入门到实践PDF电子书教程免费下载

    本书是一本针对所有层次的 Python 读者而作的 Python 入门书.全书分两部分 :第一部分介绍用 Python 编程所必须了解的基本概念,包括 matplotlib.NumPy 和 Pygal ...

  8. Python编程:从入门到实践pdf

    下载地址:网盘下载 内容简介  · · · · · · 本书是一本针对所有层次的Python 读者而作的Python 入门书.全书分两部分:第一部分介绍用Python 编程所必须了解的基本概念,包括m ...

  9. python从入门到实践电子版-Python编程从入门到实践PDF电子书免费下载

    本书是一本针对所有层次的 Python 读者而作的 Python 入门书.全书分两部分 :第一部分介绍用 Python 编程所必须了解的基本概念,包括 matplotlib.NumPy 和 Pygal ...

  10. python金融编程入门_【量化小讲堂- Python、pandas技巧系列】如何快速上手使用Python进行金融数据分析...

    如何快速上手使用Python进行金融数据分析 引言: 本系列帖子"量化小讲堂",通过实际案例教初学者使用python.pandas进行金融数据处理,希望能对大家有帮助. [必读文章 ...

最新文章

  1. IDRLnet: 基于内嵌物理知识神经网络的开源求解框架
  2. wxWidgets:键盘 wxWidgets 示例
  3. Tiled 瓦片地图
  4. 网络文学的“圈地”与“护城”
  5. rest framework 序列化
  6. windows 串口编程 c语言,windows下C语言版串口发送程序(基于VS2017)
  7. c#打印程序原码_C#程序打印新行
  8. Delphi调用C#的加密解密(Base64/AES/DES/MD5可扩充)
  9. 3dmax如何建模(二)
  10. Android Scheme协议与应用全解析
  11. 马云:今天互联网创业还靠免费是死路一条
  12. S7–1500遇上工业无线AP:一个立体仓库无线网络故障诊断分析案例
  13. Linux的安装与Linux下PHP开发环境的搭建(LAMP)
  14. 各种交换机接口及连接方法介绍【详细图文】
  15. 【Python】统计数据标准差(总体标准差,样本标准差)
  16. realsense d435i标定imu与camera
  17. 新建 Microsoft Office Word 文档
  18. 学习笔记| AS入门(三) 布局篇
  19. 一个UDP用户数据报的首部的十六进制表示是06 32 00 45 00 1C E2 17。求源端口、目的端口、用户数据报总长度、数据部分长度。
  20. itk调整图像的像素值范围

热门文章

  1. 主流跨境电商平台有哪些-扬帆牧哲
  2. 硬件工程师实用工具网站
  3. c语言 源文件未编译,源文件未编译什么意思
  4. 十二种兵器与他们的主人
  5. TCSVT论文结构整理
  6. c语言致命错误无法打开网页,电脑中IE浏览器显示异常或无法打开网页崩溃的解决方法...
  7. PM_29 实施条例、合同法、著作权法
  8. 计算机音乐咱们结婚吧音乐谱,齐晨咱们结婚吧简谱_咱们结婚吧歌词
  9. 调整w7计算机屏幕一直亮,win7系统电脑屏幕不休眠保持常亮状态设置的操作方法...
  10. 用IF公式实现向上取整的结果