萌新向Python数据分析及数据挖掘 第一章 Python基础 (上)未排版

因word和博客编辑器格式不能完全对接,正在重新排版,2019年1月1日发出第一章完整版

本文将参考《Python编程 从入门到实践》的讲述顺序和例子,加上自己的理解,让大家快速了解Python的基础用法,并将拓展内容的链接添加在相关内容之后,方便大家阅读

好了!我们开始第一章的学习。

第一章 Python

python安装以及环境搭建


python的安装和环境变量的配置通过百度查询即可解决,这里不作赘述。 
IDE的选择:因为后期需要用来做数据分析,所以直接安装Anaconda会是一个不错的选

Anaconda详细安装使用教

https://blog.csdn.net/program_developer/article/details/79677557

变量和简单的数据类

这里可以想成Python是你的计算器,print(内容)的形式用来让呈现显示文字内容

变量可以这么理解你有个朋友叫做斯坦尼斯拉夫斯基,你和他很要好,天天基在一起,但是他的名字太长了,叫起来好烦,所以你叫他屎蛋,这个“屎蛋“,就是斯坦尼斯拉夫斯基的变量名称,你叫他”屎蛋”或者斯坦尼斯拉夫斯基效果是一样的,但是叫屎蛋比较方便。当然你可以把这个称号放到别的东西身上,但是在Python的规则中,一个变量名只能对应一个实体,一个实体,可以有多个绰号

将一条消息存储到变量中,再将其打印出来

  1. stan="Hello,Konstantin Stanislavski!" #将"Hello,Konstantin Stanislavski!"命名为stan  
  2. print(stan) #打印stan,-----print(内容)的形式用来让呈现显示文字内容。  

输出:

Hello,Konstantin Stanislavski!

变量的命名规则

 首字符必须是字母(大写或小写)或者一下下划线(’_’) 
 名称的其他部分可以由字母(大写或小写)、下划线(‘ _ ’)或数字(0-9)组成 
 对大小写敏感 
 有效变量名称的例子有 k、__my_num、name_1 和 a4b5_c6 
 无效 标识符名称的例子有 2board、this is me和my-num

变量的赋值: 变量名=

字符

字符串是由数字、字母、下划线组成的一串字符,当作字符串的数字不能用于计算,就像员工ID号一样,只是编码,没有计算意义。 

字符串是不可变的,一旦创造了一个字符串,就不能再改变它。 

【单引号(')】和【双引号(")】两者使用都是相同的,即'hello' 等同 "hello"

【三引号('''或""")】可以表示一个多行的字符串,在三引号中可以自由的使用单引号和双引号 

【转义符】可以用 \' 来指示单引号——注意这个反斜杠,即'What\'s your phone number?'。另一个表示这个特别的字符串的方法是"What's your phone number?",即用双引号。在一个字符串中,行末的单独一个反斜杠表示字符串在下一行继续,而不是开始一个新的行。 

【自然字符串】前缀r或R表示“自然字符串”,转义失去意义,所见即所得。 

【Unicode字符串】加前缀u或U, 如 u"this is an unicode string"

有时候字符串中的字母不符合我们强迫症的需求,所以Python提供了一些方法来统一字母的大小写

  1. name='Eric'  
  2. print(name.lower()) #每个字母小写  
  3. print(name.upper()) #每个字母大写  
  4. print(name.title()) #首字母大写  

输出:

eric

ERIC

Eric

有时候拿到的数据一些手残或者其他原因导致字符串前后带有空格,这种屈辱强迫症是不能忍的,必须把这些空格给我砍掉

数字
来了,计算器来了~

4种类型的数:整数、长整数、浮点数和负数。主要运算有加()、减(-)、乘(*)、除(/)。另外,乘方使用两个乘号表示,比如 3**2 ,即3的平方。 
 整数int:6、-1、070、-0520、-0x350、0x59等。 
 长整数long:5146561L、0132L、-0x19423L。长整型也可以使用小写L,但是还是建议大写L,避免与数字”1”混淆。Python使用”L”来显示长整型。 
 浮点数float:0.0、14.50、44.8e12、60.1E-12等。 
 复数complex:3.5j、4e5J等。用a  bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型

使用 str()可以将非字符串值表示为字符串

  1. print(53)  
  2. print(10-2)  
  3. print(2*4)  
  4. print(16/2)  
  5. print(2**3) #2的3次方  

输出:

8

8

8

8.0

8

关于这部分的官方文档:
https://docs.python.org/3/tutorial/introduction.html#using-python-as-a-calculator


注释用井号#。井号后面的都会被python忽略,通常用来标注解释代码。就是你要告诉别人你这是要干啥,如果详细点,还可以记上为啥要这样做,方便后来者了解你的思路

当前,大多数软件都是合作编写的,编写者可能是同一家公司的多名员工,也可能是众多致力于同一个开源项目的人员。训练有素的程序员都希望代码中包含注释,因此最好从现在开始就在程序中添加描述性注释。作为新手,最值得养成的习惯之一是,在代码中编写清晰、简洁的注释。 
如果不确定是否要编写注释,就问问自己,找到合理的解决方案前,是否考虑了多个解决方案。如果答案是肯定的,就编写注释对的解决方案进行说明吧。相比回过头去再添加注释,删除多余的注释要容易得多。

列表简

列表是是处理一组有序项目的数据结构,即可以在一个列表中存储一个序列的项目。列表中的元素包括在方括号([])中,每个元素之间用逗号分割。列表是可变的数据类型,可以添加、删除或是搜索列表中的元素。
列表可以理解为你用铅笔在笔记本里记录内容, 内容可以修改,每一行用逗号隔开。

访问元素 
访问列表元素可以通过索引方括号的形式,记住,索引从0而不是1开始!。

  1. shoplist = ['apple', 'mango', 'carrot', 'banana'] # 建立一个列表,让他叫做shoplist (购物清单)  
  2. print(shoplist)# 打印(购物清单)  
  3. print(shoplist[0].title())#打印(购物清单的第一项的首字母大写形式)  
  4. print('i want a'  ' '  shoplist[0])#打印(我要一个 购物清单的第一项)  

运行结果:
['apple', 'mango', 'carrot', 'banana']
Apple
i want a apple

修改或添加元素 
修改元素可以通过直接赋值的方法。 
 append() :将元素附加到列表末尾。#末尾添加一行笔记 
 insert() :在列表中指定位置添加新元素。#笔记本中指定位置添加一行笔记 
 del :删除列表中指定位置元素。# 笔记本中指定位置擦掉一行笔记 
 pop():移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。 #把笔记中一行撕出来拿着,默认撕最后一行
 remove():删除列表中第一个指定值的元素。笔记本中指定内容的一行笔记 

  1. shoplist = ['apple', 'mango', 'carrot', 'banana']# 建立一个列表,让他叫做shoplist (购物清单)  
  2. shoplist.append('duck')#在购物清单末尾添加一个“鸭子”  
  3. print(shoplist)#打印购物清单  
  4. shoplist.insert(0, 'chick')#在购物清单首位插入一个“鸡”  
  5. print(shoplist)#打印购物清单  
  6. del shoplist[1]#删除购物笔记本中在序列1(第二个位置)的一行  
  7. print(shoplist)#打印购物清单  
  8. temp1 = shoplist.pop(0) #把购物清单中首行剪出来,叫做temp1(临时1)  
  9. print(temp1)#打印临时1  
  10. print(shoplist)#打印购物清单  
  11. shoplist.remove('banana')#在购物清单中删除第一个内容是“banana”的一行  
  12. print(shoplist)#打印购物清单  

一行代码对比这几个方法的区

运行结果:
['apple', 'mango', 'carrot', 'banana', 'duck']
[chick, 'apple', 'mango', 'carrot', 'banana', 'duck']
[chick, 'mango', 'carrot', 'banana', 'duck']
chick
['mango', 'carrot', 'banana', 'duck']
['mango', 'carrot', 'duck']

组织列表 
 sort():对列表进行永久性排序。默认按照字母顺序排列,相反顺序的话可以传递参数reverse=True  #把原笔记直接按字母顺序排列
 sorted():对列表进行临时排序,不改变原本列表。 #复印一份原笔记,按顺序排列
 reverse():反转列表元素排序。#反向排列笔记(没有按特定规则重排,就是最后一个变成第一个) 
 len() :获取列表长度。#告诉你目前记了多少行笔记了,从一开始

  1. shoplist = ['apple', 'mango', 'carrot', 'banana']#建立一个列表,让他叫做shoplist (购物清单)  
  2. shoplist.sort(reverse=True)#把购物清单排序(倒序)  
  3. print(shoplist)#打印购物清单  
  4. shoplist = ['apple', 'mango', 'carrot', 'banana']#建立一个列表,让他叫做shoplist (购物清单)  
  5. print(sorted(shoplist))#打印排序过的购物清单拷贝  
  6. print(shoplist)#打印购物清单  
  7. shoplist.reverse()#把购物清单顺序颠倒  
  8. print(shoplist)#打印购物清单  
  9. len(shoplist)#看看购物清单有几行  

 

 

 

 

 

运行结果:
['mango', 'carrot', 'banana', 'apple']

['apple', 'banana', 'carrot', 'mango']

['apple', 'mango', 'carrot', 'banana']

['banana', 'carrot', 'mango', 'apple']

4

-

 

操作列

遍历列表 
利用for循环可以快速遍历列表,不要忘记它的冒号!

  1. shoplist=['apple','mango','carrot','banana']#一个列表,让他叫做shoplist (购物清单)  
  2. for shop in shoplist: #凡是在购物清单里面的,一个个抓出来执行下面的这句  
  3. print('i want a '  shop.title()) # 打印 (我要  笔记里面的一行)  

运行结果:
i want a Apple
i want a Mango
i want a Carrot
i want a Banana

缩进 
行首的空白(空格和制表符)决定行的缩进层次,同一层次的语句必须有相同的缩进。 
不要混合使用制表符和空格来缩进,在每个缩进层次要么使用单个制表符或 两个或四个空格。

数值列表 
 range():生成指定步长的左闭右开区间的一系列数字。默认步长为1。 相当于中文的从110这样的表达
 list() :将参数转化为列表。 #把别的东西抄到笔记本里面来
 min() :找出数字列表最小值。 
 max() :找出数字列表最大值。 
 sum() :求数字列表所有值相加的总和。

  1. nums = list(range(1,5))#建立一个从1-5 不包含5的列表 叫做nums ~numbers  
  2. for num in nums:#凡是在nums单里面的,一个个抓出来执行下面的这些  
  3. print(num)#打印数字  
  4. print(min(nums))#打印nums里面最小的数字  
  5. print(max(nums))#打印nums里面最大的数字  
  6. print(sum(nums))#打印nums里面数字的和 

运行结果:
1
2
3
4
1
4
10

列表解析可将for循环和创建新元素的代码合并成一行,并自动附加新元素。

  1. nums = [num*2 for num in range(1,11)]# 把1-11但不包括11的整数都乘以2 写进笔记本上,叫做nums  
  2. print(nums) #打印nums  

运行结果:
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

使用列表的一部分——切片 
 创建切片时,要指定切片的第一个元素和最后一个元素的索引,和range()一样,区间为左闭右开。 
 如果没有指定第一个索引,切片将从列表开头开始。同理,如果没有指定最后一个索引,切片将直到列表末尾结束。负数索引可以输出离列表末尾相应距离的元素。 
 切片也可以作为列表遍历。 
 同时省略起始和终止索引可以穿件包含整个列表的切片,相当于复制列表。

  1. nums = list(range(0,11))#把0-11但不包括11的整数 写进笔记本上,叫做nums  
  2. print(nums[0:5])#打印第0行到第5行  
  3. print(nums[:6])#打印第0行到第6行  
  4. Nums = nums[:] # 又把nums的全部命名为Nums  
  5. print(Nums)#打印Nums  

运行结果:
[0, 1, 2, 3, 4]
[0, 1, 2, 3, 4, 5]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

元组 
元组不可以修改,使用圆括号标识。元组也可以用循环进行遍历。我们还能给元组的变量赋值

元组可以理解为用钢笔写的笔记,不可以随意修改,添加内容,但是要注意,如果元祖的其中一行是一个可修改的东西,那这个东西还是可以修改的,就相当于钢笔的笔记里面,其中一行是铅笔写的便签,那么可以修改这个便签的内

  1. nums = (1, 2)  
  2. print(nums)  
  3. nums = (4, 2)  
  4. for num in nums:  
  5. print(num)  

运行结果:
(1, 2)
4
2

猜你喜欢

转载自www.cnblogs.com/romannista/p/10203250.html