一、Python语言的入门

最后更新于:2022-04-01 21:47:16

## Python语言的入门 ----From a high school student's view tolearn Python 关键字:高中生学编程 Python语言 计算机语言 一、**学习之前的心理准备** 学习Python或者说其它任何的计算机语言之前应该了解以及具备的能力: 1. 数学基础,其实我发现很多的程序就像是一个个小的算法组合起来的,而且在编程序时对于逻辑思维的能力要求比较高,因为程序是按照人设计的流程来运行的,而且只会遵守代码的真实意图,所以大家在编程时千万不能自己先晕了….. 2. 逻辑思维能力 编写程序的目的,一是解决数学计算,比如象我们使用的计算器就是最简单的例子;二是完成一些事务性的操作,比如我们日常见到的售票系统,银行使用的存取款系统;无论是计算还是事务性流程,都会有因果关系以及各种条件的判断,这些说的高深一点就是逻辑。 3、总结归纳的能力 计算机虽然具有很强的计算能力,可是他并不能够自动的解决我们的问题,比如我们奥数中的“鸡兔同笼”问题,你告诉计算机头多少、腿多少,让它告诉你鸡兔各有多少?除非你百度,计算机自己是不会算的;这就需要我们,通过分析问题,建立相应的数学模型: 1、设头的总数为n1,腿的总数为n2 2、如果按照头的数量,用n2减去n1*2,剩下的都是两条腿的兔子的腿了 3、 所以兔子的数量n3=(n2-2*n1)/2 4、如果n3为整数,那么鸡的数量n4=n1-n3 5、否则无解 我们按照就能够编写出解决问题的程序,然后你只要输入头的数量和腿的数量,现在计算机就可以很智能的替你解决鸡兔同笼的问题了。 二、**为什么选择Python呢** 对于我们初学者来说,最重要的还是简单,当然有技术含量也是必须的(可以显摆J)。简单体现在哪呢? 1、   Python语言有一个交互式的开发环境,因为Python是解释运行,这大大节省了每次编译的时间,满足我们开始编程时的急迫心态,稍微写点东西就期望马上看到结果。 2、    Python语法简单,且内置有几种高级数据结构,如字典、列表等,使得使用起来特别简单。 3、    Python也被称为是一门清晰的语言。【以下内容体会还不是很深刻J】因为它的作者在设计它的时候,总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。这在由TimPeters写的python格言里面表述为:Thereshould be one-- and preferably only one --obvious way to doit.虽然我不知道其他的语言是什么样子,但是Python确实是一门十分简单的语言,每行代码就几乎和平时说的话没什么区别。 4、    Python语言目前也算比较流行的语言,适用面非常广泛,并非“小语种”,完全可以满足显摆的要求 **** **三、Python语言的局限** 虽然Python语言是一个非常成功的语言,但是也有必要明白它的局限性。 1.       运行效率低下 目前为止,Python语言可以说是所有主流脚本语言中速度最慢的。(是这样么?待考.)这与其脚本引擎的设计思路有关。如果你的应用对于速度有着较高的要求,就要考虑Python是否能满足需要。不过这一点可以通过使用C编写关键模块,然后由Python调用的方式加以部分解决。(……我也不太懂) 2. 独特的语法 这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。在我最开始学习Python的时候,经常是写一大堆的if语句, 而且因为每个语句都需要缩进,导致我经常就把缩进的层级搞混导致程序无法运行。 不过如果在写程序的时候把每个分支和循环的层级都弄懂的话,还是很大程度上可以避免的。 3. 无类型 作为一种动态语言,随时随地创建和使用变量是Python给我们带来的巨大的便利。但是它也会使得程序不严谨,某些错误只有在运行中才可能出现。所以我每次在写完一个小的project的时候都需要运行好几次来进行测试, 从而找出里面的错误 四、**python语言的神奇之处** python语言之所以被大家公认为很cool的一门语言,在于它提供的一些神奇的基础资源库,在后面的介绍中会具体的进行介绍,这里简单的给大家一个简单的例子。 随机产生福利彩票双色球的号码 双色球由红球和蓝球两部份组成,从33个红球号码(01~33)中选择6个,再从16个蓝球号码(01~16)中选择1个。 以下语句就可简洁的实现双色球的选号: import random random.sample(range(1,34),6)+random.sample(range(1,17),1) [16, 22,28, 3, 19, 15, 2] 要是用C语言来实现,你知道会有多复杂吗? 以下是从百度知道中搜到的一个33选6的实现代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

 

#include <stdlib.h>

#include <stdio.h>

##include <stdlib.h>

#include <stdio.h>

#include <time.h> 

#define MAX 6

int main( void)

{

        int number[MAX] = {0};

        int i,j;

        srand()((unsigned)time(NULL)); 

        for(i = 0; i < MAX;i++)

        {

                  number[i] = rand()()% 33; 

                  while(number[i]==0)

                           number[i] = rand()() % 33;

                  //printf("%d ", number[i]);

        }

        while(1)

        {

                  for(i=0;i<6;i++)

                           for(j=i+1;j<6;j++)

                           {

                                    if(number[i]==number[j])

                                    {

                                              number[j]=rand() % 33;

                                              i=-1;

                                    }

                           }

                  if(i==6)

                           break;

        }

for(i= 0; i < MAX;i++)

        printf("%d ", number[i]);

printf("\n");

return 0;

}

 

虽然我们不能够以此而得出结论,但python的便利性确实是公认的。 五、**本篇小结** 总体来说,python是一门全能的语言,如果对于程序的性能没有苛刻的要求,对于除系统底层的操作之外的所有事情都可以处理; 当然,现在还不能够心急,还需要带大家了解一些基本的计算机方面的知识,这样便于后面可以更好地深入学习。 为了便于大家比较系统的学习,我还会推荐一些美国大学的公开课资源,同时,我也会截取其中的一些视频,作为补充。 之后我会详细的介绍如何搭建学习环境,真正的开启我们学习的大门。 有兴趣的话,大家查一查python的英文到底是什么意思,相信大家一定很好奇![一、Python语言的入门](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-10-30_5632e1cc04fc3.gif "一、Python语言的入门")我的更多文章: - [Python程序调试的一些体会](http://blog.sina.com.cn/s/blog_d6cca93e0101ewc9.html)(2013-10-06 22:57:35) - [十四、Python编程计算24点(之二)](http://blog.sina.com.cn/s/blog_d6cca93e0101euxx.html)(2013-10-03 22:18:28) - [十三、Python编程计算24点(之一)](http://blog.sina.com.cn/s/blog_d6cca93e0101eukc.html)![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-10-30_5632e1cc04fc3.gif "此博文包含图片") (2013-10-02 22:15:46) - [十二、Python简单数据结构应用(之二)](http://blog.sina.com.cn/s/blog_d6cca93e0101euk8.html)(2013-10-02 22:10:41) - [十一、Python简单数据结构应用(之一)](http://blog.sina.com.cn/s/blog_d6cca93e0101ep9z.html)(2013-09-23 23:31:49) - [十、Python编程解决组合问题(之二)](http://blog.sina.com.cn/s/blog_d6cca93e0101entc.html)![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-10-30_5632e1cc04fc3.gif "此博文包含图片") (2013-09-21 23:37:27) - [九、Python编程解决组合问题(之一)](http://blog.sina.com.cn/s/blog_d6cca93e0101ent7.html)(2013-09-21 23:32:54) - [八、Python的函数编程(之二)](http://blog.sina.com.cn/s/blog_d6cca93e0101ekwj.html)![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-10-30_5632e1cc04fc3.gif "此博文包含视频") (2013-09-20 23:09:39) - [七、Python的函数编程(之一)](http://blog.sina.com.cn/s/blog_d6cca93e0101ekwg.html)![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-10-30_5632e1cc04fc3.gif "此博文包含视频") (2013-09-20 23:09:10) - [高中生如何学编程](http://blog.sina.com.cn/s/blog_d6cca93e0101e8fn.html)(2013-09-02 19:26:01)
';