数据科学必备Python编程基础

数据科学必备Python编程基础对于Python复杂的编程语言中提取了数据分析常用的数据处理以及数据可视化等数据分析师常用的内容,区别与其他的Python编程教程,如果是纯开

对于Python复杂的编程语言中提取了数据分析常用的数据处理以及数据可视化等数据分析师常用的内容,区别与其他的Python编程教程,如果是纯开发的小伙伴,看完本系列的文章仅仅只能掌握数据相关处理的内容,并不能完全掌握开发方面的技能,请有选择阅读。

数据科学必备Python编程基础

Python的特点

  • 简单、易学Python是一种代表简单主义思想的语言,有简单的语法,容易上手。Python能够专注于解决问题而不是去搞明白语言本身。
  • 面向对象的高层语言无需关注底层细节,而C/C++中需要操作指针。与其他语言相比,Python以强大而又简单的方式实现面向对象编程。
  • 解释性强Python程序不需要编译成二进制代码,可以直接在源代码上运行。
  • 免费开源,可移植性Unix衍生系统,Win32系统家族,掌上电脑/手机,游戏控制台(PSP)等等。
  • 可扩展性,可嵌入性如果一段关键代码希望运行得更快或者希望算法不公开,可以把这部分程序用C或C++编写,然后在Python程序中使用。可以把Python嵌入到C/C++程序,从而向程序用户提供脚本功能。
  • 丰富的库Python标准库确实很庞大,包括正则表达式、文档生成、单元、测试、线程、数据库、网页浏览器、等等。此外,还有其他高质量的库,如wxPython、Twisted和图像库等等。

Python的安装

对于数据分析师而言,不建议使用原生的方式安装Python。而是使用对数据分析师更加友好的 Anaconda 进行安装,更多辅助数据分析师的功能。

并且基于 Anaconda 的 Jupyter Notebook,也是集成很多使用功能的编辑器同时兼具交互式的优点。可以在同一个界面中保存展示代码,展现运行结果,实时互交式运行代码等功能,并且对新手非常友好,不需要过多的配置。

数据分析师必备Python基础

数据分析师使用Python的基础语法

这部分内容了解即可,会在实际操作中讲解。

Python 标识符

  • 在 Python 里,标识符有字母、数字、下划线组成。
  • 在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。
  • Python 中的标识符是区分大小写的。
  • 以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;
  • 以双下划线开头的 foo 代表类的私有成员;以双下划线开头和结尾的 foo 代表 Python 里特殊方法专用的标识,如 init__() 代表类的构造函数。

Python 标准的数据类型

  • 数据类型:Numbers(数字)String(字符串)List(列表)Tuple(元组)Dictionary(字典)
  • 数字类型:int(有符号整型)long(长整型[也可以代表八进制和十六进制])float(浮点型)complex(复数)

Python 数据类型转换

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

函数

描述

int(x)

将x转换为一个整数

long(x)

将x转换为一个长整数

float(x)

将x转换到一个浮点数

complex(real)

创建一个复数

str(x)

将对象 x 转换为字符串

repr(x

将对象 x 转换为表达式字符串

eval(str)

用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s)

将序列s转换为一个元组

list(s)

将序列s转换为一个列表

set(s)

转换为可变集合

dict(d)

创建一个字典。d必须是一个序列(key,value)元组。

frozenset(s)

转换为不可变集合

chr(x)

将一个整数转换为一个字符

unichr(x)

将一个整数转换为Unicode字符

ord(x)

将一个字符转换为它的整数值

hex(x)

将一个整数转换为一个十六进制字符串

oct(x)

将一个整数转换为一个八进制字符串

Python 运算符

算术运算符

  • 加 – 两个对象相加 a + b 输出结果 30 。
  • 减 – 得到负数或是一个数减去另一个数 a – b 输出结果 -10。
  • 乘 – 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
  • / 除 – x除以y b / a 输出结果 2。
  • % 取模 – 返回除法的余数 b % a 输出结果 0。
  • 幂 – 返回x的y次幂 ab 为10的20次方, 输出结果 100000000000000000000。
  • // 取整除 – 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0。

Python比较运算符

以下假设变量a为10,变量b为20。

  • == 等于 – 比较对象是否相等 (a == b) 返回 False。
  • != 不等于 – 比较两个对象是否不相等 (a != b) 返回 true。
  • <> 不等于 – 比较两个对象是否不相等 (a <> b) 返回 true。这个运算符类似 != 。
  • 大于 – 返回x是否大于y (a > b) 返回 False。
  • < 小于 – 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 (a < b) 返回 true。
  • >= 大于等于 – 返回x是否大于等于y。 (a >= b) 返回 False。
  • <= 小于等于 – 返回x是否小于等于y。 (a <= b) 返回 true。

Python逻辑运算符

假设变量 a 为 10, b为 20。

  • and x and y 布尔”与” – 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。
  • or x or y 布尔”或” – 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。 (a or b) 返回 10。
  • not not x 布尔”非” – 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False 。

Python成员运算符

  • in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
  • not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

Python身份运算符

  • is is 是判断两个标识符是不是引用自一个对象 x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False。
  • is not is not 是判断两个标识符是不是引用自不同对象 x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

Python 变量类型

  • Number 数字变量: Python中的数字包含int、float、bool、complex复数。
  • String 字符串变量: python里面的字符串是指用单引号 ‘ 或者双引号 “” 括起来一段字符和数字,同时一些特殊字符需要使用 \ 来进行转译。
  • List 列表变量: List在python中使用会比较频繁,他和数组很大的相似性。可以实现许多集合类的实现。
  • Tuple 元素变量: 元组是一组不能修改的数据集合,使用()和“,” 将数据进行分隔。
  • Set 集合变量: 一个用“{}”包含起来一组或多个个体组成的集合,通常是进行成员关系测试和删除重复元素使用的。 注意空的set,要使用set()来实现, { }是用来表示一个空的字典。
  • Dictionary 字典变量: 字典是一种数据映射类型,用{ } 进行标识,它包含了一组由 key:value组成的集合。 key(键)和 value(值)一一对应,在同一个字典中,key值必须是唯一的,不能够重复。

Python的控制流语句

单分支结构

  • 条件表达式:可以是逻辑表达式、关系表达式、算术表达式等等
  • 语句/语句块:可以是一条语句,也可以是多条语句。多条语句,缩进必须对齐一致
num = input("输入一个数字:")
if int(num)<10:
    print(num)

在选择和循环结构中,条件表达式的值为 False 的情况如下:False、0、0.0、空值None、空序列对象(空列表、空元组、空集合、空字典、空字符串)、空range对象、空迭代对象。其他情况,均为 True。这么看来 Python 所有的合法表达式都可以看做条件表达式,甚至包括函数调用的表达式。

在python 中,条件表达式不能出现赋值操作符 “=”,避免了其他语言中经常误将关系运算符 “==” 写作赋值运算符“=”带来的困扰。

if 3:    #整数作为条件表达式        
    print("ok")
a = []   #列表作为条件表达式,由于为空列表,是False
if a:
    print("空列表,False")
s = "False"    #非空字符串,是True
if s:
    print("非空字符串,是True")

c = 9
if 3<c<20:
    print("3<c<20")
if 3<c  and  c<20:
    print("3<c  and c<20")

if True:        #布尔值
    print("True")

数据科学必备Python编程基础

双分支结构

Python 提供了三元运算符,用来在某些简单双分支赋值情况。三元条件运算符语法格式如下:

  • 条件为真时的值 if(条件表达式)else 条件为假时的值。
  • 上一个案例代码,可以用三元条件运算符实现。
num = input("输入一个数字:")        
if int(num)<10:
    print(num)
else:
    print("数字太大")

num = input("请输入一个数字")        
print( num if int(num)<10 else "数字太大")

数据科学必备Python编程基础

多分支结构

方法1(使用完整的条件表达)

score = int(input("请输入分数"))        
grade = ''
if(score<60):
    grade = "不及格"
if(60<=score<80):
    grade = "及格"
if(80<=score<90):
    grade = "良好"
if(90<=score<=100):
    grade = "优秀"

print("分数是{0},等级是{1}".format(score,grade))

方法2(利用多分支结构)

score = int(input("请输入分数"))        
grade = ''
if score<60 :
    grade = "不及格"
elif  score<80 :
    grade = "及格"
elif  score<90 :
    grade = "良好"
elif  score<=100:
    grade = "优秀"

print("分数是{0},等级是{1}".format(score,grade))

其他循环方式

while循环。

num = 0                
sum_all = 0         #1-100所有数的累加和
sum_even = 0        #1-100偶数的累加和
sum_odd = 0         #1-100奇数的累加和
while num<=100:
    sum_all += num
    if num%2==0:sum_even += num
    else:sum_odd += num
    num += 1         #迭代,改变条件表达式,使循环趋于结束

print("1-100所有数的累加和",sum_all)
print("1-100偶数的累加和",sum_even)
print("1-100奇数的累加和",sum_odd)

for 循环。

for  x  in  (20,30,40):        
    print(x*3)

for x  in  "sxt001":        
    print(x)

for i in range(10) :
    print(i)

循环的终止与执行

break语句。break语句可用于 while 和 for 循环中,用来结束整个循环。当有嵌套循环时,break语句 ,只能跳出最近的一层循环。

while True:        
    a = input("请输入一个字符(输入Q或q结束)")
    if a.upper()=='Q':
        print("循环结束,退出")
        break
    else:
        print(a)

continue 语句,continue 语句用于结束本次循环,继续下一次循环,多个玄幻嵌套时,continue也是应用于最近的一层循环。

empNum = 0        
salarySum= 0
salarys = []
while True:
    s = input("请输入员工的薪资(按Q或q结束)")

    if s.upper()=='Q':
        print("录入完成,退出")
        break
    if float(s)<0:
        continue
    empNum +=1
    salarys.append(float(s))
    salarySum += float(s)

print("员工数{0}".format(empNum))
print("录入薪资:",salarys)
print("平均薪资{0}".format(salarySum/empNum))

数据科学必备Python编程基础

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/4082.html

(0)
编程小号编程小号
上一篇 2022-12-26
下一篇 2022-12-26

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注