原创 爬蟲——代理IP的高匿、匿名、透明介紹

        爲了獲取遠程訪問用戶的IP地址, 我們一般會取請求頭裏的  REMOTE_ADDR    、HTTP_VIA     、   HTTP_X_FORWARDED_FOR    三個地址。   在用戶沒有使用代理的情況下,

原创 函數 join() 的用法

函數: string.join()   1.join()函數: 作用:連接字符串數組。將字符串、元組、列表中的元素以指定的字符(分隔符)連接生成一個新的字符串。 語法:' sep ' . join( seq ) 參數說明: sep:分隔符

原创 高階函數05——請用sorted()對上述列表分別按名字排序、再按成績從高到低排序:

假設我們用一組tuple表示學生名字和成績: L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)] 1. 請用sorted()對上述列表分別按名字排序: L = [(

原创 高階函數03——利用map和reduce編寫一個str2float函數, 把字符串'123.456'轉換成浮點數123.456

利用map和reduce編寫一個str2float函數, 把字符串'123.456'轉換成浮點數123.456: from functools import reduce def str2float(s): def fn(

原创 解惑python3 可迭代對象(iterable)、迭代器(iteration)、生成器(generator)

 注意: 1.構建可迭代對象和迭代器時經常會出現錯誤,原因是混淆了二者。 (1)可迭代對象有個__iter__( ) 方法,調用該方法每次都實例化一個新的迭代器。 (2)迭代器要實現__next__( )方法返回單個元素,還要實現__i

原创 面向對象 __slots__

使用__slots__可以限制實例的屬性 class Student(object): __slots__ = ('name', 'age') # 用tuple定義允許綁定的屬性名稱 >>> s = Student() #

原创 解惑 python3 可變類型與不可變類型 , is 與 == 區別 , 變量賦值、深拷貝與淺拷貝

一、可變類型與不可變類型 (1)可變類型(mutable):列表、字典、集合 (2)不可變類型(unmutable):數字、字符串、元組 簡單點說:可變對象就是允許對自身進行修改;不可變對象不允許對自身進行修改,如果修改了就不是原來的對

原创 Spring、SpringMVC常用註解

Spring 部分: 1.聲明bean的註解 @Component 組件,沒有明確的角色 @Service 在業務邏輯層使用(service層) @Repository 在數據訪問層使用(dao層) @Controller 在展現層使用,

原创 Java容器面試題——查缺補漏

目錄 18.Java容器都有哪些? 19.Collection 和 Collections 有什麼區別? 20.  List  Set  Map  之間的區別是什麼? 21.HashMap 和Hashtable 有什麼區別? 22.如何決

原创 Java反射面試題——查缺補漏

目錄 57、什麼是反射? 58.什麼是Java序列化?什麼情況下需要序列化? 59.動態代理是什麼?有哪些應用? 60.怎麼實現動態代理? 57、什麼是反射? 反射主要是指程序可以訪問、檢測和修改它本身狀態或行爲的一種能力. 在Java

原创 Java多線程面試題——查缺補漏

目錄 35.並行與併發有什麼區別? 36.進程與線程的區別? 37.守護線程是什麼? 38.創建線程有哪幾種方式? 39.Runnable 和 Callable 有什麼區別? 40.線程有哪些狀態? 41.sleep( ) 和 wait(

原创 Java基礎面試題——查缺補漏

試題目錄 1.JDK和JRE有什麼區別? 2.  ==  和 equals 的區別是什麼? 3.兩個對象的 hashCode() 相同,則 equals() 也一定爲 true 嗎? 4.final 在Java中的作用是什麼? 5.Jav

原创 解惑 python3 閉包、裝飾器

一、閉包 定義:內部函數包含對外部作用域而非全局作用域變量的引用,該內部函數稱爲閉包函數 nonlocal關鍵字:如果想要在內函數中修改外函數的值,需要使用 nonlocal 關鍵字聲明變量(見例子6) 判斷是否爲閉包:print( 內層

原创 高階函數01——利用map()函數,把用戶輸入的不規範的英文名字, 變爲首字母大寫,其他小寫的規範名字。

利用map()函數,把用戶輸入的不規範的英文名字, 變爲首字母大寫,其他小寫的規範名字。 輸入:[‘adam’, ‘LISA’, ‘barT’],輸出:[‘Adam’, ‘Lisa’, ‘Bart’] def normalize(na

原创 高階函數02——Python提供的sum()函數可以接受一個list並求和, 請編寫一個prod()函數,可以接受一個list並利用reduce()求積:

Python提供的sum()函數可以接受一個list並求和, 請編寫一個prod()函數,可以接受一個list並利用reduce()求積: from functools import reduce #def prod(L): #