Python 学习总结(一):掌握基础知识,查缺补漏

    经过一周多的学习,对python语言已经有了基本的了解和认识,但仅仅将知识学习一遍是不够的,所以我又从头看了一遍,仔细回味,发现自己对其中知识点的了解的不是很详尽,没有理解就无法开发,唯一的解决办法就是吃透它。当然,作为一个初学者,所谓的吃透不一定是完全的掌握,而是知道它的意思和用法,能够初步简单的运用,比如在一堆代码中,能够知道其意思,在代码中的作用等。下面就让我来总结下:

    (1)python的安装和界面

    本人使用的是Windows64位系统,所以安装起来很简单,自行百度,使用的是3.6x版本,百度网盘下载地址:https://pan.baidu.com/s/1pMrrIOj,密码:ee2a。在开发中要分清命令行模式和python交互模式的区别,不然在学习过程中可能会因为不必要的错误浪费时间。

    (2)python代码编写规范

    如果安装了开发工具,就能很清楚的感受到python语言的语法规范了。使用缩进来组织代码块;大小写敏感等,所以在开发过程中,最好养成良好的开发习惯,这样才能更好更快的开发,避免出错。

    (3)python数据类型、变量、常量

    数据类型无非就是整数、浮点数、字符串、布尔值等,当然后面还有列表、字典什么的,和java其他没多大区别,只是在写法上有点出入,准确的说是表达更加简洁了。在这里注意空值,用None表示,None!=0,和0是有区别的,这点要注意。当然,在开发中,常量、变量同样不可或缺,有点开发基础的都应该有所了解的,通过一个简单的例子来说明一下变量:

 a = 'ABC'
 b = a
 a = 'XYZ'
 print(b)

    上面代码的输出是‘ABC’,分析一下:

执行a = 'ABC',解释器创建了字符串'ABC'和变量a,并把a指向'ABC'

py-var-code-1

执行b = a,解释器创建了变量b,并把b指向a指向的字符串'ABC'

py-var-code-2

执行a = 'XYZ',解释器创建了字符串'XYZ',并把a的指向改为'XYZ',但b并没有更改:

py-var-code-3

所以,最后打印变量b的结果自然是'ABC'了。

    (4)字符串和编码、格式化

    计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理,1字节=8Bit,ASCII、Unicode和UTF-8的关系如下:

字符 ASCII Unicode UTF-8 A 01000001 00000000 01000001 01000001 中 x 01001110 00101101 11100100 10111000 10101101

     很多网页的源码上会有类似<meta charset="UTF-8" />的信息,表示该网页正是用的UTF-8编码。Python对bytes类型的数据用带b前缀的单引号或双引号表示:

x = b'ABC'

    %运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略:

>>> 'Hello, %s' % 'world'
'Hello, world'
>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'

    (5)list、tuple、dict、set

       这几个在开发中很常用,所以必须清楚它们的具体用法。

       1、list是有序集合,能随时添加和删除数据,可变集合;

       2、通过索引访问数据,从0开始,既能正向访问亦能反向访问,即正向从0开始访问第一个元素,反向从-1开始访问最后一个元素;

        3、用 [  ] 显示;

        4、其方法很多,如 append、insert、pop;

        5、里面元素的数据类型也可以不同

>>> AList = ['Ada','Bob',123,'Daddy','Emmy']
>>> AList[0]
>>> 'Ada'
>>> AList[-1]
>>> 'Emmy'

        注意确保不要越界,会报IndexError错误。

         1、tuple,另一种有序列表叫元组,和list相似,但一旦初始化就不能修改;

         2、通过索引访问数据,从0开始,既能正向访问亦能反向访问,即正向从0开始访问第一个元素,反向从-1开始访问最后一个元素;

         3、用()显示,当定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来;

         4、无 append、insert、pop等方法,不能赋值成另外的元素;

         5、特性是代码安全;

         6、只有1个元素的tuple定义时必须加一个逗号,来消除歧义,t(1,);

         7、tuple元素中包含list时,list可变,但tuple本身未变;

>>> t = ('a','b',['A','B'])
>>> t[0]
>>> 'a'
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
>>> ('a','b',['X','Y'])

        注意确保不要越界,会报IndexError错误。

        1、dict全称dictionary,字典,也称为map,使用键-值(key-value)存储,具有极快的查找速度;

        2、dict的key必须是不可变对象;

        3、 dict内部存放的顺序和key放入的顺序是没有关系的;

        4、 方法 get(key)获取对应value,pop(key)删除元素;

>>> d = ['Ada':98,'Bob':78,'Cily':100]
>>> d['Ada']
>>> 98

 

        1、set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key;

        2、 创建一个set,需要提供一个list作为输入集合;

        3、不可以放入可变对象;

        4、方法add(key),remove(key);

>>> s = set([1,2,2,3,1,5])
>>> s
>>> {1,2,3,5}

 

     (6)条件判断和循环

         和java语法类似,也是if-else,while,for的使用:

if <条件判断1>:
    <执行1>
elif <条件判断2>:
    <执行2>
elif <条件判断3>:
    <执行3>
else:
    <执行4>

        注意,这里if语句的特点:从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else,如下打印的是 teenager:

age = 20
if age >= 6:
    print('teenager')
elif age >= 18:
    print('adult')
else:
    print('kid')

        这里的循环有两种方式,一种是for...in循环,一种是while循环,很简单的,基本和java语法一致,如下:

# for...in循环
names = ['Michael', 'Bob', 'Tracy']
for name in names:
    print(name)

# while循环
sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)

        range()函数,可以生成一个整数序列,再通过list()函数可以转换为list,如下:

>>> list(range(5))
[0, 1, 2, 3, 4]

        以上是学习python语言时所必须掌握和理解的,也是前期的知识点,不多但需要充分的理解和运用,只有把基础知识打的够牢固,后面的增加训练如函数、进程等,才能保证自己学起来不吃力。

文章来源:

Author:海岸线的曙光
link:https://my.oschina.net/u/3747963/blog/1609611