![a5696a28c4a931e0612ed521de55f5ab.png](https://i-blog.csdnimg.cn/blog_migrate/9285cfe8c0041c4d9141ee19f9207e2d.jpeg)
笔记内容来源:拉勾教育数据分析实战训练营
终于开始python阶段了,python的老师三丰老师真的对小白超友好,讲解思路非常清晰。因为我之前也看过一些别的老师讲python,但总会听得云里雾里,这次很庆幸可以遇到一位好老师。
我会陆续总结分享一些对小白超友好的笔记,本篇是part1,python的基础部分,后面还会持续更新的~~~~~~~
说明:理论部分是提炼的老师所讲,加上我自己看书添加的一些解释,代码部分有些会融合老师和我自己练习的写法,一起分享给大家
再啰嗦两句,关于拉勾教育数据分析实战训练营:
目前为止已经学习了近4个月的课程,已经学完Excel、数据分析思维、MySQL、Tableau、quickBI、神策、hive、统计学,每一阶段每一模块的知识都是在线自主学习,完成作业后解锁新课程,直播课会根据全体学员进度,收集疑问然后进行在线直播内容回顾和答疑以及作业讲解。每位讲师都很优秀,都有自己的授课特色所在,内容都是很干货的录好的内容,有些内容导师还会重新录制,不断迭代让学员达到更好的学习体验。作业批改、答疑导师西蒙(我接触最多的,经常麻烦他帮我解决问题)和班主任团子比较nice,认真负责,他们分别负责技术答疑和服务类的问题,平时有问题可以在微信群里问,可以单独聊也可以群里问,他们全天非工作日也会答疑。
在这里真心推荐下拉勾教育数据分析实战训练营:
1、课程体系最全面:课程内容有分析方法论、分析方法、Excel、Mysql、Tableau、Quick BI、神策平台、Hive、统计学、Python、挖掘算法、Spss等,是目前我看到的最全面的。
2、课程体系把握行业人才需求痛点:拉勾主营业务是招聘,最明白企业的人才需求,基于此设计的课程体系是比较贴近实际需求的。通过5个月10个阶段,从现状统计到预测分析、从业务数据到编程工具处理复杂业务逻辑数据,实现用数据驱动业务辅助决策,提升公司业绩。
3、课程学习模式灵活:大部分授课采用录播方式,学习完成后还有直播答疑。比直播打卡更容易安排自己的时间。
4、课程学习过程和结果有保障:学习成果作业检测+实时答疑+班主任督导,每个阶段每个模块的知识学完的作业可以锻炼实操。
5、项目实战内容丰富:也是我最看好的一点,涵盖了在线教育、电商等多个领域项目实战。
6、就业辅导+优秀内推:拉勾平台是互联网行业招聘大本营,这是天然优势。
~~~~~~~~~~~~~~~~~以下是笔记~~~~~~~~~~~~~~~~
第一模块:python基础
一、 python基础认知
1 基础认知
数据分析领域的两大编程语言Python和R语言
越来越多的Python分析工具库,从数据采集、清洗、处理、分析、报表、数据挖掘、机器学习,Python都提供了成熟的解决方案,一些常用库,比如像数据分析三剑客(Numpy/Pandas/Matpolib)等等,已经成为各大互联网企业的数据分析师们日常必备工具。
PyCharm是一种Python IDE(Integrated Development Environment ),带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。
2 命令提示符操作
1、搜索栏输入cmd,回车进入命令提示符
2、输入Python回车进入交互环境
3、退出exit()
4、pycham编辑源代码保存为hello.py,cd切换到源代码所在目录
5、执行命令Python hello.py
其他操作:
1、换行:shift+enter
2、显示文件目录:dir
![002a99b9162beaa78ff3c92a193cc369.png](https://i-blog.csdnimg.cn/blog_migrate/0179dd8fccd7041d7c7dbfc5cf4cf589.jpeg)
二、python核心语法
1 变量
![16d1186e96abe96d6114ce3b79b7c6ce.png](https://i-blog.csdnimg.cn/blog_migrate/11c0175e32976dd66e5cad613b24fc2e.jpeg)
2 数据类型
数据类型
- 数值,包括整数和浮点数
- 字符串
- 布尔值True或False
- 空值None
2.1 数值
Python中数值有两种类型,整形(int)和浮点型(float),通俗一点的讲,一个是不带小数点的,一个带小数点的。
- 整形和浮点形数值可以相互运算
- 只要有浮点数参与的运算,它的结果肯定也是浮点数
>>>a = 1
>>>b = 3.0
>>>a + b
4.0
2.2 字符串
- 字符串可以用“ ”或' '
a = "Hello"
b = 'world'
print(a, b)
# 输出的结果是:Hello world
- 反斜杠:转义或连接多行
当如果字符串含有特殊字符,比如双引号,我们可以加一个来进行转义
print("Buddha: "What we think, we become."")
# 输出的结果是:Buddha: "What we think, we become."
或单双引号混用
print('Buddha: "What we think, we become."')
# 输出的结果是:Buddha: "What we think, we become."
反斜杠来连接多行,但在在输出的时候还是会显示为一整行
sentence = "This's a very long long long
long long sentence............"
print(sentence)
- 三引号之间放入任意多行文字
'''123'''
# 输出的结果是:'123'
print("""You can do it.
Come on.
""")
# 输出的结果是:
You can do it.
Come on.
2.3 空值 None
空值None是Python中的一个特殊值,它代表空值,表示“什么都没有”,None同时也是关键字。None的用处有很多,比如说你想定义一个变量,但一时还没想好给它赋什么值,甚至连它用什么类型也没决定好,这时可以先用None
None被输出的时候显示为一个字符串"None"
temp = None
print(temp)
2.4 数据类型转换
2.4.1 布尔值转换
把其他值转换为布尔值,需要使用一个内置函数bool()
# 以下值都为True
bool(1)
bool(-1)
bool(255)
bool(0.0000001)
bool(-99.99)
bool('hu')
bool('0')
这是一个只包含一个空格的字符串,转换结果为为True
bool(" ")
# 下面的值为False
bool(0)
bool(0.0)
bool('')
bool(None)
- 对于数值类型,所有的非零值转换为True, 只有零值才转换为False
- 字符串也可以转换为布尔值
- 对于任何非空的字符串,转换为布尔值都是True
- 空值转换为布尔值永远都是False
2.4.2 字符串转换
使用str() 将其他类型转换为字符串
True, False, None 这三个值转换为字符串就是它们的单词本身
str(True) # 结果是'True'
str(False) # 结果是'False'
str(None) # 结果是'None'
对于数值类型,我们也可以用str()将它们转换为字符串,如果不进行强制转换的话,也不会出错,那是因为,print函数会自动将数值先转换成字符串再输出
print("My age is", str(18))
2.4.3 数值转换
要把一个整数字符串转换为int类型,使用int()
num = "1"
int(num) + 1
# 结果是2
如果将int()去掉,这段代码则会报错,因为num是个字符串,不能将字符串和数值进行相加。
数值的前后带有空格也可以成功转换
int(" 100 ") # 结果为100
带有符号的数字也可以成功转换
int("-1") # 结果为-1
int("+1") # 结果为1
要把一个带小数点的字符串转换为float类型,使用float(), 同上,数值带空格,正负号也可以正常转换
int类型和flfloat类型之间也可以相互转换,但float转换为int时,小数部分精度将被丢弃,只取整数部分
int(3.14) #结果为3
int(9.9) # 结果为9
float(100) # 结果为100.0
想要四舍五入的来转换,用round,可以指定小数点后位数
round(9.9) #结果为10
round(9.5) #结果为10
round(3.1415926, 2) #结果为3.14
布尔值也可以转换为int或者float
int(True) # 结果是1
int(False) # 结果是0
float(True) # 结果是1.0
float(False)# 结果是0.0
3 运算符
3.1 算术运算符
![345b2f78f1d9b59931ec26775180819b.png](https://i-blog.csdnimg.cn/blog_migrate/546fa2f598dee8e7f0a411b0b5a4a28a.jpeg)
print(1 + 1)
print(10 - 5)
print(4 * 2)
print(4 / 2) # 结果是2.0 需要注意的是当使用单斜杠除法运算符时,即使除数和被除数都是整数,返回结果也是一个浮点数。
print(4 // 2) # 结果是2
所有的运算符两边都有一个空格,这是Python代码的书写规范
取模运算符大家先暂时可以理解为取余数,记住以下几个规则:
- 当两个数能整除时,取模运算的结果为0,比如 8 % 4 的结果是0
- 当0<a<b时,a % b = a,比如 3 % 8 的结果是3
- 当两个数中有负数时,结果可能会跟我们预料的不同,记住这个公式就行了 :a % b 就相当于a -(a // b) * b
最后,提醒一下,0不能作为除数,也不能用来取模。
3.2 使用算术运算符操作字符串
加号可以将两个字符串拼接成一个字符串,也可以将多个字符串拼接在一起
>>> print('hello' + 'world')
helloworld
>>> print('apple' + 'apple' + 'apple')
appleappleapple
可以使用"*"运算符,表示将该字符串重复几次并拼接成一个字符串
>>> print('apple' * 3)
appleappleapple
使用加号拼接字符串时需要注意,不能将字符串与数值一起相加
>>> print("您账户积分为:" + str(500))
您账户积分为:500
>>> print("您账户积分为:" ,500)
您账户积分为: 500
3.3 赋值运算符
使用等于号赋值
更多的赋值操作:
![55234d997581e18f6653f86ed350e956.png](https://i-blog.csdnimg.cn/blog_migrate/51979a4e97633ab768822e035ed94de7.jpeg)
>>>count = 0
>>>count += 1
>>>count
1
结果变成了1
3.4 比较运算符
![a01cfb5f285cad8dad38e2d6473ce0a6.png](https://i-blog.csdnimg.cn/blog_migrate/29cd9a2fe75292f00bd2d0da7783f827.png)
比较运算符是用来运算布尔值的, 将两个值放在一起比较,最后得到True或者False。
100 == 100 # True
100 == "abc" # False
1 != 2 # True
4 // 2 ==2 #True
4 / 2 ==2 #True
100 == "100" # False
100 == 50 * 2 # True
str(100) == "100" # True