想成为数据分析、机器学习、人工智能等领域的稀缺人才,就必须学会使用其相对应的编程语言,Python作为其主要的编程语言之一,在人工智能、大数据等领域有很大的需求和应用。以下是编程语言Python的基础知识的简单总结和介绍,希望对于同样是零基础学习编程语言Python的各位有所帮助。

Anaconda(包管理器和环境管理器)和Jupyter notebook(可以将数据分析的代码、图像和文档全部组织到一个web文档中)作为数据分析的标准环境,可以方便Python代码的编写和运行。按照下面两个链接可以方便你在电脑上安装好这两个环境:

初学 Python 者自学 Anaconda 的正确姿势是什么?​www.zhihu.com

jupyter notebook 可以做哪些事情?​www.zhihu.com

一、注释

注释方法1: #

#中国首富马云
nameStr='马云'
print(nameStr)
马云

注释方法2: ''' '''

'''
中国首富马云
你咋这么有钱呢?
'''
nameStr='马云'
print(nameStr)
马云

二、数据类型

Python有5种数据类型:字符串、数字、容器、布尔、空值(None)

字符串

#数据类型:字符串(string)
nameStr='马云'
moneyStr2='有钱'
print('用+将字符串合并:',nameStr+moneyStr2)用+将字符串合并: 马云有钱#字符串的截取
var1='Hello World!'
var2='Runoob'
print("var1[0]:",var1[0])
print("var2[1:5]:",var2[1:5])var1[0]: H
var2[1:5]: unooa="Hello"
b="Python"
print("a+b输出结果:",a+b)
print("a*2输出结果:",a*2)
print("a[1]输出结果:",a[1])a+b输出结果: HelloPython
a*2输出结果: HelloHello
a[1]输出结果: e#%s格式化字符串
str1='我叫%s,俺爹是%s'%('王思聪','王健林')
print(str1)
我叫王思聪,俺爹是王健林

数字 (Number)

Python3支持int,float,bool,complex (复数)

#数据类型:数值(Number)
#1)整型:马云年龄50岁
age=50
#2)浮点型:我用马云的余额宝今天赚了3.53元
money=3.53
print(age)50print(money)3.53#内置的type函数可以用来查询变量所指的对象类型
a,b,c,d=20,5.5,True,4+3j
print(type(a),type(b),type(c),type(d))<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>

容器可以存放多个数据

1 列表 List

2 元组 Tuple

3 集合 Sets

4 字典 Dictionary

列表

#定义列表:病人姓名
nameList=['猴子','马云','王健林','马化腾']
print(nameList)['猴子', '马云', '王健林', '马化腾']#列表长度
nameLen=len(nameList)
print('列表长度:病人数目:',nameLen)列表长度:病人数目: 4

列表的4个操作:增加、删除、查询、修改

#定义列表:病人姓名
nameList=['猴子','马云','王健林','马化腾']
#1)容器操作:增加
nameList.append('刘强东')
print('增加1个元素:',nameList)增加1个元素: ['猴子', '马云', '王健林', '马化腾', '刘强东']#2)容器操作:删除
del nameList[1]
print('删除第2个元素:',nameList)删除第2个元素: ['猴子', '王健林', '马化腾', '刘强东']#3)容器操作: 查询:使用下标索引来访问列表中的值,下标从0开始
name1=nameList[0]
print('查询列表的第1个元素:',name1)查询列表的第1个元素: 猴子#4)容器操作:修改:直接指定下标的值
print('修改之前第1个元素是:',nameList[0])
nameList[0]='孙悟空'
print('修改之后第1个元素是:',nameList[0])修改之前第1个元素是: 猴子
修改之后第1个元素是: 孙悟空

元组

#定义元组
gafataTuple=('腾讯','阿里巴巴','苹果','谷歌','Facebook','亚马逊')
#元组长度
gafataLen=len(gafataTuple)
print('元组长度:',gafataLen)
#查询元组:第1个元素(下标从0开始)
print('第1个元素的值:',gafataTuple[0])元组长度: 6
第1个元素的值: 腾讯

集合

'''
容器:集合(sets)是一个没有重复元素的容器
'''
#定义集合:6家公司的股票
gafataSets={'腾讯','阿里巴巴','苹果','谷歌','Facebook','亚马逊','亚马逊'}
print(gafataSets){'谷歌', '阿里巴巴', '腾讯', 'Facebook', '亚马逊', '苹果'}

集合的4个操作:增加、删除、查询、修改

#1)容器操作:增加
#定义一个空的集合
stockSets=set()
#使用update()增加元素
stockSets.update('腾讯','阿里巴巴','京东')
print(stockSets)
stockSets=set()
stockSets.update(['腾讯','阿里巴巴','京东'])
print(stockSets){'阿', '讯', '巴', '里', '东', '京', '腾'}
{'阿里巴巴', '腾讯', '京东'}#2)容器操作:删除
stockSets.discard('京东')
print(stockSets){'阿里巴巴', '腾讯'}#3)容器操作:查找
txBool='腾讯' in stockSets
print(txBool)True#4)容器操作:修改
#第1步:先删除
stockSets.discard('京东')
#第2步:再添加
stockSets.update(['京'])
print(stockSets){'阿里巴巴', '腾讯', '京'}

字典

'''
容器:字典(Dictionary)
'''
#定义字典:病人编号和姓名的映射关系
patientDic={'001':'猴子','002':'马云','003':'王健林','004':'马化腾'}
#定义字典:excel病人数据存储
patientDic2={'001':['猴子',29,'1型糖尿病','较差'],'002':['马云',34,'2型糖尿病','好转'],'003':['王健林',28,'1型糖尿病','显著好转'],'004':['马化腾',52,'2型糖尿病','好转']}
#1)容器操作:增加
patientDic2['005']=['王思聪',30,'1型糖尿病','好转']
print(patientDic2){'001': ['猴子', 29, '1型糖尿病', '较差'], '002': ['马云', 34, '2型糖尿病', '好转'], '003': ['王健林', 28, '1型糖尿病', '显著好转'], '004': ['马化腾', 52, '2型糖尿病', '好转'], '005': ['王思聪', 30, '1型糖尿病', '好转']}#2)容器操作:删除
del patientDic2['005']
print(patientDic2){'001': ['猴子', 29, '1型糖尿病', '较差'], '002': ['马云', 34, '2型糖尿病', '好转'], '003': ['王健林', 28, '1型糖尿病', '显著好转'], '004': ['马化腾', 52, '2型糖尿病', '好转']}#3)容器操作:查询,根据病人编号查询病人信息
valueList1=patientDic2['001']
print(valueList1)['猴子', 29, '1型糖尿病', '较差']#4)容器操作:修改
print('修改之前,病人信息:',patientDic2['001'])
patientDic2['001']=['猴子', 29, '1型糖尿病', '好转']
print('修改之后,病人信息:',patientDic2['001'])修改之前,病人信息: ['猴子', 29, '1型糖尿病', '较差']
修改之后,病人信息: ['猴子', 29, '1型糖尿病', '好转']

布尔→条件判断

空值→读入Python→None

三、条件判断

# 《摔跤吧,爸爸》豆瓣评分
scoreNum=9.1
if scoreNum>=8:print('我要去看这部电影')
else:print('电影太烂,不去看了')我要去看这部电影

#定义列表,病人姓名
nameList=['猴子','马云','王健林','马化腾']
if '猴子' not in nameList:print('列表中没有叫猴子的病人')
else:print('列表中有个叫猴子的病人')列表中有个叫猴子的病人age=int(input('请输入你家狗狗的年龄,按enter键获取计算结果:'))
if age < 0:print('狗狗年龄不能小于0')
elif age==1:print('相当于14岁的人')
elif age==2:print('相当于22岁的人')
else:human=22+(age-2)*5print('对应人类年龄:',human)请输入你家狗狗的年龄,按enter键获取计算结果:5
对应人类年龄: 37

四、循环 (批量处理数据)

#重复性工作
print('吃第1次饭')
print('吃第2次饭')
print('吃第3次饭')吃第1次饭
吃第2次饭
吃第3次饭#容器:1天中吃第几次饭
eatList=['吃第1次饭','吃第2次饭','吃第3次饭']
#循环
for i in eatList: print(i)吃第1次饭
吃第2次饭
吃第3次饭'''
定义字典:6家公司(GAFATA)的股票
key是公司名称,value是股票代码
'''
gafataDict={'腾讯':'HK:00700','阿里巴巴':'baba','苹果':'Apple','谷歌':':GOOGLE','Facebook':'fb','亚马逊':'amzn'}
#将股票代码全部大写
for key,value in gafataDict.items():#对股票代码转换成大写newValue=value.upper()#将转换后新的股票代码赋值给对应的keygafataDict[key]=newValue
print(gafataDict){'腾讯': 'HK:00700', '阿里巴巴': 'BABA', '苹果': 'APPLE', '谷歌': ':GOOGLE', 'Facebook': 'FB', '亚马逊': 'AMZN'}

continue用于跳出当前循环

for key,value in gafataDict.items():if(key=='苹果'):continueprint('当前公司:',key,',当前股票代码:',value)当前公司: 腾讯 ,当前股票代码: HK:00700
当前公司: 阿里巴巴 ,当前股票代码: BABA
当前公司: 谷歌 ,当前股票代码: :GOOGLE
当前公司: Facebook ,当前股票代码: FB
当前公司: 亚马逊 ,当前股票代码: AMZN

break用于退出整个循环

#查找苹果公司的股票代码
number=0
for key,value in gafataDict.items():number=number+1if(key=='苹果'):print('查找',key,'公司的股票代码是',value)breakprint('当前公司:',key,'当前股票代码',value)当前公司: 腾讯 当前股票代码 HK:00700
当前公司: 阿里巴巴 当前股票代码 BABA
查找 苹果 公司的股票代码是 APPLE

五、函数

自定义函数

'''
定义函数
函数功能:两个数相加
输入:x,y是要相加的两个数
输出:两个数相加的和
'''
def add(x,y):z=x+yreturn z#使用函数
a=1
b=2
c=add(a,b)
print('1和2相加等于',c)1和2相加等于 3#使用函数
a=1
b=2
c=add(x=a,y=b)
print('1和2相加等于',c)1和2相加等于 3#定义函数:改变数据的值
def changeInt(a):a=a+1
'''
使用函数
参数是不可变数据类型(字符串,元组,数值):
传递的只是该数据类型的值(相当于复制一份)
'''
b=1
print('调用函数之前b的值=',b)
changeInt(a=b)
print('调用函数之后b的值=',b)调用函数之前b的值= 1
调用函数之后b的值= 1#定义函数:改变列表的值
def changeList(inputList):inputList.append('奶茶妹妹')
'''
使用函数
参数是可变数据类型:
传递的是该变量的引用地址
'''
nameList=['马云','刘强东']
print('调用函数之前的值:',nameList)
changeList(inputList=nameList)
print('调用函数之后的值:',nameList)调用函数之前的值: ['马云', '刘强东']
调用函数之后的值: ['马云', '刘强东', '奶茶妹妹']

变量作用域

#变量作用域
def test():aStr='别理会他人闲言闲语,今日随他们,让他们说吧,你的机会将会到来,再来证明自己。'
#在函数外面,访问函数内的局部变量aStr
print(aStr)
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-16-69d29bc999da> in <module>3     aStr='别理会他人闲言闲语,今日随他们,让他们说吧,你的机会将会到来,再来证明自己。'4 #在函数外面,访问函数内的局部变量aStr
----> 5 print(aStr)NameError: name 'aStr' is not defined

六、模块

模块是组织程序代码的方式,不同功能的函数分门别类放入不同的模块中,.py文件就是一个模块,里面有函数和变量定义的文件。

Python内置模块

'''
Python内置模块
'''
#第1步:引入模块
import sys
#第2步:使用模块中的函数,属性
pathList=sys.path
print('Python 路径为:n',pathList)Python 路径为:['C:UsersAdministrator', 'C:ProgramDataAnaconda3envspy3python37.zip', 'C:ProgramDataAnaconda3envspy3DLLs', 'C:ProgramDataAnaconda3envspy3lib', 'C:ProgramDataAnaconda3envspy3', '', 'C:ProgramDataAnaconda3envspy3libsite-packages', 'C:ProgramDataAnaconda3envspy3libsite-packagesIPythonextensions', 'C:UsersAdministrator.ipython']

使用第三方包

'''
使用第三方模块:pandas
pandas是数据分析工具
'''
#引入模块
import pandas as pd
#文件路径(在本地运行时替换成你自己的实际数据路径)
fileNameStr=r'F:光盘资料数据分析病历数据.xlsx'
#导入excel文件
xl=pd.ExcelFile(fileNameStr)
patientDf=xl.parse('Sheet1')
print(patientDf)病人编号   姓名  年龄  糖尿病类型    病情
0     1   猴子  29  1型糖尿病    较差
1     2   马云  34  2型糖尿病    好转
2     3  王健林  28  1型糖尿病  显著好转
3     4  马化腾  52  2型糖尿病    较差

七、数据结构

数据结构

队列

from collections import deque
#定义队列:排队吃饭人的编号
queue=deque(['001','002','003','004','005'])
#入队,在队列尾部插入元素
queue.append('006')
print(queue)deque(['001', '002', '003', '004', '005', '006'])#出队:在队列头部删除元素
queue.popleft()'001'print(queue)deque(['002', '003', '004', '005', '006'])#出队:在队列头部删除元素
queue.popleft()'002'print(queue)deque(['003', '004', '005', '006'])

入队
出队

from collections import deque
#定义栈:浏览我个人知乎主页的顺序
stack=deque(['知乎动态','知乎回答','知乎文章'])
#入栈:在栈顶加入元素
stack.appendleft('知乎专栏')
print(stack)deque(['知乎专栏', '知乎动态', '知乎回答', '知乎文章'])stack.pop()'知乎文章'print(stack)deque(['知乎专栏', '知乎动态', '知乎回答'])stack.popleft()'知乎专栏'print(stack)deque(['知乎动态', '知乎回答'])


队列和栈的区别:队列是先进先出,有出口和入口,先进去可以先出来。栈就像一个箱子,后放上去的,可以先出来。

排序字典

Python 默认的字典 (key无序)

#6家公司名称及股票代码
gafataDict={'腾讯':'HK:00700','阿里巴巴':'baba','苹果':'Apple','谷歌':':GOOGLE','Facebook':'fb','亚马逊':'amzn'}
gafataDict{'腾讯': 'HK:00700','阿里巴巴': 'baba','苹果': 'Apple','谷歌': ':GOOGLE','Facebook': 'fb','亚马逊': 'amzn'}

Collections 中排序字典 (key有序)

from collections import OrderedDict
'''
OrderedDict:按照插入key的顺序,对字典排序
'''
#定义有序字典
gafataDict=OrderedDict({'腾讯':'HK:00700','阿里巴巴':'baba','苹果':'Apple','谷歌':':GOOGLE','Facebook':'fb','亚马逊':'amzn'})
gafataDictOrderedDict([('腾讯', 'HK:00700'),('阿里巴巴', 'baba'),('苹果', 'Apple'),('谷歌', ':GOOGLE'),('Facebook', 'fb'),('亚马逊', 'amzn')])

计数器 (具有统计功能)

from collections import Counter
cDict=Counter('有一种鸟是永远也关不住的,因为他们的羽毛太光亮了。羽毛太光亮了。')
cDictCounter({'有': 1,'一': 1,'种': 1,'鸟': 1,'是': 1,'永': 1,'远': 1,'也': 1,'关': 1,'不': 1,'住': 1,'的': 2,',': 1,'因': 1,'为': 1,'他': 1,'们': 1,'羽': 2,'毛': 2,'太': 2,'光': 2,'亮': 2,'了': 2,'。': 2})#出现次数最多的2个词
cDict.most_common(2)[('的', 2), ('羽', 2)]

如有不明白的地方,可以参考下面的链接进行学习的补充和拓展:

Python3 教程 | 菜鸟教程​www.runoob.com

亲,如果你认为本篇文章对你有用,请点赞哦,您的点赞亦是我前进的动力。

python猴子吃桃子的问题_Python基础知识初入门相关推荐

  1. 下列哪个不是python元组的定义方式_Python基础知识笔试

    Python基础知识笔试 单选题(2.5分*20题) 1. 下列哪个表达式在Python中是非法的? B A. x = y = z = 1 B. x = (y = z + 1) C. x, y = y ...

  2. python中prompt的意思_Python 基础知识入门

    一.学习python数据分析前的准备工作:下载Anaconda anaconda是一个包管理器和环境管理器,其内置的jupyter notebook 功能非常强大,可以在jupyter noteboo ...

  3. python 类 对象 知乎_python基础知识:类,对象,模块三者的区别

    长话短说,我线代作业还没有写呢. 有点编程语言知识的朋友应该知道,编程语言有"面向对象"和"面向过程"两种. 解释一下:面向对象技术是目前流行的系统设计开发技术 ...

  4. python软件安装及设置_Python 基础知识及安装配置

    前言 1.Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. 2.Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他 ...

  5. python 语法错误 和异常_Python基础知识:新手学Python时常见的语法错误和异常

    大家好,今天我们简单介绍下在学习Python时常见的一些错误和异常. 记得刚接触Python的时候,一条简单的语句在执行的时候却总能遇到报错.然后各种艰难的复查发现可能是循环语句缺少冒号啊.用了中文的 ...

  6. python stringstrip方法详解_Python 基础知识全篇-字符串(Strings)

    字符串是字符的集合. 单引号和双引号 字符串可以包含在单引号或双引号中. my_string = "This is a double-quoted string." my_stri ...

  7. 列举python中常用的数据类型_Python基础知识 变量和简单数据类型

    在本章节中,将介绍Python程序中会使用到的各种数据类型,以及如何在程序中使用变量来表示这些数据.其中用到的一些例子均来自<Python编程从入门到实践 第2版>. 一.变量 1. 变量 ...

  8. python语言三大基本控制结构_Python基础知识之4——三大控制结构

    原博文 2018-12-02 21:38 − 控制结构就是控制程序执行顺序的结构. Python 有三大控制结构,分别是顺序结构.分支结构(选择结构)以及循环结构.任何一个项目或者算法都可以使用这三种 ...

  9. python自定义高阶函数_python基础知识5(集合,高级特性,高阶函数)

    ** 删除列表中重复的元素:l = [1,2,3,1,2,3] - 强制转化列表为集合类型:list(set(l)) - 将列表转化为字典,拿出里面的所有key值: dict.fromkeys(l). ...

最新文章

  1. 勒索软件层出不穷,Veeam “3-2-1-1-0”助力构建数据防护
  2. ETL工具大全,你了解多少
  3. 人生第一次手术:0817
  4. jQuery修改数组$.map
  5. Jquery 温习,温故而知新,可以为师矣
  6. 到底哪种类型的错误信息会阻止business transaction的保存
  7. OpenCV copyMakeBorder()来拓展边界
  8. 智能对联模型太难完成?华为云ModelArts助你实现!手把手教学
  9. 【英语学习】【Daily English】U02 Daily Routine L01 Sadly, my schedule is very tight.
  10. Silverlight 游戏开发小技巧:实现街霸4的选人界面
  11. 协程分析之 context 上下文切换
  12. Interval GCD
  13. 编辑器安卓手机版_手机上最专业的视频编辑器,内购版!
  14. 【Axure原型分享】自动编号的中继器表格
  15. 离散数学知识点总结(4):合取范式,析取范式
  16. 拳皇世界服务器维护,拳皇世界3月1日更新维护公告 多组服务器开启数据互通[图]...
  17. 科技部:中国131家独角兽企业 名单文字版
  18. 优雅地使用 C++ 制作表格:tabulate
  19. Kubernetes 管理员认证(CKA)考试笔记(一)
  20. openwrt 遍译php_【教程笔记】用OpenWRT单独编译ipk插件

热门文章

  1. Verizon发布2010年数据破坏调查报告
  2. Cisco 3550配置DHCP的实际经验
  3. 阿里云esc云服务器IP不能访问的解决办法
  4. [MyBatis]DAO层只写接口,不用写实现类
  5. 内存或磁盘空间不足,Microsoft Office Excel 无法再次打开或保存任何文档。 [问题点数:20分,结帖人wenyang2004]...
  6. Oracle Sql 语法收集.
  7. Struts 中的自定义异常
  8. docker compose 停止_Docker-Compose 基础与实战,看这一篇就够啦
  9. mysql中in的用法
  10. java人脸识别_自从加了PC人脸识别登录功能,网站立马显得高大上