• python 常用代码


    获取标签名 h1 class 是h1user
    soup.find(name="h1", attrs={"class":"h1user"});
    获取标签内容
    h1userSoup.string;

    __str__ 使用
    class Student(object):
    def __init__(self, name):
    self.name = name
    def __str__(self):
    return self.name

    print(Student('Michael'))

    #os.path.dirname() 用于去掉文件名,返回目录所在路径
    # os.path.join() 用于将分离的各部分组合成一个路径名
    #os.path.abspath() 返回path规范化的绝对路径

    import os

    BASEDIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

    ADMIN_DB = os.path.join(BASEDIR, 'db', 'admin')
    COURSE_DB = os.path.join(BASEDIR, 'db', 'course')

    以任何字符结尾

    会自动在行末加上回车,如果不需回车和换行,以某个字符结尾,只需在print语句的结尾添加一个逗号”,“end="*",就可以改
    变它的结束字符。

    >>> for i in range(0,6):
    print (i,end=':')

    0:1:2:3:4:5

    print 会自动在行末加上回车,如果不需回车,只需在print语句的结尾添加一个逗号”,“,就可以改变它的行为。

     for i in range(0,6):     
    print i,

    url

    urllencode()将字符串等转换为URL.(from urllib.parse import urlencode)

    json对象

    编码:json.dumps().把一个Pyhton对象编码转换成Json字符串.

    python对象

    解码:json.loads().把json格式字符串解码成Python对象.

    soup.select:CSS选择器

    hashlib提供常见的摘要算法:MD5,SHA1

    摘要算法又称哈希算法、散列算法。
    它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)
    hashlib.MD5().hexdigest()输出加密后的密文

    sys.path.append("/*").添加当前目录下路径*

    注释: 单行注释:#
    多行注释:'''内容'''

    python中自带换行,end=' '.若写成end=""则不换行
    end后面也可以跟"+"、"="等

    python2 输入函数:raw_input

    python3 输入函数:input(两者效果相同)

    print(" hello "*10)(hello是要输出的内容,10是要输出的遍数)

    5.互换变量值: A=100,B=200
    A,B = B,A 即可A=200,B=100

    6.生成随机数 import random
    random.randint(x,y)生成一个大于等于x小于等于y的随机数

    长度 len(xxx)

    切片 name="abcdefghijkl"
    name[0]=a name[-1]=l
    name[0:2]=ab
    name[::]--->'abcdefghijkl'
    name[::2]-->'acegik'
    name[::-1]-->'lkjihgfedcba'

    延时 import time
    time.sleep(1) 单位:秒

    全局变量在函数中可以随意调用,但是不可以修改,
    除非在函数内加上:global 变量名,修改后会影响全局
    可变类型需要加global,不可变的不需要

    函数返回多个数据有三种方式:元组(),列表[],字典{ }

    排序 xxx.sort() 从小到大 xxx.sort(reverse=True) 从大到小
    如果列表里面是字典,则需要用到匿名函数(lambda)
    a.sort(key=lambda x:x[字典的key],reverse=True)

    alist = [('2''3''10'), ('1''2''3'), ('5''6''7'), ('2''5''10'), ('2''4''10')]

    # 多级排序,先按照第3个元素排序,然后按照第2个元素排序:
    print sorted(alist, cmp = None, key = lambda x:(int(x[2]), int(x[1])), reverse = False)
     
    不定长参数:*args(元组),**kwargs(字典,传入方式:xx=123),
    解包:
    列表/元组当做实参传递的时候,如果前面有一个*,表示对其进行解包
    意思是:[11,22,33]----->11,22,33
    字典当做实参传递的时候,如果前面有两个*,表示对其进行解包
    意思是:{"aa":100,"bb":200}---->aa=100,bb=200
     
    可变数据类型:列表、字典
    不可变数据类型:数字、字符串、元组
    字典中的key只能是不可变类型
     

    a=a+a a的地址发生变化
    a+=a a的地址不变

    16.调函数是堆栈、出栈的过程

    当有两个函数名一样时,后者会自动覆盖前者,但不会报错.

    os.listdir("目录") 获取当前目录下的所有文件的名称

    19. >>> s = set([1,5,6])#set
    >>> s
    {1, 5, 6}
    >>> d = ([2,5,8])   list
    >>> d
    [2, 5, 8]
    >>> type(s)
    <class 'set'>
    >>> type(d)
    <class 'list'>

    判断一个对象是不是迭代对象:Interable
    from collections import Iterable
    >>> isinstance('abc', Iterable) # str是否可迭代
    True
    >>> isinstance([1,2,3], Iterable) # list是否可迭代
    True
    >>> isinstance(123, Iterable) # 整数是否可迭代
    False
    可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator
    可以使用isinstance()判断一个对象是否是Iterator对象:
    >>> from collections import Iterator
    >>> isinstance((x for x in range(10)), Iterator)
    True
    >>> isinstance([], Iterator)
    False

    列表生成器: [x * x for x in range(1, 11)]
    [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

    还可以使用两层循环,可以生成全排列:
    [m + n for m in 'ABC' for n in 'XYZ']
    ['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']

    把一个list中所有的字符串变成小写
    L = ['Hello', 'World', 'IBM', 'Apple']
    [s.lower() for s in L]
    ['hello', 'world', 'ibm', 'apple']

    杨辉三角:
    def yanghui():
    L = [1]
    while True:
    yield L
    L.append(0)
    L = [L[i-1]+L[i] for i in range(len(L))]
    n = 0
    for t in yanghui():
    print(t)
    n = n + 1
    if n == 10:
    break

    函数本身也可以赋值给变量
    >>>f = abs
    >>>f(-10)
    10

    24.把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式。
    from functools import reduce

    多进程:from multiprocessing import Pool

    GROUP_START = 1
    GROUP_END = 20

    if __name__ == "__main__":
    groups = [x * 20 for x in range(GROUP_START, GROUP_END + 1)]
    pool = Pool()
    pool.map(main, groups)

    26.==.判断是不是相同内容
    is.判断指向的是不是同一个地址、空间

    27.__xx__表示系统给的函数
    _类名__私有属性

  • 相关阅读:
    [NOIP2010]引水入城
    [NOIP2009]靶形数独
    设计模式学习笔记——桥接模式(Bridge)
    BootStrap3.0学习--JavaScript 插件
    BootStrap3.0学习--组件
    BootStrap3.0学习--全局 CSS 样式
    BootStrap3.0学习--起步
    设计模式之第11章-建造者模式(Java实现)
    设计模式之第10章-桥接模式(Java实现)
    设计模式之第9章-原型模式(Java实现)
  • 原文地址:https://www.cnblogs.com/mmbbflyer/p/7737934.html
Copyright © 2020-2023  润新知