学习Python这么长时间了,今天感觉应该对所学的东西进行梳理与总结了。
Python所能干的事很多,之前也学习和了解过其它编程语言,比如C、VB、PHP、Java,最早的时候还是在大学里学的C和VB,那时候上课也就是学的理论知识比较多,上机练习的机会比较少,所以也没怎么学起来。毕业工作后,第一次接触了PHP,因为公司所做的项目都是用PHP开发的,用了两年PHP,感觉相对来说挺好学的,掌握起来比较快。做开发期间也接触了不少测试和运维,偶然的机会了解到了Python,Python属于解释型的高级语言,能够做爬虫、自动化测试、自动化运维、大数据、人工智能等,容易上手又能干那么多事,所以来了兴趣,就开始自学起了Python。
个人学的主要倾向于自动化测试和自动化运维及大数据,听起来挺高端的,不过,我觉得学的这些确实很有用又很好玩。根据个人所学的东西,我都一 一的梳理出来,与各位学友分享,共同学习,共同进步。梳理的大体思路先从基础开始,然后再梳理高级的东西,接着再梳理Python所能干的,比如自动化测试、自动化运维和大数据方向的知识,当然最重要的是结合所做的项目经验都一 一梳理出来与各位学友分享。本文主要先梳理基础知识,希望能对各位学友有所帮助。多了不说,那就开始吧。
一、基础语法
基础语法主要介绍下标识符、保留关键字、单行注释和多行注释和简单的输出。
1、标识符定义规范:
1)第一个字符必须是字母或下划线_
2)标识符的其它部分由字母、数字或下划线组成
3)标识符对大小写敏感
2、保留字
保留字即关键字,Python包含的保留字如下:
‘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’
保留字可以通过标准库提供的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’]
3、注释
单行注释以#开头,实例如下:
第一个注释
print (“Hello, World!”)
多行注释可以用多个 # 号,或 ‘’’ 和 “”",实例如下:
第一个注释
第二个注释
‘’’
第三注释
第四注释
‘’’
4、打印输出
输出函数print(),实例如下:
print (“Hello, World!”)
二、数据类型
Python的数据类型主要包含了六种标准的数据类型:
1)Number:数字
数字类型包含整数、浮点数、复数和布尔类型
int:例如1
float:例如1.2
complex:例如1.2j+2i
bool:例如true
2)String:字符串
字符串使用单引号和双引号完全相同;
字符串截取语法格式为:变量[头下标:尾下标];
字符串应用实例如下:
str='HelloWorld'
print(str) # 输出字符串
print(str[0:-1]) # 输出第一个到倒数第二个的所有字符
print(str[0]) # 输出字符串第一个字符
print(str[2:5]) # 输出从第三个开始到第五个的字符
print(str[2:]) # 输出从第三个开始的后的所有字符
print(str * 2) # 输出字符串两次
print(str + '你好') # 连接字符串
print('------------------------------')
print('hello\nrunoob') # 使用反斜杠(\)+n转义特殊字符
print(r'hello\nrunoob') # 在字符串前面添加一个 r,表示原始字符串,不会发生转义
3)List:列表
应用实例如下:
list = [ 'abcd', 786 , 2.23, 'helloword', 70.2 ]
tinylist = [123, 'runoob']
print (list) # 输出完整列表
print (list[0]) # 输出列表第一个元素
print (list[1:3]) # 从第二个开始输出到第三个元素
print (list[2:]) # 输出从第三个元素开始的所有元素
print (tinylist * 2) # 输出两次列表
print (list + tinylist) # 连接列表
4)Tuple:元组
应用实例如下:
tuple = ( ‘abcd’, 786 , 2.23, ‘helloword’, 70.2 )
tinytuple = (123, ‘runoob’)
print (tuple) # 输出完整元组
print (tuple[0]) # 输出元组的第一个元素
print (tuple[1:3]) # 输出从第二个元素开始到第三个元素
print (tuple[2:]) # 输出从第三个元素开始的所有元素
print (tinytuple * 2) # 输出两次元组
print (tuple + tinytuple) # 连接元组
5)Sets:集合
集合(set)是一个无序不重复元素的序列。应用实例如下:
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(student) # 输出集合,重复的元素被自动去掉
# 成员测试
if('Rose' in student) :
print('Rose 在集合中')
else :
print('Rose 不在集合中')
# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')
print(a)
print(a - b) # a和b的差集
print(a | b) # a和b的并集
print(a & b) # a和b的交集
print(a ^ b) # a和b中不同时存在的元素
6)Dictionary:字典
字典(dictionary)是Python中另一个非常有用的内置数据类型。应用实例如下:
dict = {}
dict['one'] = "1 - 菜鸟教程"
dict[2] = "2 - 菜鸟工具"
tinydict = {'name': 'helloword','code':1, 'site': 'www.helloword.com'}
print (dict['one']) # 输出键为 'one' 的值
print (dict[2]) # 输出键为 2 的值
print (tinydict) # 输出完整的字典
print (tinydict.keys()) # 输出所有键
print (tinydict.values()) # 输出所有值
三、运算符
Python支持的运算符如下:
1)算术运算符
2)比较(关系)运算符
3)赋值运算符
4)逻辑运算符
5)位运算符
6)成员运算符
7)身份运算符
8)运算符优先级
四、条件控制
1、if语句
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else: statement_block_3
实例如下:
var1 = 100
if var1:
print ("1 - if 表达式条件为 true")
print (var1)
var2 = 0
if var2:
print ("2 - if 表达式条件为 true")
print (var2)print ("Good bye!")
2、if嵌套
if 表达式1:
语句
if 表达式2:
语句
elif 表达式3:
语句
else:
语句elif 表达式4:
语句else:
语句
实例如下:
num=int(input("输入一个数字:"))
if num%2==0:
if num%3==0:
print ("你输入的数字可以整除 2 和 3")
else:
print ("你输入的数字可以整除 2,但不能整除 3")
else:
if num%3==0:
print ("你输入的数字可以整除 3,但不能整除 2")
else:
print ("你输入的数字不能整除 2 和 3")
五、循环语句
1、while循环
while 判断条件:
语句
实例如下:
n = 100
sum = 0
counter = 1
while counter <= n:
sum = sum + counter
counter += 1
print("1 到 %d 之和为: %d" % (n,sum))
2、for语句
for <variable> in <sequence>:
<statements>
else:
<statements>
实例如下:
sites = ["Baidu", "Google","Runoob","Taobao"]
for site in sites:
if site == "Runoob":
print("菜鸟教程!")
break
print("循环数据 " + site)
else:
print("没有循环数据!")
print("完成循环!")
3、break和continue
break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。 实例如下:
for letter in 'Runoob': # 第一个实例
if letter == 'b':
break
print ('当前字母为 :', letter)
var = 10 # 第二个实例
while var > 0:
print ('当期变量值为 :', var)
var = var -1
if var == 5:
break
print ("Good bye!")