A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

为什么我要学习Python这门语言呢?其实很简单,我想拓展技术面的同时,尝试更多的方向,可能最后会不了了之,谁知道呢?有可能的话,我会向爬虫和数据分析这个方向走。所以也就开始了我的Python学习之旅。当然,前提是我的本职工作Java也要前进。所以,几乎在同一时间我开了两个专栏用于记录Java和Python的学习过程。

因为有Java的基础,所以入门Python还是比较简单的,但我我不想草草了事,所以,会刻意慢一点。说到Python开发环境的安装和工具的使用,我选择的就是Python3.6, 而目前的工具,因为在初期,所以选择了Python自带的IDLE,那就来总结一下我这几天的学习情况吧!对了,我选择的教程就是Python基础教程3。白天需要工作,所以也就是在下班的时候抽时间看一下书。

在Java的专栏中我也已经分享了学习编程的心得,仔细想想也就那么回事,在大体上可以把程序设计分为数据结构和流程控制语句的结合,而对于python来说,就是数据类型和语句的结合,另外还有一些第三方模块。模块也就是使用不同的数据类型和语句编写而成。所以说呀! 拨开云雾见青天,编程的学习还是有规律可循的。

就像是Java中的8种基本数据类型一样,python中也有一些基本的数据类型,那今天就来说说python中的基本的数据结构有哪些。

列表
元组
字符串
字典
其中前面3种统称为序列,为什么强行把前3类归在一起呢?因为它们有共同的操作啊。其中包括索引,切片,相加,相乘和成员检查(即 in 操作符)。
一个个的分析,python中的索引从0开始递增,而且可以使用-1定位到最后一个元素,依次向左递减。切片就很高级了,就是可以访问固定索引范围内的值,比方说s = 'hello' s[1:3] = 'el' 注意一点就行,索引值是含前不含后的。这在python中很常见。切片还有很多比较秀的操作,类如s[-3:-1] = 'll' (注意刚刚说过的含前不含后),s[:] = 'hello' s[1:] = 'ello' s[:3] = 'hel',这些比较常用的操作吧,还有切片支持指定步长,默认步长为1 s[::2] = 'hlo'其余的我也不说,根本记不住好吧!学的时候有个印象就好。序列相加就是直接加呀一个例子:[1,2,3]+[6] = [1,2,3,6] 乘法类似,'h'*3 = 'hhh' 成员资格就是值在不在序列中使用in 来进行判断。举例s = ['A','B','C'] 'A' in s = True 以上只是对Python序列的操作做一个简单的说明。还有一些常用的方法,求长度,最大值,最小值分别使用len() max() min() 理解起来应该不存在问题。序列共同的操作说完之后,我们来看看每个都如何使用。

首先说什么是列表,列表就是将数据使用[ ] 括起来,这就是是列表了,而元组就是将数据使用( ) 括起来,字符串使用的是' ' or " " 这样一总结,就感觉清爽了很多嘛。要问为什么会使用这些符号,人家就是这样定义的,你能咋滴!具体的使用我不想说太多,不然有种在抄书的感觉啊!要知道,列表有很多的内置方法可以是使用,记不住没关系,可以使用命令dir(list) 这样就得到了列表中的所有方法,知道方法不会用方法啊,还有一个命令就是help(list.methodName) 这样就可以得到解释了。然而这是英文的,还是不懂,那就百度去吧。即使现在说了有哪些方法,我相信,不使用的话,还是会忘的一干二净。所以我就不多说了。总之要记住,有很多很多的方法你想到没想到的可能都已经存在了!

元组和字符串是不可变的,而元组和列表又很相似,列表可变,元组不可变,这是区别,而且元组使用的特别少,但是还是有用武之地的,目前没见到而已,还需要修炼修炼。这就是一个元组(1,2,3) 注意元组使用的是括号,中间逗号隔开,但是有一个要注意,若是元组只有一个元素,那么一定要加一个逗号,像这样1, or (1,) 不然谁知道你是在表达数字 1 还是元组(1,)呢 ?

字符串我们应该很熟悉了,说一点,关于字符串的格式问题,我们可以使用%s 来设置格式,形如这样name = 'David' print('Hello , %s' %name ) 这样就可以把name这个字符串填充到需要填充的字符串中。%s 称为转换说明符,我理解的就是占坑。还有一种是使用format方法'{0},{2} and {1}'.format('frist','second','third') 结果: first,third and second 注意,这就是一种有预谋的占坑了,可以指定位置,当然也可以不指定,那就是按照顺序来。字符串的方法更是多到令人发指的地步,没关系,那就一点点的使用吧,我写方法名你门来猜吧center find join lower upper split title strip lstrip rstrip translate isspace isdigit isupper ... 简直了,你们看着办吧!

上面介绍的都可以使用索引来操作的数据类型,但是总是需要以一种数据类型来描述映射关系的吧,于是字典就应运而生了!也就是我们常说的 key-value 键值对。那字典是怎么表示的呢?这样phonebook = {'David':'1234','Lucy':'9876'} 你看,就是一个大括号+冒号+逗号的组合就创建了一个字典,这符号真是多呀,回忆一下列表用[ ] ,元组用( ),字符串用' ' or " " ,字典用{ } 所以说要善于总结啊,这样记得才能牢呀。字典有个类叫dict ,干嘛用的,就是创建字典用的,类似的列表是list 元组是tuple 。翻来覆去的比较,总会记得住,理解的清楚。字典也有些基本的操作,又到了看方法名的时候len(dict) || dict[key] || dict[key] = value || del dict[key] || key in dict || dict-表示一个字典类型的变量,key-字典的键,value-为键赋的值 另外要注意的是,字典的键值必须是不可变的。

还有要介绍一下字典的相关的方法,真的好烦,不想写了。就简单一点dir(dict) 搞定,方法名都可以看到了。方法的使用help(dict.methodName) 也搞定。感觉用字典来格式化字符串这个功能很有用,单独说一下,使用方法format_map(dict) 就可以将字典中的值填充到字符串中,感觉很给力,举例:'data = {'a':'I','b':'You'} ; '{a} love {b}'.format_map(data) = 'I love You' 就是这样,变相的表白啊。

总结一下,目前只是了解到Python的基本数据类型和基本用法,后面再学习语句之后就可以进行简单的逻辑编程了。


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马