Python推文合集基础篇(下)|算法简介
本文作者:王子一,中南财经政法大学金融学院 文字编辑:戴 雯 技术总编:张馨月
爬虫俱乐部云端课程
上一次已经介绍过了Python的六个标准数据类型,详情可参考推文《【小白指南】Python中有哪些数据类型?(附推文合集)》,今天小编继续往下介绍Python的算法内容,这是我们必须要学习的内容,绝对不允许跳过,也是为以后进一步地学习打下基础。今天我们从流程控制结构,函数,文件操作,错误调试,标准库和第三方库进行简单介绍,下面开始今天的行程!
流程控制结构
再不偷偷为夏天做准备就晚了(Python第8天 for循环)
函数
文件读写
错误调试
对抗bug方法介绍——爆款pysnooper你用了吗?(上篇)
对抗bug方法介绍——爆款pysnooper你用了吗?(下篇)
标准库和第三方库
同昨天一样,我们也对各部分的内容进行了简单的梳理,下面来一起看看吧~
流程控制结构
Python提供了分支结构和循环结构这两种基本的流程控制结构,其中分支结构用于实现根据条件来选择性地执行某段代码;循环结构用于实现根据循环条件重复执行某段代码。
分支结构
Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。
if 语句
Python中if语句的一般形式如下所示:
if 表达式1:
语句1
elif 表达式2:
语句2
else:
语句3
例如判断分数是属于优秀,良好还是后进:
if score < 75:
print("后进")
elif score >= 90:
print("优秀")
else:
print("良好")
if 嵌套
在嵌套 if 语句中,可以把 if...elif...else 结构放在另外一个 if... elif... else 结构中,如下所示:
if 表达式1:
语句
if 表达式2:
语句
elif 表达式3:
语句
else:
语句
elif 表达式4:
语句
else:
语句
例如,判断分数所处的分数段:
if score > 60:
print("大于60")
if score > 80:
print("大于80")
print("大于60第二次")
else:
if score > 30:
print("大于30")
循环结构
Python 中的循环语句有while 和 for 。
while 循环
Python 中 while 语句的一般形式为:
while 判断条件:
执行语句
例如,计算 2+4+6+...+100 的结果:
s = 0
i = 0
while i < 101:
i += 2
s += i
print(s)
for 语句 for循环可以遍历任何序列的项目,如一个列表或者一个字符串。for循环的一般格式如下:
for <variable> in <sequence>:
<statements>
else:
<statements>
例如,计算1+2+...+100 的结果:
a = 0
for i in range(1,101): # range是一个内置函数,它会生成数列
a += i
print(a)
函数
Python中内置了许多有用的函数,我们可以直接调用。同时,我们也可综合运用不同的数据类型和流程控制结构构建自己需要的函数。下面依次进行介绍:
内置函数
为了提高程序员的开发效率,Python 提供了很多可以直接拿来用的函数,包含数学运算符、类型转换、对象操作等多种类型。用户可以直接调用,也可以使用help()查看使用方法。如:
help(sum)
print(sum([1,2,3]))
定义函数
在Python中,定义一个函数要使用def语句,一般格式如下:
def 函数名(参数列表):
函数体
比如,我们可以定义一个函数计算1到100的累计和:
def f():
a = 0
for i in range(101):
a += i
return a
同时,我们还可传入参数来增加代码的应用性,比如下面这个函数,就实现了计算1到任意数字累计和的功能:
def f(n):
a = 0
for i in range(n):
a+=i
return a
f(50)
上面这些只是简单的介绍,除此之外,函数中还可定义默认参数、位置参数、关键字参数、可变参数,对于这些更高阶的应用,大家可以结合我们的往期推文来“食用”~
文件操作
在Python中可以实现各种文件的读写,其中最基本的即为open()函数,open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。
open(file, mode='r')
例如,打下下面这个文件并写入内容,可以执行如下代码:
f = open("hello.txt","w") # 打开文件
f.write("hello world!" * 2) # 写入内容
f.close() #关闭文件对象
为了使代码更加易读,可以将上述代码改写成带tab缩进的with关键句,如下:
with open("hello.txt","a",encoding="utf8") as f:
f.write("hello world!\n")
对于open()函数中的mode参数,这里列出常用的几个:
参数 | 描述 |
---|---|
r | 以只读方式打开文件 |
rb | 以二进制方式打开用于只读 |
w | 打开一个文件只用于写入 |
wb | 以二进制方式打开用于写入 |
a | 打开一个文件用于追加 |
ab | 以二进制方式打开用于追加 |
上述参数后添加
+
, 表示打开一个文件进行更新(可读可写)
错误调试
我们在敲写代码的过程中经常会遇到各类报错,看懂报错信息和场景对提高排错效率非常重要。当发生异常时,我们需要对异常进行捕获,其中最常用的是try...except...结构,其完整格式如图所示:
这里举一个简单的小栗子:
while True:
try:
x = int(input("请输入一个字符: "))
break
except ValueError:
print("您输入的不是字符,请再次尝试输入!")
一个try语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。一个except子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组,例如:
except (RuntimeError, TypeError, NameError):
pass
以上就是今天推文全部的内容啦~ 基础篇就这样结束了,对于基本的操作语法和代码规范大家一定要多加熟悉,为进一步的学习Python打好基础。那么!动起手来,一起学习吧~
轻松获取通行数据——cntraveltime命令介绍
让Stata完美牵手中国地图之cnmapsearch
自然语言分析——利用NLTK进行文本预处理
寻找B站的最爱--8月B站全站榜爬虫
cnaddress命令——实现经纬度转换为中文地址
Python入门—Spyder的简单使用
追踪命令set trace on——解你燃眉之急
爬虫大杀器 | “手把手”教你配置Selenium
小白必看!Anaconda安装全攻略
微信公众号“Stata and Python数据分析”分享实用的stata、python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。