zoukankan      html  css  js  c++  java
  • Python3学习

      要做一个儿童搜索引擎的项目(www.kidsearch.cn),所以开始接触各种新的语言,初步学了PHP爬虫,觉得要做大点的项目用PHP确实不太方便,中文兼容性就是一个比较棘手的问题。python的爬虫确实很厉害,确实有必要学习。

      学习网站:廖雪峰的python3教程http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000

      同样,有点难记,可以用这个:www.selflink.cn/links/python

    以下是学习笔记。因为语言基本都差不多,所以记的内容大多数是一些细小的知识点,可能有其他语言基础的看了会有一些用吧。

    2016.8.7晚 输入输出和表达式

      print('hello','world')  print多个参数中间会用空格隔开,末尾会输出一个回车

      a = input()  读入一行字符串赋值给a变量

      python行末没有分号,if后面没有括号(但是条件后面有冒号),用缩进划分语句块(不是大括号)——与C语言不同的地方

      字符串用单引号和双引号括起来都可以,另外还有三引号(多行字符串)

      #开头的行代表注释

      转义字符与C语言差不多,但是可以在字符串前面加一个r表示不转义。如print(r' ')会输出

      布尔型的值首字母大写 True False

      逻辑运算符除了异或别的都变成英文单词了  and or not ^ 分别是与、或、非、异或

      除法区分了除和整除,/代表正常除,//代表整除

      Python对中文的兼容性非常好,输入输出都可以直接用中文字符(这一点比PHP好太多了啊!)

        这一点得益于编码问题:详情可以参考:http://www.selflink.cn/links/pythonencode

    2016.8.7晚 list和tuple

      list 有序表

        比如一个classmates = ['lqs','zy','lmj'] 的有序表

          两种索引方式,从前到后 0~len-1,从后往前-1~-len

          classmates.append(x) 在末尾添加x元素

          classmates.len()返回数组长度

          classmates.insert(i,x)在索引为i的位置前面插入x元素

          classmates.pop(i)删除索引为i的元素,无参默认删除末尾元素

          classmates.sort()排序

          classmates[i] = 'lll' 修改索引i的元素

        list里的元素类型可以不同

        list里也可以有list元素

        []代表一个空的list

      tuple 元组

        其他都与list类似,只是tuple一旦初始化就不能修改(指不能修改本身,有可能会间接修改,比如tuple里套了一个list)。用()括起来而不是[]

        当tuple只有一个元素时,在元素后面加一个逗号消除歧义。如(1,)

      dict 字典(映射)

        键值之间用冒号,多个映射之间用逗号,总的用大括号,索引用中括号。

        x in d 可以返回一个布尔型,判断是否存在键

        get方法可以避免键不存在而报错,不存在返回一个None,或者自己指定一个值返回

        pop方法,删除一个键,并返回它的值

        list不能做key

      set 集合

        s1 = set([3,1,2])

        s2 = set([2,3,4])

        s1 & s2 交集  s1 | s2 并集

        集合不可有重复元素

        add方法  remove方法  添加、删除元素

        

    2016.8.8晚 学习函数

      Python3官方函数手册:https://docs.python.org/3/library/functions.html#abs

      def nop() :

        pass

      以上定义了一个空函数,pass语句也可以用在if while for 里面

      函数可以不写return,默认return None

      函数可以返回多个值,实际上是一个tuple

      函数的参数可以有默认值,但尽量用不可变对象。如[]替换成None

      可变参数可以在参数名前面加*,传入的时候可以直接传,也可以打包成list或tuple之后再传(打包好的变量名之前也要加*)

      关键字参数,参数名前面加**,传入的时候会打包成dict

      要限制关键字的名字用一个*参数分隔(本质上是在可变参数名后面),如:def person(name , age , * , city , job)

      参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。

      

    2016.8.9晚 高级特性

      list tuple string 切片:[1:3]截取索引1到2之间的内容,导数切片,默认切片,跳跃切片

        for key in dict :

          print(key,dict[key])

        for i,value in enumerate([1,2,3,4]) :

          print(i,value)

        for (x,y) in [(1,1),(2,3),(4,4)] :

          print(x,y)

      生成式列表

        [x*x for x in range(1,10)]

      生成器

        g = (x*x for x in range(1,10))

        for n in g :

          print(n)

        def odd() :
            yield 1
            yield 2
            yield 3
        
        o = odd()
        while True:
            try:
                print(next(o))
            except StopIteration as e:
                print(e.value)
                break

  • 相关阅读:
    Js获取下拉框当前选择项的文本和值
    11、ACL
    10、VLAN
    9、层二交换技术
    8、OSPF
    7、EIGRP
    6、RIP
    5、路由协议原理
    4、设备配置与管理
    3、IP地址划分
  • 原文地址:https://www.cnblogs.com/itlqs/p/5745269.html
Copyright © 2011-2022 走看看