萌新向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。 相当于中文的从1到10这样的表达
 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

原文地址:https://www.cnblogs.com/romannista/p/10203250.html

时间: 2024-10-09 22:47:25

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

萌新向Python数据分析及数据挖掘 第一章 Python基础 第一节 python安装以及环境搭建 第二节 变量和简单的数据类型

本文将参考<Python编程 从入门到实践>的讲述顺序和例子,加上自己的理解,让大家快速了解Python的基础用法,并将拓展内容的链接添加在相关内容之后,方便大家阅读. 好了!我们开始第一章的学习. 第一章 Python基础 第一节 Python安装以及环境搭建 Python的安装和环境变量的配置通过百度查询即可解决,这里不作赘述. IDE的选择:因为后期需要用来做数据分析,所以直接安装Anaconda会是一个不错的选择. Anaconda详细安装使用教程 https://blog.csdn.

萌新向Python数据分析及数据挖掘 第一章 Python基础 第九节 类

第一章 Python基础 第九节 类 面向对象编程时,都会遇到一个概念,类,python也有这个概念,下面我们通过代码来深入了解下. 其实类 和函数都是为了节省代码,有了类的的概念,就可以把相同的代码写在父类,子类继承后就可以直接使用,而且通过选择对应的父类就可以直接使用对应父类的内容. 创建和使用类 1 class Dog(): #认识狗这类东西 2 def __init__(self, name, age): #狗是肯定有名字和年龄的,是个狗就有,要用户填写 3 self.name = na

萌新向Python数据分析及数据挖掘 第一章 Python基础 第八节 函数

第一章 Python基础 第八节 函数 定义函数 函数 其实就可以理解为外挂,把一些常用的.重复率比较多你又不想重复写的东西写进函数,加上开关实现简化操作 举个简单的例子 1 def greet_user(username): 2 #定义一个叫做"迎接用户"的外挂,让他能直接打印一个问候语,括号里面是函数需要输入的东西,也就是个性化的东西 3 """先是简单的问候语""" 4 print("Hello! "

萌新向Python数据分析及数据挖掘 第一章 Python基础 第十节 文件和异常

第一章 Python基础 第十节 文件和异常 从文件中读取数据 读取文件.文件路径   1 filename = 'pi_digits.txt' #文件名取个代号 2 #读取整个文件 3 with open(filename) as file_object: 4 contents = file_object.read()# 给内容取个代号 5 print(contents.rstrip()) 6 #逐行读取 7 with open(filename) as file_object: 8 for

萌新向Python数据分析及数据挖掘 第二章 pandas 第二节 Python Language Basics, IPython, and Jupyter Notebooks

Python Language Basics, IPython, and Jupyter Notebooks In [5]: import numpy as np #导入numpy np.random.seed(12345)#设定再现的的随机数 np.set_printoptions(precision=4, suppress=True) #设置打印设置 Signature: np.set_printoptions(precision=None, threshold=None, edgeitem

萌新向Python数据分析及数据挖掘 第二章 pandas 第五节 Getting Started with pandas

Getting Started with pandas In [1]: import pandas as pd In [2]: from pandas import Series, DataFrame In [3]: import numpy as np np.random.seed(12345) import matplotlib.pyplot as plt plt.rc('figure', figsize=(10, 6)) PREVIOUS_MAX_ROWS = pd.options.dis

用 WEKA 进行数据挖掘 ——第一章:简介

1.简介数据挖掘.机器学习这些字眼,在一些人看来,是门槛很高的东西.诚然,如果做算法实现甚至算法优化,确实需要很多背景知识.但事实是,绝大多数数据挖掘工程师,不需要去做算法层面的东西.他们的精力,集中在特征提取,算法选择和参数调优上.那么,一个可以方便地提供这些功能的工具,便是十分必要的了.而weka,便是数据挖掘工具中的佼佼者.Weka的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),是一款免费的,非商业化的,基于JAVA环境下

APUE学习笔记:第一章 UNUX基础知识

1.2 UNIX体系结构 从严格意义上,可将操作系统定义为一种软件(内核),它控制计算机硬件资源,提供程序运行环境.内核的接口被称为系统调用.公用函数库构建在系统调用接口之上,应用软件即可使用公用函数库,也可使用系统调用.shell是一种特殊的应用程序,它为运行其他应用程序提供了一个接口 从广义上,操作系统包括了内核和一些其他软件,这些软件使得计算机能够发挥作用,并给予计算机以独有的特性(软件包括系统实用程序,应用软件,shell以及公用函数库等) 1.3  shell shell是一个命令行解

第一章计算机基础

第一章 计算机基础 1.1 硬件 计算机基本的硬件由:CPU / 内存 / 主板 / 硬盘 / 网卡 / 显卡 等组成,只有硬件但硬件之间无法进行交流和通信. 人用程序通过编程语言解释器,指令操作系统,最终控制电脑硬件来做符合人们需求的过程 1.2 操作系统 操作系统用于协同或控制硬件之间进行工作,常见的操作系统有那些: windows linux centos [公司线上一般用] mac 1.3 解释器或编译器 编程语言的开发者写的一个工具,将用户写的代码转换成010101交给操作系统去执行