zoukankan      html  css  js  c++  java
  • 【Python】Java程序员学习Python(三)— 基础入门

      一闪一闪亮晶晶,满天都是小星星,挂在天上放光明,好像许多小眼睛。不要问我为什么喜欢这首歌,我不会告诉你是因为有人用口琴吹给我听。

    一、Python学习文档与资料

      一般来说文档的资料总是最权威,最全面的,可是很少有人能认真的从头到尾把文档或者帮助手册看一遍,毕竟太枯燥了,就像java api 文档一样,正确的用法当然是把它当做一个工具书,想到用什么,就去查,当然最好还是能大概看一遍,这样心中有个印象找东西也方便。

      最权威的当然是官方文档,地址在:https://docs.python.org/3/。推荐阅读英文的,但是如果真的想看中文的也是有地方的:http://python.usyiyi.cn/translate/python_352/index.html。如果想看书,那就推荐一本我觉得比较适合的书:《Python编程快速上手》,这本书真的很不错。

      当然按照我博客的顺序阅读也是可以的,这也算是我学习过程。

    二、Python基础知识

      虽然学习东西应该一步一步来,但是很多知识到深了都会相互关联的,所以先从表象简单介绍下所有的知识点,然后依次深入,本篇只是概括。

    2.1 全局函数(内置函数)

      我喜欢叫它全局函数,因为可以在任何地方调用,从这个角度来看,Python和JavaScript还是有些相似的,都有一些全局的函数。Python也有很多直接使用方法,例如可以直接写print(1)来在控制台打印一个1。

    2.2 基本数据类型

      Python不像Java是强类型语言那样要在使用的时候就要确定变量类型,这点依然和js比较相似,Python数据类型分为,整型、浮点型、字符串、布尔型、对象。

    2.2.1 整型

      Python的整型和Java一样也有一样的运算。

    1232,0,-10,0x22

      像上面那样的都是整数,十六进制也是以0x开头。

    2.2.2 浮点型

      浮点型和js语言相似。

    3.17,-12.9,2.3e10,6.2e-8

      浮点型都是带小数的也支持科学计数法。

    2.2.3 字符串

      字符串也和js相似,可以用单引号或者双引号或者三引号(三个单引号或三个多引号)引起来。当然字符串本质上也是字符的不可变数组。

    'hello',"yiwangzhibujian"

      看个人习惯,单双引号都可以使用。

    2.2.4 布尔型

      Python的布尔型写法比较特殊,为True和False,首字母分别要大写,这一点感觉很奇怪,然后布尔型的与或非运算符则为,and、or、not

    2.2.5 None值

      这是一个不代表任何值的值

    2.3 变量

      不需要提前定义,也不需要指定类型。就是这么方便。当然变量名也是有要求的:

    • 只能是一个词
    • 只能包含字母数字和下划线
    • 不能以数字开头
    name='yiwangzhibujian'
    print('hello',name)
    ========控制台输出========
    hello yiwangzhibujian

      不用定义比js用起来还爽。

    2.3 类和对象

      Python中也是有类和对象的,熟悉Java的都了解,学习Java的大部分时间都是在学习类的使用方法。

    2.3.1 list

      列表就是java中的List,但是表示形式有点不一样,用中括号引起来的一系列元素:

    [1,2,3,4,5]
    ['yiwangzhibujian','laizhezhikezhui',35]

      基本方法也都和Java相似,后续会详细讲解。

    2.3.2 tuple

      不可变的list,使用一对小括号:

    ('hello','yiwangzhibujian')

      操作和list一样,除了不能对其进行修改。 

    2.3.3 range

      range是一个特殊的对象,简单来说就是一个数字序列,一般用来遍历,例如range(0,10)即代表0,1,2,3,4,5,6,7,8,9的序列,使用起来很方便。

    2.3.4 set

      不可重复的集合和Java的Set一个性质。除了使用构造方法以外,也可以使用大括号来表现:

    {'hello','yiwangzhibujian'}

      还有一种不可变的set叫做frozenset,就像list和tuple的关系一样,不再单独介绍。

    2.3.5 dict

      字典表就是Java中的Map,是键值对的集合,表现形式和json很像,都是大括号括起来的键值对:

    {'name':'yiwangzhibujian','num':'3''sex':'no'}

      使用方法依然和Map相似,后续会进行详细介绍。

    2.3.6 其他对象

      像IO、时间等对象会在后续进行学习,亦可以自己参考文档学习里面的基本用法。

    2.4 控制流

      说到控制流就要了解Python的一大特点,Python的作用域不是以两个大括号引起来,而是使用统一的缩进来表示,在要缩进的地方加上冒号表示一下,虽然觉得不适应,但是习惯就好。例如:

    if True:
        print('true')
    else:
        print('false')

      基本用法和Java一样,注意格式即可。

    2.4.1 分支

      分支是最常见的控制流,通过boolean型的表达式来判断程序的走向。

    2.4.2 循环

      熟悉while和for即可,同样支持continue和break,while和for的示例

    2.5 函数或方法

      使用def来定义,就像js使用function来定义一样,基本示例如下:

    def my_add(x,y):
        return x+y

      这个是很重要的知识点,后面也会进行详解。

    2.6 作用域

      作用域简单的分为全局作用域和局部作用域,基本使用规则和Java一样。

    2.7 异常处理

      Python也是有异常处理的,使用try和exception来实现。一个下面给出一个简单的示例,如果不进行异常捕获,异常会被抛出程序会停止运行:

    print(1/0)
    print(1/1)
    =======控制台输出======= Traceback (most recent call last): File "D:workspaceeclipse_neonpython-hellosrc est.py", line 7, in <module> 1/0 ZeroDivisionError: division by zero

      如果进行捕获:

    try:
        print(1/0)
    except ZeroDivisionError:
        print('除数不能为0')
    print(1/1)
    =========控制台输出=========
    除数不能为0
    1.0

      使用的方法和Java一样,该捕获的就捕获,不该捕获的就抛出。

    2.8 注释和缩进

      所有以#开头的都会被当做注释,多行注释可以利用三引号来实现:

    #这是一个注释
    """
    这是多行注释
    这是多行注释
    """

      写程序多用注释,不然一段时间后会忘记当初写这个是干嘛用的。

    2.9 模块

      为了方便组织不同功能的代码,都是用模块来组织,引用的地方也使用import来引入,例如:

    import sys

      简单介绍了下,基础知识只是为了了解这个语言的大概情况,以后会有详细说明的。

  • 相关阅读:
    mybatis 版本问题
    sonar-maven-plugin问题
    spring容器&classLoader
    Mybatis知识点整理
    防重复提交的方式汇总
    秒杀系统设计整理
    MySQL事务隔离级别&锁
    disruptor解读
    springboot 2.x集成log4j2调试日志无法关闭问题
    Java并发——volatile
  • 原文地址:https://www.cnblogs.com/yiwangzhibujian/p/6942416.html
Copyright © 2011-2022 走看看