漫谈python(2)

这是漫谈python系列的三篇,

本篇会简单的介绍 Python的基本语法和数据结构。

转眼间,暑假已经来临。 小李还在苦苦的学习Python,小李却没有以前踏实了。“强哥,Python 的书我看了一遍又一遍感觉还是没有入门呢”

志强听了,开始给这个小学弟开导了:“学习东西要从基础开始,金庸大侠在《天龙八部》里面郭靖光练习扎马步就练习了3年呢;方法不得当啊。 ”

“是啊, 志强你那肯定有办法”

“来, 给你看一份武林秘籍”。说完,志强给了他一张学习Python 的思维导图.

《漫谈python(2)》 Python 思维导图

”有了这张四维导图,你就知道学习的基本顺序啦“,志强得意洋洋的说道,“我们开始吧, let `s go !”

“师兄,我要快速入门!”

“搭建环境在前章中已经讲过了,我给你讲Python 的基础语法”

1. 快速入门

   基础语法

     a. 代码块和缩进对齐

”有java/C++编程基础的你 , 应该知道我们是用{} 来表示一段代码块,用; 用于语句的结束符号。而在Python 的编程思想中,开发者认为{} 和;几乎是没有用的。代码块可以通过缩进对其来表达代码块的逻辑,而不是使用大括号—-{} “

“厉害了,我的志强!” 小李听了志强的介绍,很是惊讶。“居然可以使用仅仅使用缩进(空格)来表示代码块。不用大括号?这成不成啊”

志强:“哈哈,当然是可以的,仔细回想一下。python 有两大特性,一是 简介, 二是 可读性好。很多人都想接力避免改变,因此对于使用多年{}的人来说,你可能讨厌or不想使用缩进作为代码块。那么,希望你从今天开始学会儿适应, 等半年后在看看这种方式。也许你会发现生活中没有大括号,并不会像你想象的那么糟。 这个放到生活里面同样适用,人嘛,总是需要学会适应变化的,物竞天择,适者生存。”

“是不是似乎还是不太明白? 我们举个例子吧,分别用python\java 来实现对00后的判断。小李你来写java,我写python 的,一会儿我们对比一下。”

来,让我们看看例子:

《漫谈python(2)》 Python 中的代码块用缩进开表示

对比java:

《漫谈python(2)》 java中判断00后

小李看过以后,确实发现有所不同,”确实,python里面没有了() 以及{} 还有分号 呢 ,这对于零基础的人来说很方便。可是,师兄我们是怎么来判断语句是不是在同一个代码块里面呢? “

志强:“这个很简单。我们通过 上下语句是否拥有相同距离的缩进。如果两条相邻的语句缩进距离相同,那么他们一定是在同一个代码块里面,就像这个: ”

《漫谈python(2)》 5行和6行相邻,而且缩进距离相同,属于同一个代码块;但是4行与5行缩进距离不同,所以不属于同一个代码块

你,明白了么? PS: 不明白请留言。

    b. 变量不需要声明

弱类型的动态语言, 使用变量前无需声明; 这点和javaScript很像。但是弱类型语言不代表python没有数据类型。

2. Python 数据类型

2.1 数字

数字提供了标量的存储和访问的方式。它是不可更改的类型。所谓的不可更改意味着只要更改数字的值就会分配新的空间。python支持多种数字类型:整型、长整型、布尔型、浮点型。

a 如何创建数值对象,并且赋予其值?

intA=1; #整型

LongA=1L; #长整型

floatA=3.14159 #浮点型

doubleA=3E # 双精度

doubleB=60.

ComplexA=12+3J # 复数

b 如何删除数字对象

del intA

del ComplexA ,  floatA, LongA

“Python 数字类型的操作大概就是这样啦. “志强给小李讲完之后长舒一口气

“志强,我明白了. Python 里面数据是没有办法显示声明的;于是我们只能通过在赋值的过程中指定类型.对吧”

“可以这样说. 通过在数字后面加上L,F,等方式指定类型”

“那这样看来, 操作数字的时候依然需要数据类型转换”

“你说的没错,差点把这个忘了. 这点涉及到数字对象的操作, 且听我慢慢道来……”

c 有关数字对象的操作

“我们在学习其他的语言的时候, 都会保证两个数字相加的时候,必须保证操作的数字是合适的类型.  这点在Python中依旧适用. “

“那如果两个数字类型不同呢?”,小李说.

“哈哈, Python 有一套自己的转换规则.”, 志强说.

“首先,如果操作数字是同一个类型,那么没有必要进行转换;

否则,Python 会检查一个操作数字是否可以转换为另一个操作数的类型.

         如果可以,那就返回转换的结果 ; 当然也不是所有的转换都是可以的,比如: 让一个复数去转换成一个非负数类型,让一个浮点数自动的转换为integer类型…”

“我天,那得怎么才能记住呢?”

志强听了小李的话, 胸有成竹的说道:”这个简单.  和java的自动转机制是差不多的, Python只能自动转化为较`大`的类型, 而转化为较小的类型可能需要强制转换”.

“所谓的大小, 就是表示的范围了. 你看,我们在学习高中的数学时候,经常会这样说:  复数的集合范围 大于 浮点数  ; 而浮点数的集合范围又大于 整数…  “

“这样理解起来确实是方便多了. 看来学东西还是需要技巧的, 死记硬背是不行的”

“然也,哈哈”

    原文作者:斐波那契的数字
    原文地址: https://www.jianshu.com/p/da37734194b2
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞