python常用知识梳理(必看篇)


Posted in Python onMarch 23, 2017

接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:

1)避免‘\n'等特殊字符的两种方式:

a)利用转义字符‘\' 
b)利用原始字符‘r' print r'c:\now'

2)单行注释,使用一个#,如:

#hello Python 
多行注释,使用三个单引号(或三个双引号),如: 
'''hello python 
hello world''' 
或 
"""hello python 
hello world""" 
另外跨越多行的字符串。也可以使用三个单引号或三个双引号,如: 
'''......'''
或者 
"""......"""

3)字符串中嵌入双引号等特殊符号

a)利用转义字符‘\' 
b)使用单引号括起这个字符串。print ('i l"o"ve fis.com')

4)条件分支:

if condition: 
     条件为真执行的操作 
  else: 
     条件为假执行的操作 
 
  if condition: 
     action 
  elif condition: 
     action 
  else: 
    action 
 
python可以有效避免“悬挂else”(if else对应关系出错) 
条件表达式(三元操作符) 
    small = x if x<y else y 
    如果x<y ,small=x.否则small=y 
断言assert:当这个关键字后面的条件为假,程序自动崩溃并抛出异常 
   assert 3>4 
   可以利用他置入检查点

5)while条件:

条件为真执行的操作 
 
for 目标 in 表达式: 
循环体 
 例:favorite='fishc'
    for i in favorite: 
       print(i,end='') 
 
range([start,] stop[,step=1]) 
生成一个从start参数的值到stop参数值的数字序列 
 
break:终止当前循环体。跳到外层程序 
continue:终止本轮循环,开始下一轮循环(if condition true)

6)and逻辑操作符可以将任意表达式连接在一起,并得到一个布尔类型值

7)引入外援:

a)random模块 
b)randint(),返回一个随机的整数 
import random 或 from random import randint() 
secret=random.randint(1,10)

8)python数据类型

a)数值类型:整型、布尔类型、浮点型、e记法(1.5e10) 
b)类型转换: 
   int()转换为整数 
   str()转换为字符串 
   float()转换为浮点数 
c)获取关于类型的信息: 
   type()函数 
    a=520 
    type(a) 
   isinstance()函数 
    a=12 
    isinstance(a,int) --->返回true
    isinstance(a,str) -->返回false

9)Python值常用操作符

+ - * / % **(幂运算) //(地板除法,结果偏小) 
比较操作符 > < >= <= 
逻辑操作符 and or not 
   优先级: 
     幂运算** 
     正负号 + - 
     算术操作符 * / // 
         + - 
     比较操作符 < > = 
     逻辑擦作福 not and or

10)列表-->可以把整数、浮点数、字符串等打包在一起。数组却不能

创建一个普通列表: 
   member = ['小甲鱼','小布丁','黑夜'] 
创建一个混合列表: 
   mix=[1,'小甲鱼',3.12,[1,2,3]] 
创建空列表: 
   empty=[] 
向列表添加元素: 
   append(): member.append('福禄娃')-->只能添加一个。末尾添加 
   extend(): member.extend(['test','test1'])-->只能以列表形式添加.末尾添加 
   insert(): member.insert(1,'牡丹')-->第一位插入牡丹 
列表中获取元素:使用索引index。    mix[1] 
列表中删除元素:使用remove()。     mix.remove('小甲鱼') 
           使用del。         del mix[3]/mix
           使用pop()。        mix.pop()/mix.pop(1) 
列表切片:使用slice。 mix[1:4]/mix[1:]/mix[:4] 
列表操作符:>,and,+,*,in/not in
列表的小伙伴:dir(list) 
          mix.count('小甲鱼') 
          mix.index('小甲鱼') 
列表逆序:使用reverse。   mix.reverse() 
列表排序:使用sort。     mix.sort() 
       mix.sort(func,key) 
       mix.sort(reverse=True)

11)元组--->不可改变的列表

和列表的主要不同点: 
a)创建和访问一个元组: 大部分用()/, ;列表用[] 
b)元组不可修改数值 
c)更新和删除一个元组:temp = temp[:2] + ('test3',) + temp[2:] 
  del temp 
d)IN/NOT IN,关系操作符,逻辑操作符,乘号操作符,连接操作符

12)字符串的各种内置方法

str1='i love fishc.com'
a=str1[:6] + '插入的字符串'+str1[6:] 
capitalize(): str2.capitalize() 
casefold()--->全部小写 str2.casefold() 
center(width)-->居中,不足空格填充 
count(sub[,start[,end]])-->返回sub在string中出现的次数 
endswith(sub[,start[,end]])-->以sub结束? 
startswith(prefix[,start[,end]])-->以prefix开头 
expandtabs([tabsize=8])-->将tab键转换为空格 
find(sub[,start[,end]])-->sub是否在字符串中出现 
rfind(sub)... 
index(sub[,start[,end]])-->跟sub一样,不过会产生异常 
rindex(sub..)..... 
istitle()/isupper()/ljust(width)/lower()/strip()/title()/lower() 
join(sub):以字符串做分隔符,分割sub 
partion(sub):找到子字符串sub,把字符串分成一个3元组 
replace(old,new[,count]) 
split(sep=none,maxsplit=-1)-->不带参数以空格做分隔符 
swapcase()-->字符串大小写翻转 
zfill(width)-->返回长度为width的字符串,不够补充空格

13)字符串格式化 replacement

"{0} love {1}.{2:.2f}".format("i","fishc",3.1424) 
"{a} love {b}.{c}".format(a="i",b="fishc",c="com") 
"{0} love {b}.{c}".format("i",b="fishc",c="com") 
格式化符号含义: 
  %c:格式化字符及其ASCII码 
  '%c %c %c' % (97,98,99) 
  %s:格式化字符串 
  %d:格式化整数 
  %o:格式化无符号八进制数 
  %x:格式化无符号十六进制数 %X:...(大写) 
  %f:格式化定点数,可指定小数点后的精度 
  %e:用科学技术发格式化定点数===%E 
  %g:根据值的大小决定使用%f或%e===%G 
格式化操作符辅助命令: 
  m.n :m是显示的最小总宽度,n是小数位精度 
  - :用于左对齐 
  + :在正数面前添加正号 
  # :在八进制面前显示0,在十六进制面前显示0x 
  0 :空格用0填充 
字符串转义字符 
  \a:发出系统响铃声 
  \b、\t、\n

14)序列

列表、元组和字符串的共同点: 
  a)都可以通过索引 
  b)索引值从零开始 
内置方法: 
   list()-->help-->转换为序列 
     list() 
       a=list() 
     list(iterable) 
       b='i love fishc.com'
       b=list(b) 
   tuple([iterable])-->把一个可迭代对象转换为元组 
       b=tuple(b) 
   str(obj)-->把obj对象转换为字符串 
   len(obj)-->返回obj的长度 
   max(序列/元组) / min(序列/元组) 
   sum(iterable[,start=0])-->返回序列iterable。。的总和 
   sorted(序列/元组)-->排序 
   reversed(序列/元组)-->返回一个迭代器对象 
   list(reversed(序列/元组))-->返回序列 
   enumerate(序列/元组)-->返回一个迭代器对象 
   list(enumerate(序列/元组))-->返回数组形式列表 
   zip(a,b)-->合并成以元组形式的列表 
   list(zip(a,b))

15)函数

定义:def Myfunction(): 
   print('this is my first function') 
调用:Myfunction() 
函数的参数: 
   def Myfunction(name,age): 
   print(name+age+'test') 
   Myfunction('gncao',‘age') 
函数的返回值: 
   return value 
形参(parameter):函数定义时的参数 
实参(argument):实际传递的参数 
函数文档:在函数中实现 
在函数体中用 '' 或 # 
查看函数文档: a) functionname.__doc__ (四个下划线) 
          b) help(functionname) 
关键字参数:避免参数出乱 
   def Myfunction(words,name): 
   ...... 
   Myfunction(words='words123',name='name123') 
 默认参数: 
   def Myfunction(name='name123',words='words123') 
   ...... 
 收集参数:在参数前面加上*号 
  def test(*params): 
  print('参数的长度是:',len(params)) 
  print('第二个参数是:',params[1]) 
  test(1,'小甲鱼',2,4,5,6,7) 
 
  def test(*params,exp): 
  print('参数的长度是:',len(params),exp) 
  print('第二个参数是:',params[1]) 
  test(1,'小甲鱼',23,4,2,5,7,exp=0)

16)函数有返回值,过程没有返回值

17)函数变量作用域(可见性)

局部:local-->函数内部定义的变量,局部可用 
全局:global-->全局可访问 
当在函数内部试图修改全局变量时,则会在函数内部新建一个跟 全局变量名相同的局部变量

18)内嵌函数和闭包

global关键字: 
   def myfun(): 
     global count ->>>全局变量 
     count=10 
     print(count) 
内嵌函数: 
   def fun1(): 
     print('fun1()正在被调用...') 
     def fun2(): 
        print('fun2()正在被调用') 
     fun2() 
只能通过fun1()访问fun2() 
闭包:在一个内部函数中,对外部函数的变量的引用。成内部函数为闭包 
   def funx(x): 
     def funy(y): 
       return x * y 
     return funy 
调用方式: 
   i=funx(8) 
   i(5) 
   或 
   funx(4)(5) 
 
通过关键字nonlocal可以使得内部函数调用外部函数变量。 
   def fun1(): 
     x=5 
     def fun2(): 
       nonlocal x 
       x*=x 
       return x 
   return fun2()

19,递归:

recursion() 
        def fac(n): 
              if n==1: 
                    return 1 
              else: 
                    return n*fac(n-1) 
        number=int(input('请输入一个整数:')) 
        result=fac(number) 
        print('%d 的阶乘是:%d' % (number,result)) 
 
迭代方法: 
def fab(n): 
  n1=1 
  n2=1 
  n3=1 
 
  if n <1: 
    print('输入有错') 
    return -1 
  while ( n-2>0 ): 
    n3=n2+n1 
    n1=n2 
    n2=n3 
    n-=1 
  return n3 
 
result=fab(20) 
if result != -1: 
  print('总共有%d对小兔子诞生:' % result) 
 
递归方法: 
def fab(n): 
  if n < 1: 
    print('error') 
    return -1 
 
  if n==1 or n==2: 
    return 1 
  else: 
    return fab(n-1) + fab(n-2) 
 
result=fab(20) 
print('总共有%d对兔子诞生' % result) 
 
但是递归的效率比较低

20)字典(key-value)

映射/序列 
例1: 
dict1={'李宁':'一切皆有可能','耐克':'just do it','阿迪达斯':'impossible is nothing'} 
 
print('李宁的口号是:',dict1['李宁']) 
 
例2: 
dict3=dict((('f',70),('i',105))) 
 
例3: 
dict4=dict(小甲鱼='编程改变世界',test='test') 
dict4['小甲鱼']='修改小甲鱼对应的value'   -->如果没有该KEY,则会自动添加一个KEY 
 
字典的内建方法: 
a) 
dict2['key']-->访问字典的元素 
b) 
fromkeys(s[,v]) -->创建或查询key 
dict1.fromkeys((1,2,3)) 
{1: None, 2: None, 3: None} 
dict1.fromkeys((1,2,3),'number') 
{1: 'number', 2: 'number', 3: 'number'} 
c) 
keys()-->dict.keys() -->打印出dict的所有key 
values()-->dict.values() -->打印出dict的所有value 
items()-->dict.items() -->打印出dict所有(key,value) 
get()--> dict.get(key) -->打印key对应的value 
dict.get(key,'text')-->打印key对应的value,如果不存在,则打印text 
in操作符 --> key in dict2 
clear() -->dict.clear() -->清空dict的数据 
copy() -->b=a.copy()  -->拷贝字典 
id(a)-->查看id
pop(key) --> dict.pop(key) -->弹出key 
popitem() -->dict.popitem() -->随机弹出key 
setdefault() -->dict.setdefault(key) -->新建key 
update()  -->dict.update(dict)  -->更新字典

21)集合 --->唯一性

num={1,2,3,4,5} 
set()-->set1=set(列表/元组/字符串) 
不支持索引 
访问集合中的值: 
    使用for循环一一查找     
    使用IN 或者 NOT IN 
add()-->set1.add(value) 
remove()-->set1.remove(value) 
不可变集合: 
num3=frozenset(元组/列表)

22)文件

输入-->处理-->输出 
内存--->磁盘 
open()打开文件: 
open('filename/path',mode='rwxabt+U') 
 
文件对象方法: 
f.close() -->关闭文件 
f.read(size=-1) -->从文件读取size个字符 
f.readline() -->以写入模式打开,如果文件存在,则在末尾添加 
f.write(str) -->将str写入文件 
f.writelines(seq) ->向文件写入seq序列。seq应该是一个返回字符串序列 
f.tell() -->返回当前的位置。书签 
f.seek(offset,from) -->在文件中移动文件指针,从from偏移offset字节 
for each in f:  ---->浏览整个文件 
print(each)

23)文件系统

模块:打包的文件系统 
os模块: 
常用方法: 
os.getcwd():返回工作目录 
os.chdir(path):改变工作目录 
os.listdir(path=''):列出文件目录 
os.mkdir(path):创建目录 
os.makedirs(path):创建递归目录 
os.remove(path):删除文件 
os.removedirs(path):递归删除 
os.rename(old,new):文件重命名 
os.system(command):运行系统的shell命令 
os.curdir:指代当前目录.等价于‘。' 
os.pardir:指代上一级目录 
os.sep:输出操作系统的路径分隔符 
os.linesep:当前平台使用的行终止符 
os.name:指出当前使用的操作系统

24)永久存储

存放:pickling 
读取:unpickling 
首先要导入模块pickle 
import pickle 
>>> my_list=[1,2,3,'test',[23,43]] 
>>> pickle_file=open('my_list.pkl','wb') --》打开一个pickle文件 
>>> pickle.dump(my_list,pickle_file) --》把my_list导入到pickle_file 
>>>pickle_file.close() 
 
>>> pickle_file=open('my_list.pkl','wb') 
>>> my_list2=pickle.load(pickle_file) -->把pickle_file导入到my_list2

25)异常处理

常见标准异常: 
AssertionErron/AttributeError/EOFError/IndexError/KeyError
/NameError/OSError/OverflowError/SyntaxError/TypeError/ZeroDivisionError
 
捕获异常: 
try: 
    检测范围 
except Exception[as reason]: 
    出现异常后的处理代码 print('代码') 
except Exception[as reason]; 
    出现异常后的处理代码 print('daimai'+ str(reason))     
except (Error1,Error2): 
    处理异常的代码 
 
try: 
    检测范围 
except Exception[as reason]: 
    处理异常的代码 
finally: 
    无论如何都会处理的代码 
 
raise语句抛出异常 
raise Exception('指示代码')

26)丰富的else语句和简洁的with语句

else配合其他语句产生更多的功能 
with语句:缩小工作量: 
没有使用with前: 
try: 
  f=open('data.txt','r') 
  for each in f: 
    print(each) 
except OSError as reason: 
  print('出错啦:'+str(reason)) 
finally: 
  f.close() 
使用with后: 
try: 
  with open('data.txt','w') as f: 
    for each in f: 
      print(each) 
except OSError as reason: 
  print('出错啦:'+str(reason))

导入模块三种方式: 
a)import  easygui 
easygui.msgbox('test') 
b)from easygui import * 
msgbox('test') 
c)import easygui as g 
  g.msgbox('test') 
 
建议不要再IDLE上运行EASYGUI

关键词class 
class Turtle: 
    #属性 
    color='green'
    weight=10 
    #方法: 
    def climb(self) 
        print('climb tree') 
 
调用: 
tt=Turtle() -->创建对象 
tt.climb() -->调用方法 
 
 
oo=面向对象 
oo的特征: 
1,封装 
2,继承 
    class mylist(list): 
        pass --->表示只继承父类,不做其他任何改动     
    list2=mylist() 
3,多态 
 
 
self-->相当于c++的this指针 
>>> class ball: 
    def setname(self,name): 
        self.name=name 
    def kick(self): 
        print('i am %s,who kicked me????' % self.name) 
a=ball() 
a.setname('test') 
 
 
4,_init_(self) --->构造方法 
 
>>> class ball: 
    def __init__(self,name): 
        self.name=name 
    def kick(self): 
        print('i am %s,who kicked me????' % self.name) 
b=ball('test') 
 
 
5,公有和私有 
 
类属性和方法默认都是公有的 
name mangling --->名字改编,名字重整 
私有变量:在变量名或函数名前加上'__'双下划线      
访问私有变量方法: 
1,在类内定义方法,间接访问私有变量 
2,._类名__变量名 
 
 
6,继承 
class derivedclassname(basename): 
    .... 
如果子类中出现和父类相同的方法,则覆盖掉父类的方法 
不想覆盖掉父类的方法: 
1,调用未绑定的父类方法 
     def __init__(self): 
        fish.__init__(self)  ----》先调用父类同名的方法 
            self.hungry=True 
2,使用super函数 
     def __init__(self): 
            super().__init__() 
         self.hungry=True     
7,多重继承 
class derivedclass(base1,base2,base3): 
    ...... 
 
8,拾遗 
Mix-in编程机制 
 
类,类对象,实例对象,实例属性(static) 
如果属性的名字和方法的名字相同,则属性会覆盖掉方法 
绑定: 
class bb: 
    def printbb(): 
        print('no zuo no die') 
b1=bb() 
b1.printbb() ---->会出错误 
 
 
9,一些相关的BIF: 
 
issubclass(class,classinfo) 
1,一个类被认为是自己的子类 
2,classinfo可以是类对象组成的元祖,只要class与其中任何一个候选类的子类,则返回TRUE 
 
isinstance(object,classinfo) 
检查对象是否属于classinfo类 
1,如果第一个参数不是对象,则永远返回fasle 
2,如果第二个不是类,则会抛出typeerror的异常 
 
hasattr(object,name) -->测定object中是否有'name‘属性 
hasattr(c1,'x') 
 
getattr(object,name[,default]) -->如果有属性返回1,否则返回default 
 
setattr(object,name,value) -->给object中的name属性赋值vlalue 
 
delattr(object,name) -->删除object中的name属性 
 
property(fget=none,fset=none,fdel=none,doc=none)设置属性,设置定义好的属性 
获取属性的方法,设置属性的方法,删除属性的方法 
class c: 
    def __init__(self,size=10): 
        self.size=size 
    def getsize(self): 
        return self.size 
    def setsize(self,value): 
        self.size=value 
    def delsize(self): 
        del self.size 
    x=property(getsize,setsize,delsize) 
c1=c() 
c1.x    /  c1.x=19   /c1.size

29)魔法方法(构造和析构)

特点: 
1,魔法方法总是被双下划线包围,例如__init__ 
2,魔法方法是面向对象python的一切 
3,魔法方法的魔力体现在他们总能够在适当的时候被自动调用 
 
构造方法: 
 
__init__(self[,...]) -->返回值一定是NONE 
用在实例初始化 
 
__new__(cls[,...])  --->第一个初始化的方法 
当继承一个不可修改属性的类时,则调用此方法修改属性 
class capstr(str): 
    def __new__(cls,string): 
        string=string.upper() 
        return str.__new__(cls,string) 
 
析构方法: 
 
__del__(self)  当数据不适用时,调用此方法 
只有在调用了该对象的所有实例都消失时才会产生此方法

30)魔法方法:算术运算

__add__(self,other):定义加法的行为'+'
例子: 
>>> class new_int(int): 
    def __add__(self,other): 
        return int.__sub__(self,other) 
    def __sub__(self,other): 
        return int.__add__(self,other) 
 
     
>>> a=new_int(3) 
>>> b=new_int(8) 
>>> a+b  ---->此时a是self,b是other 
-5 
 
__sub__(sub,other):减法 
__mul__(sub,other):乘法 
truediv/floordiv/mod/divmod/pow/lshift/rshift/and/xor/or
divmod(a,b)返回的值是一个元祖:(a//b,a%b)

31)网络socket

socket提供较为底层的网络连接及数据传输功能 
tcp socket/udp socket/unix socket 
 
整个通信过程三步走: 
a)客户端连接服务器: 
导入模块: 
import socket 
创建tcp类型的socket: 
c=socket.socket(socket.AF_INET,socket.SOCK_STREAM) 
建立到指定ip地址、端口的tcp连接 
c.connect(('211.121.12.43',80)) 
在系统上使用netstat命令查看新建的连接: 
关闭连接: 
c.close() 
 
b)服务器端监听: 
import socket 
s=socket.socket(socket.AF_INET,socket.sock.SOCK_STREAM) 
s.bind(('127.0.0.1',80)) 
s.listen(1) 
while True: 
    cs,ca=s.accept() -->创建socket和客户端通信 
    cs.sendall('replay') 
    cs.close() 
 
c)客户端收发数据: 
import socket 
c=socket.socket(socket.AF_INET,socket.SOCK_STREAM) 
c.connect(('211.121.12.43',80)) 
向服务端发送‘hello' 
c.send('hello') 
读取服务端回复数据: 
c.recv(1024) 
c.close()

32)HTTP库实现HTTP协议

导入httplib模块: 
import httplib 
创建http实例,指定连接主机名和端口: 
http=httplib.HTTPConnection('itercast.com',80) 
指定要获取的URI: 
http.request('GET','/ask') -->get方法获取指定数据,ask表示要访问的页面 
输出返回的网页body内容: 
print http.getresponse().read() 
关闭连接: 
http.close() 
 
更简单的urllib库: 
导入urllib模块 
import urllib 
创建一个opener的实例 
opener=urllib.build_opener() 
打开指定的url 
f=opener.open('http://www.baidu.com/ask') 
读取返回内容 
f.read()

33)python连接mysql的模块

import MySQLdb 
conn=MySQLdb.connect(user='root',passwd='',host='127.0.0.1') --->连接mysql,默认是localhost 
创建游标,通过游标发送sql指令 
cur=conn.cursor() 
conn.select_db('database-name') --》连接数据库,本例用week 
cur.execute('insert into userinfo(name,age) value('milo',20)') --》执行sql语句。insert 
简单化操作方式: 
sqli='insert into userinfo(name,age,gender) value(%s,%s,%s)'
cur.execute(sqli,('a',37,'male')) 
cur.executemany(sqli,[('test',34,'male'),('test2',36,'female')]) 
cur.execute('delete from userinfo where id=20') -->删除数据 
cur.execute('select * from userinfo') -->查询数据,但是不能直接显示,使用以下方法可以查看 
cur.fetchone()-->在python上显示一行数据 
cur.scroll(0,'absolute')-->移动指标,此为绝对方式 
cur.fetchmany(15)-->在python上显示15条数据.需要输入数据。必须先查询 
cur.fetchmany(cur.execute('select * from userinfo')) -->通过一条命令显示数据 
cur.close() -->关闭游标的连接 
conn.close()  --->关闭数据库连接

以上这篇python常用知识梳理(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

28)类和对象

27)图形用户界面编程:EasyGui

Python 相关文章推荐
Python脚本实现集群检测和管理功能
Mar 06 Python
Python使用xlrd读取Excel格式文件的方法
Mar 10 Python
使用Python的Tornado框架实现一个简单的WebQQ机器人
Apr 24 Python
python算法演练_One Rule 算法(详解)
May 17 Python
利用python 更新ssh 远程代码 操作远程服务器的实现代码
Feb 08 Python
Django中的forms组件实例详解
Nov 08 Python
python 使用plt画图,去除图片四周的白边方法
Jul 09 Python
python实现将json多行数据传入到mysql中使用
Dec 31 Python
TensorFLow 不同大小图片的TFrecords存取实例
Jan 20 Python
Python中return函数返回值实例用法
Nov 19 Python
python 自动识别并连接串口的实现
Jan 19 Python
使用pandas读取表格数据并进行单行数据拼接的详细教程
Mar 03 Python
Python爬取qq music中的音乐url及批量下载
Mar 23 #Python
Python爬取网页中的图片(搜狗图片)详解
Mar 23 #Python
Python编程之event对象的用法实例分析
Mar 23 #Python
Python中.py文件打包成exe可执行文件详解
Mar 22 #Python
python3中dict(字典)的使用方法示例
Mar 22 #Python
Python编程实现删除VC临时文件及Debug目录的方法
Mar 22 #Python
Python多线程经典问题之乘客做公交车算法实例
Mar 22 #Python
You might like
使用迭代器 遍历文件信息的详解
2013/06/08 PHP
PHP也能干大事之PHP中的编码解码详解
2015/04/20 PHP
php简单实现发送带附件的邮件
2015/06/10 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
js window.event对象详尽解析
2009/02/17 Javascript
初窥JQuery(二) 事件机制(1)
2010/11/25 Javascript
jQuery往返城市和日期查询实例讲解
2015/10/09 Javascript
Bootstrap每天必学之折叠(Collapse)插件
2016/04/25 Javascript
如何在Angular.JS中接收并下载PDF
2016/11/26 Javascript
Canvas放置反弹效果随机图形(实例)
2017/08/17 Javascript
p5.js入门教程和基本形状绘制
2018/03/15 Javascript
cnpm加速Angular项目创建的方法
2018/09/07 Javascript
JavaScript错误处理操作实例详解
2019/01/04 Javascript
微信小程序实现的动态设置导航栏标题功能示例
2019/01/31 Javascript
简单了解Javscript中兄弟ifream的方法调用
2019/06/17 Javascript
解决layui 三级联动下拉框更新时回显的问题
2019/09/03 Javascript
利用Python如何生成随机密码
2016/04/20 Python
python 实现删除文件或文件夹实例详解
2016/12/04 Python
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
2017/07/06 Python
Python实现注册登录系统
2017/08/08 Python
Python合并同一个文件夹下所有PDF文件的方法
2019/03/11 Python
Django模板Templates使用方法详解
2019/07/19 Python
详解PyTorch中Tensor的高阶操作
2019/08/18 Python
python列表推导式入门学习解析
2019/12/02 Python
python列表的逆序遍历实现
2020/04/20 Python
基于python3.7利用Motor来异步读写Mongodb提高效率(推荐)
2020/04/29 Python
Crabtree & Evelyn英国官网:瑰珀翠护手霜、香水、沐浴和身体护理
2018/04/26 全球购物
测绘工程个人的自我评价
2013/11/10 职场文书
教师年度考核自我鉴定
2014/01/19 职场文书
大型活动组织方案
2014/05/10 职场文书
英语专业求职信
2014/07/08 职场文书
2014年学习委员工作总结
2014/11/14 职场文书
《确定位置》教学反思
2016/02/18 职场文书
Spring Cloud 中@FeignClient注解中的contextId属性详解
2021/09/25 Java/Android
详解使用内网穿透工具Ngrok代理本地服务
2022/03/31 Servers
码云(gitee)通过git自动同步到阿里云服务器
2022/12/24 Servers