学习Python第一天 杂记一

作者受文章启发决定学习Python,下载安装了ActivePython2.4并以《Dive into Python》为学习资料。通过一个定义函数的例子学习了Python语法,还了解到Python变量无需显式声明类型。之后学习了字典、列表、元组等原生数据类型,在IDE中练习时会因提示回车抛异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        昨天看了程序员合订本上的一篇文章《中国不谈Python》,上面谈到中国有很多人不会Python,而Python作为动态语言的代表在国外非常流行。想起《程序员修炼之道》上的一句话,每年学习一门语言,想想自己在大学三年级正好可以学自己的第三门计算机语言——Python
        
        
      
  从网上下载了ActivePython2.4,安装十分的方便,而且里面包含了一个ActivePython24.chm的帮助文档,非常的详细,可以用来让你begin Python。不过我今天学习的资料是<<Dive into Python>> (Mark, Pilgrim) 程序员合订本里提供的PDF。虽然是英文版,不过读起来却十分容易理解,对于一个刚开始学习Python的人来说,的确是一本好书。连如何在各个操作系统上安装都说明的非常细致。让我想起BBS上看到的一句话,外国人写的书,认为读者是白痴,结果白痴都看的懂……

        学习一门语言,或是一门技术,人们或许总喜欢用HELLOWORLD来演示,不过Python,应该说是Dive into Python 没让我失望,给我的例子不会让我觉得很枯燥的把那一页翻过去。掌握一门语言,最基本的应该是syntax和semantics,然后就是一些Data Types。

        今天学习了一个Python的例子,然后是Native Datatypes。其中穿插了Python的语法和句法,通过例子来学习语言永远比空洞的陈述要好的多。

        def buildConnectionString(params):
        """Build a connection string from a dictionary of parameters.
        Returns string."""
        return ";".join(["%s=%s" % (k, v) for k, v in params.items()])

    
    上面是我学习的第一个例子,给了我不同于JAVA、C/C++的感觉。由def定义一个function,三个引号开始的字符串是this fuction's doc string,是function的一个属性,以三个引号结束。参数没有类型?对!用书上的话说就是

    In Python, variables are never explicitly typed. Python figures out what type a variable is and keeps track of it internally.

(我摘抄了一些话记到notebook上,我觉得对理解Python很有用,一会儿会写出来几个share一下)

不用注意类型,是不是很方便?想到了JavaScript中function的参数都是没有类型的。

    
Python is both dynamically typed(because it doesn't use explicit datatype declarations) and strongly typed(because once a variable has a datatype, it actually matters).

    第一个例子是定义一个function,书上的一句话给了我很大的误解:

    Everything is a function, all functions return a value(even if it's None) and all functions start with def.

    这让我猜Python是function-oriented的语言,不过后来我看到一句话,让我迷惑不解:

    Everything is an object.

    后来我发现作者的英语水平真是很high:

    A function, like everything else in Python, is an object.

    学完这个例子,我又学习了Native Datatypes——Dictionary, List, Tuple等等,它们三个分别用curly braces,brackets,and parntheses来区分。比如说,
    di={“abcd“:“efg“,“higk“:“lmn“,“opq“:123,456:“rst“,78:90}
    li=[“abcdefg“,123,[“a“,“b“,“c“],234]
    tu=(“abcd“,123,“abcd@hotmail.com“)
Dictionay相当于JAVA里的Hashtable
List相当于JAVA里的ArrayList
Tuple相当于……往数据库方面想n_n

    
一边看书,一边在ActivePython的IDE里联系,很容易上手,对于一些object(用词要准确)的属性,IDE会有光标跟踪提示,不过唯一不爽的是看到有提示,就习惯性的打回车,结果就要重新再输一边,why?它仅仅是提示,你回车后什么都没有,IDE检查你句法有问题,就抛Exception了。你照着输一边就OK了。

    最后想说,Python's logo is pretty funny!

    
    

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值