一、Python的基础语法
1.变量
1)变量的概念
在代码里,我们用变量来存放数据,利用“=”为变量赋值。
变量的命名技巧:前半部分能代表数据的意义,后半部分能代表数据的类型。
例如:nameStr=‘马云’;这样可以看出变量里面储存的是字符串类型的人名
2)给变量命名时需注意
- 变量命名不能以数字开头
- python是大小写敏感的
- 不用与python中的关键字相同
2.注释
python中的注释方法有两种:
1、#号注释
在需要注释的位置输入一个#号后,再输入注释,则注释部分在代码运行的时候会被忽略。
print('hello world') #打印hello world
2、''' '''三引号注释
两个三引号可以用来进行较长的注释,比如需要进行换行的注释。
'''此注释部分
运行时忽略
'''
3.Python中的数据类型
1)字符串
字符串是python中最常见的数据类型,可以用单引号或双引号来创建字符串。
案例一:用 +号来将两个字符串合并
str1='I am'
str2=' Jack'
print(str1+str2)
案例二:使用 %s来格式化字符串
str='我叫%s,我朋友是%s' % ('小明','小芳')
print(str)
2)数字
python中的数字类型包括整型、浮点型(有小数部分),另外还有负数
#数据类型:数字
age=50 #整型
money=99.9 #浮点型
3) 容器
容器可以将不同类型的数据放到一起来使用,包括列表、元组、集合、字典。
容器的四个操作:增加、删除、查询、修改
1、列表List
a.定义
用方括号[ ] 来定义,在方括号中添加元素,并用逗号分隔开即可。列表中的元素索引编号从0开始。
namelist=['小明','小红','小李','小王'] #定义一个列表
print(len(namelist)) #len函数可以返回列表中的元素数目
print(namelist[0]) #返回列表中索引为0的元素(即第一个元素)
b.列表的四个操作
- 增加 x.append
namelist.append('小峰') #往列表中增加元素
print(namelist)
- 删除 del
del namelist[1] #删除索引为1的元素(即第二个元素)
print(namelist)
- 查询
#使用下标索引来访问列表中的值,注意下标是从0开始的
name1=namelist[0]
print(name1)
- 修改
print(namelist) #打印修改前的列表
namelist[0]='孙悟空' #通过指定下标,修改元素
print(namelist) #打印修改后的列表
2、元组 Tuple
a.元组的定义
元组用小括号() 来定义,元组相当于不能修改的列表,只能用作查询,因此在实际应用中使用较少,一般用于长期观察而不用作出修改的数据。
tuple=('hello','world','you','me')
3、集合 Sets
a.定义
集合用 { }花括号来创建集合,它是一个没有重复元素 的容器。
companySets={'jd','alibaba','tencent'}
b.集合的四个操作
- 增加 x.update()
companySets.update(['sohu']) #注意新增的元素需要加中括号
- 删除 x.discard()
companys.discard('jd')
- 查找
aliBool='alibaba' in companySets
print(aliBool) #输出结果为True,表明元素在集合中
- 修改
# 先discard,后update
companySets.discard('jd')
companSets.update(['Amazon'])
4、字典 Dict
a.定义
字典是用于存储映射关系(即键值对 ,键一般用key来表示,值用value来表示)的容器;key和value用:相连接,整个字典由花括号{} 括住。
注意:字典中的Key是唯一的,而value是不可变的,可以由数字、字符串、元组、列表等来充当。
value中的内容可以是多个值,以逗号分隔
patientDict={
'001':'David',
'002':'Jack',
'003':'Josh',26,'male'
}
b.字典的四个操作
- 增加
patientDict['005']=['Mike',26]
- 删除
del patientDict['005']
- 查询
print( patientDict['005'])
- 修改
patientDict['005']=['Robert',27]
4)布尔类型
布尔类型只有两个值,True和False,应用在条件判断上面,条件发现了就是真(True),否则就是假(False)。
注意:由于python是大小写敏感的,因此True和False都需要遵循严格的大小写。
5)空值None
None是python中一个特殊的空值,它不能理解为0。在数据处理时,可以通过判断数据是不是none,而筛选出缺失值。
6)可变类型与不可变类型
1、不可变类型
字符串String、数字Num、元组Tuple
2、可变类型
列表List、集合Set、字典Dict
4.条件判断
1)单条件判断的格式
if 边界条件:
要做的事情1 #如果满足边界条件,运行事情1
else:
要做的事情2 #如果不满足边界条件,运行事情2
注:Python中的缩进是4个空格键,不要用tab代替。
2)条件判断的比较符号
1)值比较
>大于
<小于
>=大于等于
<=小于等于
!=不等于
==等于
2)逻辑比较
and 并且
or 或者
not 不是
实例:
2)多条件判断的格式
if 边界条件1:
要做的事情1
elif 边界条件2:
要做的事情2
else:
要做的事情3
实例:
5.循环
循环可以把容器中的每一个数据都按照特定的规则进行重复处理,常用于批量处理数据。循环有while循环和for循环,一般for循环更加常用。循环会在容器里面的数据全部被访问一遍后停止。
1)for循环的基本格式
for i in 容器:
要做的事情
实例:
2)continue、break的用法
continue用于跳出当前循环,break用于退出整个循环
实例:
6.函数
函数是可实现特定功能,可重复使用的代码块。比如print就是一个函数,其功能已经被定义好了。
1)自定义函数的格式
def 函数名称(参数1,参数2):
函数体
return 输出
实例:
2)当函数参数为不可变数据类型时:
对于参数是不可变的数据类型(字符串、数值、元组)时,传递的只是该数据类型的值(相当于复制一份)
实例:
3)当函数参数为可变数据类型时:
在这种情况下,调用函数的同时会同时改变原参数的值。
实例:
7.变量作用域
程序的变量不是在哪个位置都能访问的,访问权限取决于变量在哪个位置被赋值。python的作用域包括两种:全局作用域和局部作用域
1)全局作用域与局部作用域
定义在函数内部的变量拥有局部作用域, 定义在函数之外的变量拥有全局作用域。
局部作用域的变量只能在函数内被访问
实例:
7.模块
python中的模块包括内置模块和第三方包,包含不同的功能,需要使用的时候按需导入。
1)内置模块的使用方法
import 包
import 包 as 别名 #用as给包取个别名,方便使用
from 包名称 import 函数名 #从包中引入特定函数
2)第三方包的使用
Numpy、Pandas等属于第三方包,引用方法跟内置模块相同,但需要提前下载。
8.数据结构简介
集合(collections) 是python内建的一个集合模块,提供许多有用的数据结构。包括: 双向链表 queue:队列,栈 排序字典 OrderedDict :可构建一个有序的字典 计数器 Counter :可以方便地实现统计的功能
1)队列
队列这种数据结构常用于各类排队取号系统。新入队的位于队列尾部,称为入队;被叫到号的位于队列首部,称为出队
案例:
2)栈
栈这个数据结构,有点像木桶。
往其中加入元素称为入栈,新加入的元素总是位于最上面
当从栈中删除元素称为出栈,删除的元素也是位于最上方的元素。
总是位于最上方的元素称为栈顶元素。
栈在生活中的一个应用是浏览器页面的前进后退按钮,可以去到最近的一次浏览页面。
案例:
3)排序字典 OrderedDict
python中默认的字典中,key是无序的,而在数据分析的过程中有时候需要用到按插入顺序排列的Key值,这时候就需要用到排序字典。
排序字典按照key值的插入顺序进行排列。
案例:
4)计数器 Counter
计数器用于统计元素出现的次数。
案例: