注意:需要先安装好Python环境再看本文操作,如果尚未安装可以依照以下链接安装:想飞的猪:手把手教您搭建Python数据分析环境zhuanlan.zhihu.com
以下练习中你可你能需要用到工具(可以先存为书签,以后会经常用到):
1,google搜索,搜索规则“用的编程语言(如Python3.6)+运行终端(我们是anaconda)+报错的东西”
2,这个网址是专业的技术提问回答平台,可以按照上述搜索规则搜索您的问题:Stack Overflow - Where Developers Learn, Share, & Build Careersstackoverflow.com
3,如果有不懂的代码,您可复制到这个网址,会以图形的形式返回代码运行过程,您可以逐条代买运行,根据图形理解代码:Visualize Python, Java, JavaScript, C, C++, Ruby code executionwww.pythontutor.com
4,菜鸟教程,如果想深入了解其中某个知识点,可以参考这个教程(注意,不用全部了解,只需要知道基础知识就行,到输出输入这一章,以后知识在实操中再补):Python3 教程 | 菜鸟教程www.runoob.com
Python基础知识
本文的所有代码,请在jupyternotebook中练习。
变量
顾名思义,可以按照我们需要去设定,设定好后有些变量是不能改变的,然而有些却能。
变量通常命名方式:变量名 = 赋值
数据类型:
根据赋值的不同,变量可以分为不同的数据类型:
数值(number),字符串(string),列表(list),元祖,字典(dictionary),布尔,空值(none)
变量就像料理时的食材(原材料),通过不同的烹饪方法(数据处理代码)可以得到不同的菜肴(程序输出结果)
尝试输入以下代码练习,如果自己输入后出现报错,可以复制下面代码对比查错(当你给变量命名时,只有系统知道,如果你想直观的看到需要”print( )“出来):num1 = 289
num2 = 23.41
name = "watson"
namelist1 = ["Watson","Jack","Wendy"]
namelist2 = ("Watson","Jack","Wendy")
worddict = {"new":'新的',"old":'老的'}
print("整数:",num1)
print("浮点数:",num2)
print("字符串:",name)
print("列表:",namelist1)
print("集合:",namelist2)
print("字典:",worddict)
#布尔值
nianling1=18
if nianling1==18:
print('正确')
else:
print('错误')
#空值实例
nianling2=None
if nianling2==None:
print('年龄是空值')
else:
print('年龄不是空值')
期初我们只要命名一个变量,在整个程序中我们都能运用它。在我们运用过程中也可根据我们需要改变变量,这里需要注意有些变量是不可以改变的。之后我们会提别提出。
条件判断——if
条件判断即为满足摸个条件,按照这个条件下的代码运行。下面是书写规范:if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
如果 "condition_1" 为 True 将执行 "statement_block_1" 块语句
如果 "condition_1" 为False,将判断 "condition_2"
如果"condition_2" 为 True 将执行 "statement_block_2" 块语句
如果 "condition_2" 为False,将执行"statement_block_3"块语句
我们来做一个实例,计算狗狗相对于人的年龄(您可先按实际例子手打代码,只要输出正确结果就行,不懂的代码段以后自然会理解):age = int(input("请输入你家狗狗的年龄: "))
print("")
if age < 0:
print("你是在逗我吧!")
elif age == 1:
print("相当于 14 岁的人。")
elif age == 2:
print("相当于 22 岁的人。")
elif age > 2:
human = 22 + (age -2)*5
print("对应人类年龄: ", human)
运行后输入年龄,再按enter得出以下结果
循环---批量处理事情
当我们需要重复进行某一项操作,如果每次都写代码会很浪费时间,这时我们可以用循环语句帮我们节省劳动力。
for循环,也叫次数循环,按照规定次数进行循环。import random
for a in range(0,9):
numb = random.random()
print(numb)
我们可以做一个倒计时小程序:#倒数计时
import time
second = 11
for a in range(0,10):
second = second - 1
print(second)
time.sleep(1)
while循环,也叫条件循环,知道不满足条件才停止循环,依照上一个倒计时,我们可以改进,当倒计时到5秒时,我们停止计时,下面代码可以“翻译”成为白话:numb大于5时一直循环,知道numb小于等于5时,停止。numb = 11
while numb >5:
numb = numb - 1
print(numb)
time.sleep(1)
循环中两个实用语句continue(跳出循环)和break(终止循环)name={'腾讯':'HK:00700','阿里巴巴':'baba','苹果':'Apple','谷歌'
:'GOOGLE','Facebook':'fb','亚马逊':'amzn'}
print("continue在苹果时跳过了,输出没有苹果")
print("")
for key,value in name.items():
if(key=='苹果'):
continue #这里表示当运行到“苹果时跳过
print('当前公司:',key,',当前代码:',value)
print('')
print('')
print("break在运行到苹果时就停止运行,如例子中做把他做成查找功能")
print("")
for key,value in name.items():
if(key=='苹果'):
print('查找',key,'公司代码',value)
break #这里表示当运行到”苹果“时停止
print('当前公司',key,'当前公司代码',value)
函数
对变量需要进行一系列的操作,我们可以把这一系列操作定义为一个函数,方便我们处理其他变量时,直接调用函数就行,可以节省写代码时间,同时减少代码量。
函数定义格式:def 函数名(参数):
函数主体
下面我们定义一个add函数和plus函数def add(x,y):
z=x+y
return z
def plus(x,y,z):
m=3*x+5*y+z
return m
#使用函数
answer=plus(x=1,y=5,z=3)
print(answer)
answer2=plus(x=10,y=5,z=9)
print(answer2)
模块
模块:集合一些特定函数,以及变量,拥有特定功能,方便我们需要处理特殊场景时调用,节省重复写代码时间。你可以自己编写一组代码,生成模块共享给他人使用,在jupyternotebook中可以另存为"Python(.py)",别人保存到anaconda软件里的根目录就可以引用。模块用内嵌模块,可以直接引用,要有外部包模块,安装完包后可以引用。
Package(包)是管理模块的集合,有时候我们需要很多模块共同来完成,这时我们可以把这些模块集合在一起,做成Package。如常见的数据分析包pandas。
可以把Python比作手机,包就相当于app,如果你想计算东西可以下载计算器app,如果想玩游戏,可以下载游戏app,Python的包非常丰富,基本都能找到适合你处理场景的包。
使用模块有两种方式:
1,import 模块
2,from 包 import 模块/import 包 as 模块("from 模块 import *"表示引用模块中的全部内容)
我们可以做一个猜数字有戏,练习模块以及复习以前知识:import random
secret = random.randint(1,99)
guess = 0
tries = 0
print('你好! 我是神秘先生!我有个秘密')
print('我有幸运的数字,它在1到99之间,给您6次机会猜,猜中会有好运哦!.')
while guess != secret and tries < 6:
guess = int(input('输入您猜的数字?'))
if guess < secret:
print('太低了,您可以再猜高点!')
elif guess>secret:
print('太高了,您可以猜低点!')
tries = tries + 1
if guess == secret:
print('您猜到我的幸运数字,您将会有好运气!')
else:
print('您的机会已经用完,祝您好运!')
print('幸运数字是:',secret)
基础知识就到这,现在你可以直接实操其他案例(照着别人教程逐字打代码补全其他知识)
Good luck!