① python基本语法都有哪些
1.关于编码:
默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码:
# -*- coding: cp-1252 -*-
2.标识符:
第一个字符必须是字母表中字母或下划线,其他的部分由字母、数字和下划线组成。
标识符对大小写敏感。
在 Python 3 中,可以用中文作为变量名,非 ASCII 标识符也是允许的了。
3.保留字:
保留字即关键字,我们不能把它们用作任何标识符名称。
Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:
代码:
import keyword
keyword.kwlist
结果:
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
4.关于注释:
单行注释以 # 开头
多行注释可以用多个 # 号,还有 ''' 和 """
5.缩进与多行语句:
Python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数
Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠(\)来实现多行语句,例如:
代码:total = item_one + \
item_two + \
item_three
在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(\),例如:
代码:total = ['item_one', 'item_two', 'item_three',
'item_four', 'item_five']
6.数字(Number)类型:
Python中数字有四种类型:整数、布尔型、浮点数和复数。
int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
bool (布尔), 如 True。
float (浮点数), 如 1.23、3E-2
complex (复数), 如 1 + 2j、 1.1 + 2.2j
7.字符串:
python中单引号和双引号使用完全相同。
使用三引号('''或""")可以指定一个多行字符串。
转义符 '\'
反斜杠可以用来转义,使用r可以让反斜杠不发生转义。。 如 r"this is a line with \n" 则\n会显示,并不是换行。
按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。
字符串可以用 + 运算符连接在一起,用 * 运算符重复。
Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
Python中的字符串不能改变。
Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
字符串的截取的语法格式如下:变量[头下标:尾下标:步长]
代码示例:
#!/usr/bin/python3
str='Runoob'
print(str) # 输出字符串
print(str[0:-1]) # 输出第一个到倒数第二个的所有字符
print(str[0]) # 输出字符串第一个字符
print(str[2:5]) # 输出从第三个开始到第五个的字符
print(str[2:]) # 输出从第三个开始后的所有字符
print(str * 2) # 输出字符串两次
print(str + '你好') # 连接字符串
print('hello\nrunoob') # 使用反斜杠(\)+n转义特殊字符
print(r'hello\nrunoob') # 在字符串前面添加一个 r,表示原始字符串,不会发生转义
8.空行:
函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
记住:空行也是程序代码的一部分。
9.等待用户输入input:
执行下面的程序在按回车键后就会等待用户输入:
input("\n\n按下 enter 键后退出。")
以上代码中 ,"\n\n"在结果输出前会输出两个新的空行。一旦用户按下 enter 键时,程序将退出。
10.同一行显示多条语句:
Python可以在同一行中使用多条语句,语句之间使用分号(;)分割,以下是一个简单的实例:
import sys; x = 'runoob'; sys.stdout.write(x + '\n')
11.代码组:
缩进相同的一组语句构成一个代码块,我们称之代码组。
像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。
我们将首行及后面的代码组称为一个子句(clause)。
12.Print输出:
Print 输出
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end="":
代码:
x="a"
y="b"
# 换行输出
print( x )
print( y )
# 不换行输出
print( x, end=" " )
print( y, end=" " )
13.import 与 from...import
在 python 用 import 或者 from...import 来导入相应的模块。
将整个模块(somemole)导入,格式为: import somemole
从某个模块中导入某个函数,格式为: from somemole import somefunction
从某个模块中导入多个函数,格式为: from somemole import firstfunc, secondfunc, thirdfunc
将某个模块中的全部函数导入,格式为: from somemole import *
代码:
导入 sys 模块
import sys
print ('命令行参数为:')
for i in sys.argv:
print (i)
print ('\n python 路径为',sys.path)
导入 sys 模块的 argv,path 成员
from sys import argv,path # 导入特定的成员
print('path:',path) # 因为已经导入path成员,所以此处引用时不需要加sys.path
14.命令行参数:
很多程序可以执行一些操作来查看一些基本信息,Python可以使用-h参数查看各参数帮助信息:
代码:
$ python -h
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
-c cmd : program passed in as string (terminates option list)
-d : debug output from parser (also PYTHONDEBUG=x)
-E : ignore environment variables (such as PYTHONPATH)
-h : print this help message and exit
[ etc. ]
15.一个有用的函数:help( )
调用 python 的 help() 函数可以打印输出一个函数的文档字符串:
# 如下实例,查看 max 内置函数的参数列表和规范的文档
>>> help(max)
……显示帮助信息…… 按下 : q 两个按键即退出说明文档
如果仅仅想得到文档字符串:
>>> print(max.__doc__) # 注意,doc的前后分别是两个下划线
max(iterable, *[, default=obj, key=func]) -> value
max(arg1, arg2, *args, *[, key=func]) -> value
With a single iterable argument, return its biggest item. The
default keyword-only argument specifies an object to return if
the provided iterable is empty.
With two or more arguments, return the largest argument.
② python基本语法
python基本语法。
1.python基础语法:如变量的声明与调用、基本输出语句、代码块语法、注释等:数据类型:通常都为数字、字符串、布尔值、数组、链表、Map、Set等:运算符:算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符等。
2.流程控制语句:分支语句、循环语句。类的定义与使用:这个是面向对象编程语言才有的内容。常用API的使用:常用方法、工具类或模块的使用。
③ Python有哪些语句
编程语言有那些它就那些
打印输出
判断分支
逻辑运算。
④ python提供了哪三个非常重要的语句来应对python程序在运
1、If语句详解与实践
之前已经用过很多次If函数了,这边我再做一个简单介绍和一些新内容的补充吧,If函数的底层逻辑就是用来判断,如果满足条件则执行下面的语句。
基本的语法逻辑如下,注意记得写冒号及代码前的缩进:
if 条件:
代码1
else:
代码2
1
2
3
4
其中两个注意点,之前也提过了,就是缩进与英文格式的标点符号,有的时候,你忘记缩进或者冒号是中文格式的时候,程序就会报错,不过Pycharm和Spyder都会在那一行提醒你这一行的写法有问题,所以倒也不用太担心。
现在我们再来看看之前写过这个代码,是不是会感觉清晰很多呢。
score = 100
year = 2018
if (score < 0) and (year == 2018):
print('录入数据库')
else:
print('不录入数据库')
1
2
3
4
5
6
我们下面再补充些内容,其实掌握上面的内容已经完全足够了,下面的只是作为一个知识点的补充。比如你考试考了80分,最简单的是:
score = 85
if score >= 60:
print('及格')
else:
print('不及格')
1
2
3
4
5
我相信现在大家看这个代码已经完全没有问题了,输出肯定是‘及格’。那如果我除了想判断是否及格外,还想看它是否优秀(大于80分),则输出‘优秀’,该怎么弄呢。
score = 55
if score >= 80:
print('优秀')
elif (score >= 60) and (score < 80):
print('裤竖及格')
else:
print('不及格')
1
2
3
4
5
6
7
这边唯一的一个不同,就是中间加入了一个elif,这个其实就是elseif的缩写,用来提供多个结果使用的,
其实这个我做项目的时候基本没有用过,大家简单了解下即可。
2、For语句详解与实践
For语句之前有提到过一次,它的重要程度可以说仅次于If语句了,它的底层逻辑是循环,其实While的底层逻辑是循环,不过还是For用的更加普遍些。
For语句的常见使用格式为,注意记得写冒号及代码前的缩进:
for i in 区域:
代码
1
2
先举个之前讲列表的时候讲过的例子:
class1 = ['丁一', '王二麻子', '张三', '李四', '赵五']
for i in class1:
print(i)
1
2
3
用大白话来说就是:
列表class1 = ['丁一', '王埋纯茄二麻子', '张三', '李四', '赵五']
对于class1中的所有元素i:
我们都把它打印输出出来
1
2
3
这个输出代码为:
丁一
王二麻子
张三
李四
赵五
1
2
3
4
5
这个i可以换成任何东西,比如你换成j,换成一个字符串,只要和下面的print()里面的内容匹配即可。
比如我们可以写:
class1 = ['丁一', '王二麻子', '张三', '李四', '赵五']
for haha in class1:
print(haha)
1
2
3
这样输出的结果其实是一样的。
For语句还通常与range()函数合用,range函数的话其实就是一个类似于list的东西,只不过它可能更像list的长度,你想循环多少次,在range的括号里填写几就可以,比如我写for i in range(3),那么它就是循环3次:
for i in range(3):
print('hahaha')
1
2
这个它就会输出三行‘hahaha’。
我担心大家可能会对这个for i in range(3)中的i还有疑惑,刚刚i不是代表列表里的每一个元素吗,这边这个i又是什么意思呢?这边我给大家做一个偷懒的总结:
(1)对于"for i in 区域"来说,如果说这个区域是一个列表,那么那个i就表示这个列表里的每一个元素;
(2)对于"for i in 区域"来说,如果说这个区域是一个range(n),那么那个i就表示0到n -1这n个数字,之前提到过,python中序号都是从0开始的,所以这边弯察也是从0开始,到n - 1结束。
(3)对于"for i in 区域"来说,如果说这个区域是一个字典,那么i表示的就是字典的中的键(了解即可,很长一段时间用不到)
还有个非常重要的知识点:for i in range(5)的话,它的确会循环5次,但要注意,在python中,第一个元素的序号其实是0,所以如果我们输入如下代码:
for i in range(5):
print(i)
1
2
那么输出的结果是从0开始的,也就是0到4
0
1
2
3
4
1
2
3
4
5
这时候你可能要问,这玩意有什么用?下面我就以舆情监控中的实战来给大家讲解下for语句在爬虫实战中的应用:
title = ['标题1','标题2','标题3','标题4','标题5']
for i in range(len(title)): #len(title)表示一个有多少个新闻,这里是5
print(str(i+1) + '.' + title[i]) #这个其实把字符串进行一个拼接
1
2
3
上面这几行代码已经很大程度就是你做项目实战用到的代码了,暂时看着有点晕也没有关系,我在教学视频里会详细介绍下的。我先用大白话来解释下这几行代码在干嘛:
爬到了一些新闻标题,放到了title这个列表里
用len(title)来获取一共有多少条新闻,并利用for和range语句来进行循环:
打印输出新闻标题,并且在前面加上序号
1
2
3
输出结果如下图所示:
其中有几个小注意点,
(1)range(len(title))这边就相当于range(5),因为len(title)就等于5,所以for i in range(len(title))就是循环5次,这里的i就表示数字0-4。
(2)为什么要写str(i + 1),因为我们要标序号,'标题1’是字符串形式的,而i是数字,我们讲过数字和字符串不能直接相加,所以要用str函数进行下转换。
(3)至于为什么不是str(i),而是str(i + 1)。是因为之前讲列表的时候提到过,在编程中,第一个序号都是0,比如之前列表里讲过的class1[0]表示“丁一”一样,这边如果写str(i)的话,那么输出的第一个序号就是“0.标题1”了。
(4)因为这里的i就表示数字0-4,title[i]的话,表示列表中的第i+1个元素,所以title[0]的话就表示第1个元素,title[4]就表示第5个元素。
通过for循环和range()函数和len()函数的联合使用,可以同时打印多个列表中的元素,代码如下:
# 在实战中的应用(可以同时打印多个列表中的内容)
title = ['标题1', '标题2', '标题3', '标题4', '标题5']
href = ['网址1', '网址2', '网址3', '网址4', '网址5']
for i in range(len(title)): # len(title)表示一个有多少个新闻,这里是5;这里的i就表示数字0-4
print(str(i+1) + '.' + title[i]) # 这个其实把字符串进行一个拼接
print(href[i])
1
2
3
4
5
6
3、While语句详解与实践
While的底层逻辑也是循环,它和For的特点不一样,最大的区别是For知道循环次数,而While的话则是不清楚循环次数。
其使用格式为,注意要写冒号以及代码前的缩进:
while 条件:
要执行的的代码
1
2
举个例子给大家看下:
a = 1
while a < 3:
print(a)
a = a + 1 #或者写成 a += 1
1
2
3
4
它白话的意思就是:
首先将1赋值给a
当 a 小于3的时候:
打印输出a
a 在原来的基础上加上1
1
2
3
4
a一开始等于1,满足小于3的条件,会打印输出1,然后a加上1等于2,此时a仍然小于3,所以仍然会执行打印输出的命令,此时打印输出2,然后a在2的基础上加上1等于3,此时a已经不满足小于3的条件了,那么循环此时便终止了。最后输出如下:
1
2
1
2
大家可以试着把数字3换成别的数试试看。
其实我们之后大多情况下用到While的时候,就是让While来一直循环(如果用for i in range(n),无论n多大,那么早晚都有结束的时候),这个在爬虫实战中的具体应用是:当每爬完一次,就自动进行下一次爬取,实现24小时不间断爬取。那么While如何能实现一直循环呢?
具体的方法其实很简单,那就用while True进行永久循环。
while True:
代码块
1
2
给大家截个图看下,下面这张图就是最终的代码效果,这个while True就是舆情监控系统实现24小时不间断爬取的秘诀,有个注意点,这个True得大写首字母,之后讲到的时候再详细介绍:
大家如果想停止while True的不停的循环,可以在点击右上角的红色终止按钮即可。我当初自己学的时候,写过这么两行代码
⑤ python蹇呰儗鍏ラ棬浠g爜
python蹇呰儗鍏ラ棬浠g爜濡备笅锛
1銆乼ry-except璇鍙ワ细浣跨敤try-except璇鍙ユ崟銮峰纾甯革纴try璇鍙ヤ腑镄勪唬镰佸彲鑳芥姏鍑哄纾甯革纴except璇鍙ョ敤浜庡勭悊寮傚父銆
2銆乺aise璇鍙ワ细浣跨敤raise璇鍙ユ姏鍑哄纾甯革纴鐢ㄤ簬涓诲姩寮曞彂寮傚父銆
3銆乫inally璇鍙ワ细浣跨敤finally璇鍙ュ畾涔夋竻鐞嗘搷浣滐纴镞犺烘槸钖﹀彂鐢熷纾甯搁兘浼氭墽琛岃ヨ鍙ャ
4銆佽嚜瀹氢箟寮傚父锛氢娇鐢╮aise鍏抽敭瀛楀拰镊瀹氢箟镄勫纾甯哥被锛屽紩鍙戣嚜瀹氢箟镄勫纾甯搞
5銆乤ssert璇鍙ワ细浣跨敤assert璇鍙ユ镆ユ浔浠讹纴濡傛灉𨱒′欢涓哄亣锛屽垯寮曞彂AssertionError寮傚父銆
6銆乷s锛氭彁渚涗笌镎崭綔绯荤粺浜や簰镄勫姛鑳斤纴濡傝诲彇鏂囦欢銆佸垱寤烘枃浠跺す绛夈
7銆乻ys锛氭彁渚涗简涓浜汸ython瑙i喷鍣ㄥ拰绯荤粺鐩稿叧镄勫彉閲忓拰鍑芥暟銆
8銆乺e锛氭彁渚涗简姝e垯琛ㄨ揪寮忕殑锷熻兘銆
9銆乵ath锛氭彁渚涗简鏁板︾浉鍏崇殑鍑芥暟锛屽备笁瑙掑嚱鏁般佸规暟绛夈
10銆乼ime锛氭彁渚涗简镞堕棿鐩稿叧镄勫嚱鏁帮纴濡傝诲彇褰揿墠镞堕棿銆佹牸寮忓寲镞堕棿绛夈
11銆乺andom锛氭彁渚涗简闅忔満鏁扮敓鎴愮浉鍏崇殑鍑芥暟銆
12銆乻tring锛氭彁渚涗简瀛楃︿覆鐩稿叧镄勫嚱鏁帮纴濡傚瓧绗︿覆镄勬浛鎹銆佹嫾鎺ョ瓑銆
13銆乨atetime锛氭彁渚涗简镞ユ湡鍜屾椂闂村勭悊鐩稿叧镄勫嚱鏁般
14銆乧ollections锛氭彁渚涗简楂樻晥镄勬暟鎹绫诲瀷锛屽傚垪琛ㄣ佸瓧鍏搞侀泦钖堢瓑銆
15銆丯umPy锛氭槸涓涓鐢ㄤ簬绉戝﹁$畻镄凯ython妯″潡锛屾彁渚涗简楂樻晥镄勬暟缁勮繍绠椼
python镄勮瑷鐗圭偣锛
1銆侀熷害杈冨揩锛歅ython镄勫簳灞傛槸鐢–璇瑷鍐欑殑锛屽緢澶氭爣鍑嗗簱鍜岀涓夋柟搴扑篃閮芥槸鐢–鍐欑殑锛岃繍琛岄熷害闱炲父蹇銆
2銆佸厤璐广佸紑婧愶细Python鏄疐LOSS锛堣嚜鐢/寮鏀炬簮镰佽蒋浠讹级涔嬩竴銆备娇鐢ㄨ呭彲浠ヨ嚜鐢卞湴鍙戝竷杩欎釜杞浠剁殑𨰾疯礉銆侀槄璇诲畠镄勬簮浠g爜銆佸瑰畠锅氭敼锷ㄣ佹妸瀹幂殑涓閮ㄥ垎鐢ㄤ簬鏂扮殑镊鐢辫蒋浠朵腑銆侳LOSS鏄锘轰簬涓涓锲浣揿垎浜鐭ヨ瘑镄勬傚康銆
3銆侀珮灞傝瑷锛氱敤Python璇瑷缂栧啓绋嫔簭镄勬椂鍊欐棤闇钥冭槛璇稿傚备綍绠$悊浣犵殑绋嫔簭浣跨敤镄勫唴瀛树竴绫荤殑搴曞眰缁呜妭銆
4銆佽В閲婃э细涓涓鐢ㄧ紪璇戞ц瑷姣斿侰鎴朇锛嬶纭鍐欑殑绋嫔簭鍙浠ヤ粠婧愭枃浠讹纸鍗矫鎴朇锛嬶纭璇瑷锛夎浆鎹㈠埌涓涓浣犵殑璁$畻链轰娇鐢ㄧ殑璇瑷锛堜簩杩涘埗浠g爜锛屽嵆0鍜1锛夈傝繖涓杩囩▼阃氲繃缂栬疟鍣ㄥ拰涓嶅悓镄勬爣璁般侀夐”瀹屾垚銆
⑥ Python基本语法
1.Hello World
实例 HelloWorld.py
# !/usr/bin/python3
print(“Hello, World!”);
运行脚本
$python HelloWorld.py
注解:以如上方式运行,第一行无意义;但以./HelloWorld.py的方式运行,第一行则指定python解释器的位置
2.标识符
必须字母或下划线开头
标识符其他部分是字母、下划线和数字
大小写敏感
3.设置编码
默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码:
# -- coding: cp-1252 --
4.注释
python单行注释以#开始,多行注释可以用多个#或'''和"""
例子
#!/usr/bin/python3
# 注释
# 注释
'''
注释
注释
'''
"""
注释
注释
"""
print (“Hello, World!”)
4.行和缩进
python使用行缩进代表代码块而不需要({}),同一个代码块的行缩进必须一致,否则报错。
5.多行语句
python如果一个语句过长可以用 实现多行语句。
sum = one +
two +
three
6.等待用户输入
执行下面的程序在按回车键后就会等待用户输入:
#!/usr/bin/python3
input(“按下 enter 键退出。”)
用户按下键时,程序将退出。
7.import 与 from…import
在 python 用 import 或者from…import来导入相应的模块。
将整个模块(somemole)导入,格式为:* import somemole*
从某个模块中导入某个函数,格式为:from somemole import somefunction
从某个模块中导入多个函数,格式为:from somemole import firstfunc, secondfunc, thirdfunc
将某个模块中的全部函数导入,格式为:from somemole import *