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

一、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一样也有一样的运算。

  1. 1232,0,-10,0x22

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

2.2.2 浮点型

  浮点型和js语言相似。

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

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

2.2.3 字符串

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

  1. 'hello',"yiwangzhibujian"

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

2.2.4 布尔型

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

2.2.5 None值

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

2.3 变量

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

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

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

2.3 类和对象

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

2.3.1 list

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

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

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

2.3.2 tuple

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

  1. ('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一个性质。除了使用构造方法以外,也可以使用大括号来表现:

  1. {'hello','yiwangzhibujian'}

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

2.3.5 dict

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

  1. {'name':'yiwangzhibujian','num':'''sex':'no'}

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

2.3.6 其他对象

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

2.4 控制流

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

  1. if True:
  2. print('true')
  3. else:
  4. print('false')

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

2.4.1 分支

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

2.4.2 循环

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

2.5 函数或方法

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

  1. def my_add(x,y):
  2. return x+y

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

2.6 作用域

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

2.7 异常处理

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

  1. print(1/0)
    print(1/1)
  2. =======控制台输出=======
  3. Traceback (most recent call last):
  4. File "D:\workspace\eclipse_neon\python-hello\src\test.py", line 7, in <module>
  5. 1/0
  6. ZeroDivisionError: division by zero

  如果进行捕获:

  1. try:
  2. print(1/0)
  3. except ZeroDivisionError:
  4. print('除数不能为0')
  5. print(1/1)
  6. =========控制台输出=========
  7. 除数不能为0
  8. 1.0

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

2.8 注释和缩进

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

  1. #这是一个注释
  2. """
  3. 这是多行注释
  4. 这是多行注释
  5. """

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

2.9 模块

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

  1. import sys

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

【Python】Java程序员学习Python(三)— 基础入门的更多相关文章

  1. 【Python】Java程序员学习Python(五)— 函数的定义和使用

    不想做一个待宰的羔羊!!!!要自己变得强大.... 函数的定义和使用放在最前边还是有原因的,现在语言趋于通用,基本类型基本都是那些,重点还是学习对象的使用方法,而最根本的还是方法的使用,因此优先介绍, ...

  2. 【Python】Java程序员学习Python(二)— 开发环境搭建

    巧妇难为无米之炊,我最爱的还是鸡蛋羹,因为我和鸡蛋羹有段不能说的秘密. 不管学啥,都要有环境,对于程序员来说搭建个开发环境应该不是什么难题.按顺序一步步来就可以,我也只是记录我的安装过程,你也可以滴. ...

  3. 【Python】Java程序员学习Python(六)— 流程控制、异常处理

    和Java语言一样,Python也有基本的流程控制,简单了解下即可. 一.流程控制的元素 条件 条件就是布尔值或者布尔值的表达式,要么是True要么是False. 代码块 在Python中,代码块不是 ...

  4. 【Python】Java程序员学习Python(七)— 文本类详解(字符串、str)

    如果一个女孩子喜欢看龙猫,那么请珍惜她,呵护她 任何一门语言,字符串总是最基本也是最需要掌握的一个变量,想想入门的Hello World,输出的就是字符串. 官方文档:https://docs.pyt ...

  5. 【Python】Java程序员学习Python(一)— 为什么学习Python

    现在是6月份,毕业快3年了,虽然不能说对Java掌握的程度达到了如火纯青的地步,但是依然感觉到了瓶颈期,Java用的多了,也到了随心所欲的地步了,所以学第二门语言的想法一直在我脑海里闪现,有想法了就要 ...

  6. 【Python】Java程序员学习Python(十)— 类、包和模块

    我觉得学习到现在应该得掌握Python的OOP编程了,但是现在还没有应用到,先留一个坑. 一.类和对象 说到类和对象其实就是在说面向对象编程,学完Java以后我觉得面向对象编程还是很不错的,首先封装了 ...

  7. 【Python】Java程序员学习Python(四)— 内置方法和内置变量

    <假如爱有天意> 当天边那颗星出现,你可知我又开始想念,有多少爱恋只能遥遥相望,就像月光洒向海面,年少的我们曾以为,相爱的人就能到永远,当我们相信情到深处在一起,听不见风中的叹息,谁知道爱 ...

  8. 【Python】Java程序员学习Python(十一)— IO

    一.前言 io的内容其实还是有很多的,现在我也只是了解初步用法,当然详细内容还是应该参照官方api的: 官方api:https://docs.python.org/3/library/os.html. ...

  9. 【Python】Java程序员学习Python(九)— 集合(list、tuple、range)和映射(dict)

    集合是一门语言最重要的一个特性,对集合支持的程度越好,使用起来越方便 一.表现形式 1.1 list list的基本用法: 使用中括号包裹,[1,2,3] 元素类型可以是任意类型,同样可以是list ...

随机推荐

  1. (转)Python科学计算之Pandas详解,pythonpandas

    https://www.cnblogs.com/linux-wangkun/p/5903380.html-------pandas 学习(1): pandas 数据结构之Series https:// ...

  2. (转)windows 2003 远程桌面关闭 运行程序退出解决

    windows 2003 远程桌面关闭 运行程序退出解决 原文:http://2798996.blog.51cto.com/2788996/503365 情况:远程桌面到2003,运行一个程序,然后关 ...

  3. http2.0之头部压缩

    什么是头部压缩?为什么要头部压缩? 我们知道,http请求和响应都是由[状态行.请求/响应头部.消息主题]三部分组成的. 一般而言,消息主体都会经过gzip压缩,或者本身传输的就是压缩过后的二进制文件 ...

  4. 【jQuery源码】tokenize方法

    //得到由选择器生成的token对象的数组(下面的groups) //Sizzle的Token格式如下 :{value:'匹配到的字符串', type:'对应的Token类型', matches:'正 ...

  5. Spring Boot 的彩色日志

    springboot的彩色日志灰常漂亮, 看起来也很舒服. 但是自定义的日志就是一纯白色的, 丑到不行. 所以就copy他的彩色日志来养眼: <!-- 彩色日志 --> <!-- 彩 ...

  6. lintcode-->翻转字符串

    给定一个字符串,逐个翻转字符串中的每个单词. 您在真实的面试中是否遇到过这个题? Yes 说明 单词的构成:无空格字母构成一个单词 输入字符串是否包括前导或者尾随空格?可以包括,但是反转后的字符不能包 ...

  7. centos7防暴力破解五种方法

    什么是暴力破解,简单来说就是对一个服务器进行无数次尝试登陆,并用不同的密码进行登陆直到可以登陆成功.暴力破解的基本步骤可以分为以下几步: 1. 找到对应的linux服务器    Ip地址 2.扫描端口 ...

  8. css !important的作用

    css !important的作用是提高指定CSS样式规则的应用优先权. 注意:这个不是万能的,在神奇的IE6下仍然有问题,请参见:http://www.w3chtml.com/css3/rules/ ...

  9. hadoop下安装mahout

    安装hadoop 完成 安装mahout 首先下载mahout压缩文件apache-mahout-distribution-0.12.2.tar.gz 放到/home/hadoop/software- ...

  10. 手机浏览器_安卓_苹果手机Webview 中唤醒APP

    Url scheme是iOS,Android平台都支持,只需要原生APP开发时注册scheme, 那么用户点击到此类链接时,会自动跳到APP.比如 <!-- 打开考拉APP首页 --> & ...