• 数据科学必备Python编程基础


    前言

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

    (文末送读者福利)

    Python的特点

    1、简单、易学Python是一种代表简单主义思想的语言,有简单的语法,容易上手。Python能够专注于解决问题而不是去搞明白语言本身。

    2、面向对象的高层语言无需关注底层细节,而C/C++中需要操作指针。与其他语言相比,Python以强大而又简单的方式实现面向对象编程。

    3、解释性强Python程序不需要编译成二进制代码,可以直接在源代码上运行。

    4、免费开源,可移植性Unix衍生系统,Win32系统家族,掌上电脑/手机,游戏控制台(PSP)等等。

    5、可扩展性,可嵌入性如果一段关键代码希望运行得更快或者希望算法不公开,可以把这部分程序用C或C++编写,然后在Python程序中使用。可以把Python嵌入到C/C++程序,从而向程序用户提供脚本功能。

    6、丰富的库Python标准库确实很庞大,包括正则表达式、文档生成、单元、测试、线程、数据库、网页浏览器、等等。此外,还有其他高质量的库,如wxPython、Twisted和图像库等等。

    Python的安装

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

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

    数据分析师必备Python基础

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

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

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

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

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

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

    在这里插入图片描述

    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)
    
    • 1
    • 2
    • 3

    在选择和循环结构中,条件表达式的值为 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
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    双分支结构

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

    条件为真时的值 if(条件表达式)else 条件为假时的值。
    上一个案例代码,可以用三元条件运算符实现。

    num = input("输入一个数字:")        
    if int(num)<10:
        print(num)
    else:
        print("数字太大")
    
    num = input("请输入一个数字")        
    print( num if int(num)<10 else "数字太大")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述
    多分支结构

    方法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))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    方法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))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    其他循环方式

    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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    for 循环。

    for  x  in  (20,30,40):        
        print(x*3)
    
    for x  in  "sxt001":        
        print(x)
    
    for i in range(10) :
        print(i)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    循环的终止与执行

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

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

    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))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    读者福利:知道你对Python感兴趣,还准备了这套python学习资料

    对于0基础小白入门:

    如果你是零基础小白,想快速入门Python是可以考虑的。

    一方面是学习时间相对较短,学习内容更全面更集中。
    二方面是可以找到适合自己的学习方案

    包括:Python永久使用安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等学习教程。带你从零基础系统性的学好Python!

    零基础Python学习资源介绍

    👉Python学习路线汇总👈

    Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)

    👉Python必备开发工具👈

    温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

    👉Python学习视频600合集👈

    观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

    👉实战案例👈

    光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

    👉100道Python练习题👈

    检查学习结果。

    👉面试刷题👈



    在这里插入图片描述

    资料领取

    上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码输入“领取资料” 即可领取

    在这里插入图片描述

    好文推荐

    了解python的前景:https://blog.csdn.net/xiqng17111342931/article/details/127705925

    了解python的副业:https://blog.csdn.net/xiqng17111342931/article/details/127872402

  • 相关阅读:
    Spring Boot自动装配原理超详细解析
    webpack5 打包环境抽离分环境基本配置
    人际关系和心理活动机制总结 -- 宁向东的清华管理学课总结
    分享一个超好看回忆相册(代码自取)
    【系统架构】系统质量属性与架构评估
    ROS小工具学习与使用
    ue4中Pak文件中挂载的资源名称获取
    读《长安的荔枝》有感
    链表 C语言
    文本表示(Representation)
  • 原文地址:https://blog.csdn.net/xiqng17111342931/article/details/128192086