看了一个礼拜Python的书,断断续续的看了一大半。今天刚好没有课,想着也没什么事情干,就把这几天Python总结一下,都是一些基础知识

  变量和对象的引用

  在python中一切都是对象,不像C,java那样,还有基本数据类型(话说其实也是对象),但是他们基本类型的变量的值是放在栈里面的,Python就不同了,他没定义一个变量必须进行三步,首先在堆里面建立一个对象,然后声明一个变量,最后将这个变量指向这个对象。所有的变量定义都必须经历 “=”操着符,当然 你要定义一个glabal变量,是没有必要这样的:eg: global a = "",而且这样还会报错。其他的变量声明必须用 “=”,由于变量的数据的值是存放在堆里面的,所以我们进行这样的操作,实质上是改变了引用而已==>a = 3;b  = a; b =1; a == 3 // True,b == 1//True;

  del语句,删除一个对象,释放资源;a = 3; del a ; print(a) //异常,  a已经不存在

  Python的数据类型:

    数字类型:int,float , complex(复数),bool(0/1)

      complex(ai+bj)

    序列:str,bytes(字节串),bytearray(字节数组),list(列表),tuple(元组)

    映射:dict(字典 )

    集合:set,frozenset(不可变集合)

str定义:

  可以用,单引号'',双引号"",和三引号'''''',其中三引号支持多行字符串,包括换行符

  运算符:+,+=,in,not in,*,[],[:]

    值得注意的是in :包括 “as”  in “asd”  //True

            *: as*2 ==> "asas"

    []:a = "asd",a[0] =="a" //True,支持下标为负值 ,a[-1] == d //True

    [:]:a = "asd" , a [1:2] == "sd"//True

  方法:

     ord(单个字符) :返回编码值;

       ord('A') == 65

       chr(int) :返回字符:

           chr(65) == 'A'

     encode("字符集"):返回一个字节串;用指定的字符集编码

       a = "asd" ;    a.encode("GBK")

     decode("字符集"):返回一个字节串;用指定的字符集解码

     en(order):order为序列,查看序列长度,返回一个数字,

           a=“asd”, len(a) == 3;

     max(order):order为序列,返回一个数字,表示order里面的最大值

     zip(order1[,order2][,].....):返回一个迭代器:item型如 ==》(order1[i],order2[i]....)

            eg: a = [1,2,3]

              for c in zip(a):

                print(c)  ===>(1,),(2,),(3,)

     enuemrate(order):类似于zip(),返回一个迭代器 。item型如 ==》(下标,数值)

            eg:a  = [1,2,3]

              emuerate(a) == > (0,1),(1,2)(2,3)

    str.lower():转化为小写;

    str。upper()转换为大写

    str.join(order);将序列转换为字符串:把order用str连接

      eg:a = [1,1,3]

        "".join(a) == 》 “113”

    

字节串:

  字节串为二进制数据,值得范围是0~255,具有不可变性,数据以B/b开头

    eg:b’\xff\x2‘

运算符:

  值得注意的是:

    /:/运算符的到的结果是浮点数

    //:运算符的到的是整数

    **:幂运算符,eg:2**3 == 8

    <,>,<=,>=,=,可以连用,eg:a>b and b >c 可以表示为 a>b>c,但是很用以混淆逻辑,由于优先级的问题,建议使用and or 连接

python的最多有效位数是15位 ,过了15个有效数字会有问题:

    eg:1 < 1 + e-16 不成立

eval(字符串[,映射])方法:

  将字符串转换为数字:可以进行复杂的运算

    a = {'X':3,'Y':5}

    eval("X*X+Y*Y",a) == 34

函数的定义:

  关键字:def;

  定义格式:

    def   <函数名>(参数列表):

        <函数体>

    eg:

      def add(a,b):

        return a+ b;

      add(1,2) == >3

      函数的参数的默认值:

        def add(a,b=2):

          return a+b

        add(1) == > 3

序列:

  序列的特性:可以用过下表访问:

    eg:a = list(“asd”),a[0] == "a"

   值比较可以用:<,>,=<+,>=,比较方法是字典序;

      eg:"a" < "b"//true;"ab" < "b"//true;

    可以进行切片操作:

      eg:list1 = list(["我爱你Python"])

      list1[2:3] == ['P'] //True    list1[1:3] == ['爱' ,‘你’, 'P']

      list[::2]  == ['我', '你', 'y', 'h', 'n'] //True ,每隔一个,娶一个

   llist 是其中的一个序列;

    list相关的函数: 

      list.remove("需要移除的字符串") ,  list.pop(下标)

        eg:  list1 = list("123") ,  list1.remove("1") ,list1 ==  ['2' , '3'] //True

           list1 = list("123")  list1.pop(1)//list ==['2'   ,'3']  弹出一个下标的值 返回弹出的值

    可以进行 in not in +=,+,操作

元组:

  元组的定义:

    a = (a, b ,c .....)   由()括起来的一个类似数组的对象

      元组是不可变对象,可以作字典的建。

    创建一个元组:

      a = ("123","456")

    元组的表现形式为(a,...);这样是创建不了一个元组的;a = (1),这里的a是一个int类型,要这样创建a = (1,);

关于python对象的复制:

  python对象的复制,浅复制,不保护二级对象,及以二级下对象

    这里展示浅复制

    eg:a = ['a',‘b’]

      b =  [1,2,3,a]    a[0]在这里对于b来说是二级对象,不保护

      c = b

      c[0] = 0

      c[3][0] = 0

      print(a) ==>[0,‘b’]

    要想对二级对象,及二级以下对象进行保护,需要进行深复制

      需要引用copy模块

      里面有一个deepcopy()方法

字典:

  字典的形式如:{"键":"值",.....}的形式

  字典的创建:

   1:d1 = {};//创建一个空字典

   2:d1 = {"a":1,“b”:2,“c”:3}

   3:用dict(元组)创建一个字典;

    eg:

        dict(([“a”,1],['b',2]))

          ==》{‘a’:1,‘b’:2}

   4:用{}.fromkeys(key序列,默认值)

      eg:

        {}.fromkeys([‘a’,‘b’,‘c’],0)

          ==》{‘a’:0,‘b’:0,‘c’:0}

  访问字典的值:dict[‘key’]

     dic = {‘a’:1,‘b’:2}

     dic[‘a’] == 》1

    但是这个访问方式在键不存在的时候肯可能会异常

      遍历字典的键值访问,dict.keys()返回一个迭代器

      可以 for c in dict.keys()

          dict[c]

Python基础知识总结的更多相关文章

  1. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  2. python基础知识(二)

    以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍

  3. python 基础知识(一)

    python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...

  4. python基础知识讲解——@classmethod和@staticmethod的作用

    python基础知识讲解——@classmethod和@staticmethod的作用 在类的成员函数中,可以添加@classmethod和@staticmethod修饰符,这两者有一定的差异,简单来 ...

  5. python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

    本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...

  6. python 爬虫与数据可视化--python基础知识

    摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...

  7. python基础知识小结-运维笔记

    接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...

  8. Python基础知识(五)

    # -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春药# @Email : zhou_wanchun@qq.com# @Fi ...

  9. Python基础知识(Basic knowledge)

    Python基础知识(Basic knowledge) 1.认识Python&基础环境搭建 2.Python基础(上) 3.Python基础(中) 4.Python基础(下) 5.Python ...

  10. Python 基础知识(一)

    1.Python简介 1.1.Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时 ...

随机推荐

  1. 手把手封装数据层之DataUtil数据库操作的封装

    上一篇我们写完了数据库连接的封装 没有看的请移步上一篇关于数据库连接的内容 这次我们讲数据库操作的封装.数据库的操作就是增删改查:心再大一点就可以直接分为查询和其他. 因为查询是有返回对象的,而其他都 ...

  2. Python学习笔记2

    闭包 闭包用起来简单,实现起来可不容易. 另一个需要注意的问题是,返回的函数并没有立刻执行,而是直到调用了f()才执行.我们来看一个例子: def count(): fs = [] for i in ...

  3. (转载)深入Java关键字this的用法的总结

    在Java程序设计中经常会见到this的使用,this使得程序设计变得规范.简单.灵活.但是在使用过程中,在不同场 合它的含义并不完全相同,使用不当还会出现错误, 本文对this的几种用法和出现的问题 ...

  4. HTML添加样式三种办法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. java多线程设计模式

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt220 java多线程设计模式 java语言已经内置了多线程支持,所有实现Ru ...

  6. Java设计模式之-------->"代理模式"

    01.什么是代理模式? 解析:代理(Proxy):代理模式的主要作用是为其他对象提供一种代理以控制对这个对象的访问.在某些情况下,一个对象不想或者不能直接引用另一个对象, 而代理对象可以在客户端和目标 ...

  7. Python3 多线程的两种实现方式

    最近学习 Python3 ,希望能掌握多线程的使用,在此做个笔记.同时也希望Python 牛人指点错误.关于线程的概念,前面简单总结了一下 java 的多线程,传送门:java 多线程概念,三种创建多 ...

  8. yum仓库的定制

    矮哥linux运维群: 93324526 笔者QQ:578843228 一.简介 软件包的分类.源码包脚本安装二进制包(rpm包.系统默认包) 源码包: C语言的源代码优点:开源,如果有能力,可以修改 ...

  9. mysql初学,mysql修改,mysql查找,mysql删除,mysql基本命令

    Mysql 下载地址https://dev.mysql.com/downloads/mysql/ 1.连接Mysql格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYS ...

  10. 团队作业8----第二次项目冲刺(Beta阶段) 第六天

    BETA阶段冲刺第六天 1.小会议ing 2.每个人的工作 (1)昨天已完成的工作 重复部分可以用红色字体显示 (2) 今天计划完成的工作 (3) 工作中遇到的困难: 尤少辉:在测试的时候,当队友提出 ...