学习Python之前必须摆正心态:
1) Python是一门计算机语言,是一门交流的工具。学习Python就像我们从小学习英语一样,只是学习英语交流的对象是人,而Python交流对象是计算机。
2) 注意细节。要体谅计算机以现在的发展层次,未能做到心领意会,所以我们写Python代码要精准,如要区分字母大小写、区分中英文符号。
3) 可以幻想成计算机是一只不知疲倦,可以被人类外包一些重复循环工作的小狗。小狗可以听懂一些简单的一些指令,“sit”,“hand” ,Python环境下的计算机也可以听懂“print('Hello World!')"的指令,并且做出对应的动作
Python数据分析需要掌握的基础知识
下面进入Python的4个知识点:数据、条件判断、循环、函数
1. 数据、变量、注释:
是一切程序运行的原材料(输入数据-函数-输出数据(结果))
1.1 变量variable
我们可以想象变量是一个存放信息箱子,它一个恒定放在我们左手边
我们会从右手边取出内容,往这个箱子放需要储存的值。整个把值放到变量的行为叫赋值
总的来说,赋值可以写成变量 = 值(等号“=”是用来给左边的变量赋值的,右边是储存在变量中的值)
Python允许多个变量赋值,例如thousand=qian=1000,则Thousand和qian两个变量都被赋值为1000;也可以多个变量多个值,例如One,Two,Three = 1,2,"Three"。在后面这个例子中,One=1,Two=2,Three被分配字符串“Three”
需要注意:变量名称可以由字母、数字、下划线组成。区分大小写,可以以下划线开头但不能以数字开头。
1.2 数据类型
赋值的内容有多种数据类型 - 字符串、数字、容器、布尔、空值
注意:字符串、数字还有容器中的元祖是不可更改的对象
*字符串String:
Python中字符串用双引号“String”或单引号‘String’括起来
1)用+可以把字符串合并
2) 用%格式化字符串
3)用[ ]进行截取
在Python中是从0开始计位的,可以类似理解成英国人一楼叫ground floor,二楼叫1st floor
截取的语法格式是 变量[头下标:尾下标:步长]
print(MyName[:6]) #[:x]即[0:x],输出从第1位到第x+1位
print(MyName[7:]) #[7:]即从第8位到最后
*数值Number:
从数字类型来看,数值还可以分为整型(int)和浮点型(float)
一月有31天,31是整型
昨天的余额宝收益为3.92元,3.92为浮点型
*容器:
容器的意义:容器是为了方便处理数据而出现的,可以满足不同的数据放到一起使用
容器又可以细分为4种容器,列表(list)、元祖(tuple)、集合(set)、字典(dictionary),每个容器有不同的特性。
需要掌握最基本的4个针对容器的操作:增加、删除、查询、修改。4种容器对应的4个操作已经总结,如下图:
1)列表 list -- 方括号
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号[ ]之间、用逗号分隔开的元素列表。
列表的四个操作
A)列表的增加
List.append('string')
B)列表的删除
del List[num]
列表的删除是基于列表的截取语法格式,如下:
C) 列表的查询
List[num]
列表查询的原理与删除类似
D)列表的修改
List[num]='new'
2) 元组(Tuple) --- 小括号()
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号()里,元素之间用逗号隔开。
3) 集合(set)
集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
基本功能是进行成员关系测试和删除重复元素。
可以使用大括号{ } 或者 set() 函数创建集合,注意:创建一个空集合必须用set() 而不是 { },因为 { } 是用来创建一个空字典。
"老虎"前后都出现了一次,但是在集合中就会去掉重复项
集合的四个操作
A)集合的增加set.update(['xx']):
B)集合的删减set.discard('xx'):
C)集合的查询 sth in set:
D)集合的修改
先set.discard('xx')再set.update(['xx'])
4)字典
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
一个简单的字典实例:
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
也可如此创建字典:
dict1 = { 'abc': 456 }; dict2 = { 'abc': 123, 98.6: 37 };
字典的4个操作
1)字典的增加
dictionary[key]=[value1,value2,value3] 定义key对应的value是什么(原理:也就可以新增一个key,对应定义它的value是什么)
2)字典的删除
del dictionary[key] 删除key对应的元素
3)字典的查询
dictionary[key] 查询字典key是什么
4)字典的修改
dictionary[key]=[value1,value2,value3] 定义key对应的value是什么(原理:也就可以对应修改key中对应的其中的某个value值是什么)
*布尔
刚刚前文提到的
即是一种布尔,它有且只有两种值:true和false
*空值 Null
Null与0的区别:可以类比为:11.11当天你没有在记账app上记账,app上没有存储你今天的消费情况,即为null(即便你实际上有消费10000元和没有消费0元,但因没有记录,在app上都无法读取到信息);11.11当天你没有消费,你在记账app上记账消费0元,app上可以读取到信息为11.11当天,你消费了0元。
1.3 注释comment
- Python中要单行可以#单行注释
- 如果需要多行注释,则用三个双引号或三个单引号括住需要注释内容
"""
多行注释 """
2.条件判断
if 语句
Python中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"块语句
Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else。
注意:
- 1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
- 2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
3. 循环语句
for 语句
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for循环的一般格式如下:
for <variable> in <sequence>: <statements> else: <statements>
Python loop循环实例:
实例
break和continue语句及循环中的else子句
break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。 实例如下:
实例
4.函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。
定义一个函数
你可以定义一个由自己想要功能的函数,以下是简单的规则:
- 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
- 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
- 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
- 函数内容以冒号起始,并且缩进。
- return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
语法
Python 定义函数使用 def 关键字,一般格式如下:
def 函数名(参数列表): 函数体
默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配起来的。
可更改(mutable)与不可更改(immutable)对象
在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。
- 不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a。
- 可变类型:变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。
python 函数的参数传递:
- 不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
- 可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响
python 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。
参考资料:
Python 3 教程 http://www.runoob.com/python3/python3-function.html
Live :零基础掌握人工智能(AI)核心语言:Python