学习Python的四个要素有数据,函数,条件循环和模块
一、数据
数据是Python编程过程中的原材料,通过导入数据,对数据进行操作,实现预先设想的功能。数据共有5种类型,分别是字符串、数字、容器、布尔值和空值。
字符串String(不可变)
字符串用''或“”括起来,用/n来表示转义,使用r可以让/n不转义。
字符串的索引和截取是不一样的,索引的时候从前往后从0开始,从后往前从-1开始。截取的时候从前往后从1开始,从后往前从-1开始。
数字(不可变)
Python3 支持int、float、bool、complex(复数)。
内置的type()可以用来查询变量所指的对象类型。
运算
加减乘除比较基本,其中/得到一个浮点,//得到整数。乘方是**,%表示取余。
布尔
布尔就是判定是或否的类型,分别是True和False,在Python中,True和False分别有值1和0,可以和数字相加。
列表list
列表是Python中使用非常频繁的一种数据类型,表中的元素可以不相同,支持数字、字符串甚至可以包含列表(所谓嵌套)。
列表用[]表示
#建立列表
namelist=['001','002','003']
#增加元素
namelist.append('004')
#删除元素(删除第3个)
del namelist[2]
#修改元素
namelist[0]='008'
元祖tuple(不可变)
元祖里的元素不可改变,用小括号。
gafataTuple=('腾讯','阿里巴巴')
注意构造包含 0 或 1 个元素的元组的特殊语法规则。
tup1=()
tup2=(20,)
集合set(可变)
使用花括号{},集合里面不包含重复元素,可以使用大括号{ }或者set()函数创建集合,注意:创建一个空集合必须用set()而不是{ },因为{ }是用来创建一个空字典
stockset=set()
#增加
stockset.update(['京东','腾讯','阿里巴巴']
#删除
stockset.discard('京东')
#查找
txbool='腾讯' in stockset
字典dictionary(不可变)
列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
键(key)必须使用不可变类型。
在同一个字典中,键(key)必须是唯一的。
patientDic={'0001':'猴子','0002':'马云','0003':'王健林'}
#定义字典:excel病人数据存储
patientDic2={'001':['猴子',29,'1型糖尿病','较差'],'002':['马云',34,'2型糖尿病','好转'],'003':['王健林',28,'1型糖尿病','显著好转'],'004':['马化腾',52,'2型糖尿病','好转']}
#查找
valuelist1=patiendDic['0001']
print(valurlist1)
二、条件判断
Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。
语法
if 条件:输出
elif 条件:输出
else:输出
if score>=9:print('高于九分')
else:print('低于九分')
多个条件判断
#狗相对人的年龄
age=int(input('enter the age of your dog:'))
if age<0:print('cannot younger than 0')
elif age==1:print('like 1 years old human')
elif age==2:print('like 14 years old human')
elif age==2:print('like 22 years old human')
else:human=22+(age-2)*5print('对应年龄',human)
常用的运算符
三、循环处理
for语句对容器里的每一个数据处理
格式
for i in 容器
print(i)
continue可以用于跳出循环
gafataDict={'谷歌':'Goog','亚马逊':'aMZN','Facebook':'FB','苹果':'aapl','阿里巴巴':'BABA','腾讯':'0700'}
for key,value in gafataDictif(key=='苹果'):continueprint('当前公司',key,'股票代码',value)
break可以用于停止循环
sites = ["Baidu", "Google","Runoob","Taobao"]
for site in sites:if site == "Runoob":print("菜鸟教程!")breakprint("循环数据 " + site)
else:print("没有循环数据!")
print("完成循环!")
四、函数
自定义函数
def name(<参数1>,<参数2>,...)定义return
例子
def add(x,y): #一定要加冒号Z=x+yreturn Z
a=1
b=2
c=add(a,b)
print(c)
变量作用域
在函数内定义的变量不能在函数外被识别
例子
def test():aStr='别理会他人闲言闲语,今日随他们,让他们说吧,你的机会将会到来,再来证明自己。'#在函数外面,访问函数内的局部变量aStr
print(aStr)
#此代码会报错,因为aStr是定义在函数内的,不能被外部识别
五、模块
在解释器里定义的函数和变量在退出后就会消失,所以我们可以将这些定义好的变量和函数储存为后缀为.py的文件,方便以后直接使用,这这些文件叫做模块。
使用Python内置模块
import sys
pathlist=sys.path
print(pathlist)
第三方模块
数据分析中常用的pandas,numpy
import pandas as pd
filenamestr='文件路径'
xl=pd.ExcelFile(filenamestr)
patientDf=xl.parse('Sheet1')
print(patientDf)
六、数据结构
Python里还有许多不同的数据结构,如队queue、栈、排序字典以及计数器
队queue:元素从最后一位进入,从第一位被移除。
from collections import queue
queue=deque(['001','002','003','004','005'])
#插入元素
queue.append('006')
#退出元素
queue.popledt()
栈stack
stack=deque(['知乎动态','知乎回答','知乎文章'])
stack.append('知乎专栏')
#从顶部移除
stack.pop()
排序字典
from collections import OrderedDict
dict=OrderedDict({'谷歌':'GOOG','亚马逊':'AMZN','Facebook':'FB','苹果':'AAPL','阿里巴巴':'BABA','腾讯':'0700'})
dict
计数器counter
from collections import Counter
cDict=Counter('有一种鸟是永远也关不住的,因为他们的羽毛太光亮了。羽毛太光亮')
#计算’亮‘出现的次数
cDict['亮']
#计算出现最多次的字符
cDict.most_common(1)