Fork me on GitHub

【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:\workspace\eclipse_neon\python-hello\src\test.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

 

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

 

posted @ 2017-06-11 18:58  已往之不谏  阅读(2953)  评论(2编辑  收藏  举报