码迷,mamicode.com
首页 > 编程语言 > 详细

python1

时间:2016-06-17 17:39:58      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:数据结构   python   解释器   

    python,众所周知这是一门解释型语言,与c语言等编译型语言所不同,c语言等是从源文件编译转换成计算机用的语言即二进制语言,当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并运行。而Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序,这一切都需要Python解释器来发力,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。

            作为计算机语言,我觉得很重要的一点就是语言中内存的使用,程序是由数据结构和算法组成的,而python也是如此,话说python中万物皆对象,很形象,而其中字面常量就是一种对象,而其实质却是解释器中的一块内存,单独的字面常量是没有意义的在没有变量引用他时就会自动释放,而这里就需要变量了。


            变量是指向内存的一个符号,python中所有的变量都是引用。


            在复习语法前很重要的一点就是写脚本最开始的步骤:定义其解释器的位置,python是需要解释器才能执行的,

#!/usr/bin/env python  //这是我们的开始必须要熟练
#coding=utf-8          //由于3版本前没有中文库,如果要在脚本中键入中文这句话必不可少。

       接下来就是部分语法由于学艺不精有不足之处请见谅

  • 运算符:

    • 3&2 :按位与 即二进制同为一则一,否则为零

    • 同理3|2 :按位或

    • 3^2 :异或           //分配权限是可用到。 

    • 比较运算符:<  ;>  ;== 等。

    • 逻辑运算符:and      or     not

    • 赋值运算符:=


    • 幂指数 :**       eg:2^3 ---> 2**3

    • 取整    ://      :10//3.0 ==>3.0  而不是3.3333333333

    • 取余    :%

    • 移位    :<< 左移 ;>> 右移       即将数据转化为二进制将其中第一个一左移或右移

    • 逻辑运算符:

  • 程序结构(python语句需执行严格的缩进语法)

    • if语句(分支结构)

  if condition:

            expression

   //if语句中可以嵌套if语句但有个规定就是if分支语句只会进入一个分支执行,不管有几个嵌套语句只会进入第一个if语句的一个分支执行,执行完就推出,而且语句有且只有一个else语句在最后面。

  • 循环结构

    • while     //一般很少使用除非需要一些死循环等,因为循环范围很难控制

    • for 语句   //很好使用,也较为灵活

for item in iterator:          //条件的有限集合range()范围需要可以迭代的数据结构

    expression                 //语句

 


最重要的来了(暂时)

  •  python内置容器(数据结构)

    • 列表       //和c语言中数组相似但有区别       适用于for循环



    • 定义:  li = []  或  li = list() 定义空列表  //建议使用后一种 

    • li.append()   :追加  

    • li.insert(index//位置,object//值):插入

    • li.remove()  :删除匹配到的

    • a=li.pop()    :弹出最后一个元素付给a

    • li.index()     :取下标

    • li.sort()      :排序

    • li.reverse()    :倒序

    • 一般列表赋值,一般都为引用赋值即一个存储单元对应多个变量引用有点像指针或硬链接。

    • 切片则是新建一个存储空间,其中如li [2:4]表示从2截取到4(下标)半开取值即不包含4。

    • li[2:4:2]最后一个2表示递增步长


集合            //set   无序的,元素不能重复的 根据hash值判断是否重复

    定义: s=set()   //定义空集合,与数学的集合类似都具有交集,并集等。

    使用        //列表作为对象常用操作

        定义集合s

             s.difference()                  求集合的差集

             s.update([...])                   迭代器作为参数,迭代器中所有元素追加到集合

             s.intersection()                求集合的交集

             s.union()                         求集合的并集

             s.isdisjoint()                     返回是否有交集

             s.issubset()                      返回是否为子集

             s.difference_update(s1)   两个集合的差集,修改原集合,无返回值

             s.add(字符或数字)            添加字符或数字到集合中                    

             s.remove()                        删除某个元素,不存在时报错

             s.discard()                        删除某个元素,不存在时不进行操作

             s.pop()                             删除某个元素,返回该元素

迭代器

    iter函数,构造集合,抛出返回值

              >>li

              >>[1,2,3,4,5]

              >>it = iter(li)

              >>it.next()

              >>1

              >>it.next()    

              >>2

     当所有元素返回完时抛出一个异常,值得注意的是for语句,把列表等容器传给for语句时,for语句会把容器转换为迭代器,然后执行其返回内容。



列表解析

    [expression for item in iterator]   在expression 使用item变量   返回一个迭代器

             >>li = [1,2,3]

             >>l = (x+1 for x in li)

             >>l.next()

             >>2

             >>l.next()

             >>3

             >>l.next()

             >>4

      待条件的列表解析    即当满足条件时才会append到列表中

             >>li = [1,2,3]


             >>[x for x in li if x%2 ==0]

             >>[2]

       也可以带多个条件。



暂时就这么多,需要注意的是python内置容器是学习和应用的基础,需要熟练掌握





本文出自 “11681250” 博客,请务必保留此出处http://11691250.blog.51cto.com/11681250/1790203

python1

标签:数据结构   python   解释器   

原文地址:http://11691250.blog.51cto.com/11681250/1790203

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!