一.運算符
1、算數運算:
算數運算符相信大家都不陌生吧,尤其是加減乘除,好!那我就帶着大家看看最后三個,這三個到底是干什么玩意的?
- %,取兩數相除的余數,看圖:
- **,x的多少次冪,看圖:
- //,取整除,你可以理解為向下取整,看圖:
2、比較運算:
注意:當為一個等號時,多為賦值,兩個等號為比較,另外不等於常用是!=
3、賦值運算:
4、邏輯運算:
邏輯運算符里,and和or好理解,那我就講一下not:這家伙就是唱反調的--看圖
5、成員運算:
成員運算符,從字面上意思去理解,問誰是不是某組織里的一份子,好!例子說話
二.基本數據類型
- 對象是基於類創建的,對象的功能或方法都在類里
- python里的基本數據類型--int,str,list,dict,tuple都是類
- 類是抽象的,對象則是具體的,所以只有類-對象化,才可使用類的方法
- 查看類或對象的所有方法:dir(對象)--查看功能, help(類)--詳細, ctrl + 左鍵(pycharm里)
1.int(整型)
- 在32位機器上,整數的位數為32位,取值范圍為-2**31~2**31-1,即-2147483648~2147483647
- 在64位系統上,整數的位數為64位,取值范圍為-2**63~2**63-1,即-9223372036854775808~922337203685477580
class int(object): """ int(x=0) -> int or long int(x, base=10) -> int or long Convert a number or string to an integer, or return 0 if no arguments are given. If x is floating point, the conversion truncates towards zero. If x is outside the integer range, the function returns a long instead. If x is not a number or if base is given, then x must be a string or Unicode object representing an integer literal in the given base. The literal can be preceded by '+' or '-' and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int('0b100', base=0) 4 """ def bit_length(self): """ 返回表示該數字的時占用的最少位數 """ """ int.bit_length() -> int Number of bits necessary to represent self in binary. >>> bin(37) '0b100101' >>> (37).bit_length() 6 """ return 0 def conjugate(self, *args, **kwargs): # real signature unknown """ 返回該復數的共軛復數 """ """ Returns self, the complex conjugate of any int. """ pass def __abs__(self): """ 返回絕對值 """ """ x.__abs__() <==> abs(x) """ pass def __add__(self, y): """ x.__add__(y) <==> x+y """ pass def __and__(self, y): """ x.__and__(y) <==> x&y """ pass def __cmp__(self, y): """ 比較兩個數大小 """ """ x.__cmp__(y) <==> cmp(x,y) """ pass def __coerce__(self, y): """ 強制生成一個元組 """ """ x.__coerce__(y) <==> coerce(x, y) """ pass def __divmod__(self, y): """ 相除,得到商和余數組成的元組 """ """ x.__divmod__(y) <==> divmod(x, y) """ pass def __div__(self, y): """ x.__div__(y) <==> x/y """ pass def __float__(self): """ 轉換為浮點類型 """ """ x.__float__() <==> float(x) """ pass def __floordiv__(self, y): """ x.__floordiv__(y) <==> x//y """ pass def __format__(self, *args, **kwargs): # real signature unknown pass def __getattribute__(self, name): """ x.__getattribute__('name') <==> x.name """ pass def __getnewargs__(self, *args, **kwargs): # real signature unknown """ 內部調用 __new__方法或創建對象時傳入參數使用 """ pass def __hash__(self): """如果對象object為哈希表類型,返回對象object的哈希值。哈希值為整數。在字典查找中,哈希值用於快速比較字典的鍵。兩個數值如果相等,則哈希值也相等。""" """ x.__hash__() <==> hash(x) """ pass def __hex__(self): """ 返回當前數的 十六進制 表示 """ """ x.__hex__() <==> hex(x) """ pass def __index__(self): """ 用於切片,數字無意義 """ """ x[y:z] <==> x[y.__index__():z.__index__()] """ pass def __init__(self, x, base=10): # known special case of int.__init__ """ 構造方法,執行 x = 123 或 x = int(10) 時,自動調用,暫時忽略 """ """ int(x=0) -> int or long int(x, base=10) -> int or long Convert a number or string to an integer, or return 0 if no arguments are given. If x is floating point, the conversion truncates towards zero. If x is outside the integer range, the function returns a long instead. If x is not a number or if base is given, then x must be a string or Unicode object representing an integer literal in the given base. The literal can be preceded by '+' or '-' and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int('0b100', base=0) 4 # (copied from class doc) """ pass def __int__(self): """ 轉換為整數 """ """ x.__int__() <==> int(x) """ pass def __invert__(self): """ x.__invert__() <==> ~x """ pass def __long__(self): """ 轉換為長整數 """ """ x.__long__() <==> long(x) """ pass def __lshift__(self, y): """ x.__lshift__(y) <==> x<<y """ pass def __mod__(self, y): """ x.__mod__(y) <==> x%y """ pass def __mul__(self, y): """ x.__mul__(y) <==> x*y """ pass def __neg__(self): """ x.__neg__() <==> -x """ pass @staticmethod # known case of __new__ def __new__(S, *more): """ T.__new__(S, ...) -> a new object with type S, a subtype of T """ pass def __nonzero__(self): """ x.__nonzero__() <==> x != 0 """ pass def __oct__(self): """ 返回改值的 八進制 表示 """ """ x.__oct__() <==> oct(x) """ pass def __or__(self, y): """ x.__or__(y) <==> x|y """ pass def __pos__(self): """ x.__pos__() <==> +x """ pass def __pow__(self, y, z=None): """ 冪,次方 """ """ x.__pow__(y[, z]) <==> pow(x, y[, z]) """ pass def __radd__(self, y): """ x.__radd__(y) <==> y+x """ pass def __rand__(self, y): """ x.__rand__(y) <==> y&x """ pass def __rdivmod__(self, y): """ x.__rdivmod__(y) <==> divmod(y, x) """ pass def __rdiv__(self, y): """ x.__rdiv__(y) <==> y/x """ pass def __repr__(self): """轉化為解釋器可讀取的形式 """ """ x.__repr__() <==> repr(x) """ pass def __str__(self): """轉換為人閱讀的形式,如果沒有適於人閱讀的解釋形式的話,則返回解釋器課閱讀的形式""" """ x.__str__() <==> str(x) """ pass def __rfloordiv__(self, y): """ x.__rfloordiv__(y) <==> y//x """ pass def __rlshift__(self, y): """ x.__rlshift__(y) <==> y<<x """ pass def __rmod__(self, y): """ x.__rmod__(y) <==> y%x """ pass def __rmul__(self, y): """ x.__rmul__(y) <==> y*x """ pass def __ror__(self, y): """ x.__ror__(y) <==> y|x """ pass def __rpow__(self, x, z=None): """ y.__rpow__(x[, z]) <==> pow(x, y[, z]) """ pass def __rrshift__(self, y): """ x.__rrshift__(y) <==> y>>x """ pass def __rshift__(self, y): """ x.__rshift__(y) <==> x>>y """ pass def __rsub__(self, y): """ x.__rsub__(y) <==> y-x """ pass def __rtruediv__(self, y): """ x.__rtruediv__(y) <==> y/x """ pass def __rxor__(self, y): """ x.__rxor__(y) <==> y^x """ pass def __sub__(self, y): """ x.__sub__(y) <==> x-y """ pass def __truediv__(self, y): """ x.__truediv__(y) <==> x/y """ pass def __trunc__(self, *args, **kwargs): """ 返回數值被截取為整形的值,在整形中無意義 """ pass def __xor__(self, y): """ x.__xor__(y) <==> x^y """ pass denominator = property(lambda self: object(), lambda self, v: None, lambda self: None) # default """ 分母 = 1 """ """the denominator of a rational number in lowest terms""" imag = property(lambda self: object(), lambda self, v: None, lambda self: None) # default """ 虛數,無意義 """ """the imaginary part of a complex number""" numerator = property(lambda self: object(), lambda self, v: None, lambda self: None) # default """ 分子 = 數字大小 """ """the numerator of a rational number in lowest terms""" real = property(lambda self: object(), lambda self, v: None, lambda self: None) # default """ 實屬,無意義 """ """the real part of a complex number"""
- 你不用擔心數值超過int的長度,python會自動轉化long(長整)

class int(object): """ int(x=0) -> int or long int(x, base=10) -> int or long Convert a number or string to an integer, or return 0 if no arguments are given. If x is floating point, the conversion truncates towards zero. If x is outside the integer range, the function returns a long instead. If x is not a number or if base is given, then x must be a string or Unicode object representing an integer literal in the given base. The literal can be preceded by '+' or '-' and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int('0b100', base=0) 4 """ def bit_length(self): """ 返回表示該數字的時占用的最少位數 """ """ int.bit_length() -> int Number of bits necessary to represent self in binary. >>> bin(37) '0b100101' >>> (37).bit_length() 6 """ return 0 def conjugate(self, *args, **kwargs): # real signature unknown """ 返回該復數的共軛復數 """ """ Returns self, the complex conjugate of any int. """ pass def __abs__(self): """ 返回絕對值 """ """ x.__abs__() <==> abs(x) """ pass def __add__(self, y): """ x.__add__(y) <==> x+y """ pass def __and__(self, y): """ x.__and__(y) <==> x&y """ pass def __cmp__(self, y): """ 比較兩個數大小 """ """ x.__cmp__(y) <==> cmp(x,y) """ pass def __coerce__(self, y): """ 強制生成一個元組 """ """ x.__coerce__(y) <==> coerce(x, y) """ pass def __divmod__(self, y): """ 相除,得到商和余數組成的元組 """ """ x.__divmod__(y) <==> divmod(x, y) """ pass def __div__(self, y): """ x.__div__(y) <==> x/y """ pass def __float__(self): """ 轉換為浮點類型 """ """ x.__float__() <==> float(x) """ pass def __floordiv__(self, y): """ x.__floordiv__(y) <==> x//y """ pass def __format__(self, *args, **kwargs): # real signature unknown pass def __getattribute__(self, name): """ x.__getattribute__('name') <==> x.name """ pass def __getnewargs__(self, *args, **kwargs): # real signature unknown """ 內部調用 __new__方法或創建對象時傳入參數使用 """ pass def __hash__(self): """如果對象object為哈希表類型,返回對象object的哈希值。哈希值為整數。在字典查找中,哈希值用於快速比較字典的鍵。兩個數值如果相等,則哈希值也相等。""" """ x.__hash__() <==> hash(x) """ pass def __hex__(self): """ 返回當前數的 十六進制 表示 """ """ x.__hex__() <==> hex(x) """ pass def __index__(self): """ 用於切片,數字無意義 """ """ x[y:z] <==> x[y.__index__():z.__index__()] """ pass def __init__(self, x, base=10): # known special case of int.__init__ """ 構造方法,執行 x = 123 或 x = int(10) 時,自動調用,暫時忽略 """ """ int(x=0) -> int or long int(x, base=10) -> int or long Convert a number or string to an integer, or return 0 if no arguments are given. If x is floating point, the conversion truncates towards zero. If x is outside the integer range, the function returns a long instead. If x is not a number or if base is given, then x must be a string or Unicode object representing an integer literal in the given base. The literal can be preceded by '+' or '-' and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int('0b100', base=0) 4 # (copied from class doc) """ pass def __int__(self): """ 轉換為整數 """ """ x.__int__() <==> int(x) """ pass def __invert__(self): """ x.__invert__() <==> ~x """ pass def __long__(self): """ 轉換為長整數 """ """ x.__long__() <==> long(x) """ pass def __lshift__(self, y): """ x.__lshift__(y) <==> x<<y """ pass def __mod__(self, y): """ x.__mod__(y) <==> x%y """ pass def __mul__(self, y): """ x.__mul__(y) <==> x*y """ pass def __neg__(self): """ x.__neg__() <==> -x """ pass @staticmethod # known case of __new__ def __new__(S, *more): """ T.__new__(S, ...) -> a new object with type S, a subtype of T """ pass def __nonzero__(self): """ x.__nonzero__() <==> x != 0 """ pass def __oct__(self): """ 返回改值的 八進制 表示 """ """ x.__oct__() <==> oct(x) """ pass def __or__(self, y): """ x.__or__(y) <==> x|y """ pass def __pos__(self): """ x.__pos__() <==> +x """ pass def __pow__(self, y, z=None): """ 冪,次方 """ """ x.__pow__(y[, z]) <==> pow(x, y[, z]) """ pass def __radd__(self, y): """ x.__radd__(y) <==> y+x """ pass def __rand__(self, y): """ x.__rand__(y) <==> y&x """ pass def __rdivmod__(self, y): """ x.__rdivmod__(y) <==> divmod(y, x) """ pass def __rdiv__(self, y): """ x.__rdiv__(y) <==> y/x """ pass def __repr__(self): """轉化為解釋器可讀取的形式 """ """ x.__repr__() <==> repr(x) """ pass def __str__(self): """轉換為人閱讀的形式,如果沒有適於人閱讀的解釋形式的話,則返回解釋器課閱讀的形式""" """ x.__str__() <==> str(x) """ pass def __rfloordiv__(self, y): """ x.__rfloordiv__(y) <==> y//x """ pass def __rlshift__(self, y): """ x.__rlshift__(y) <==> y<<x """ pass def __rmod__(self, y): """ x.__rmod__(y) <==> y%x """ pass def __rmul__(self, y): """ x.__rmul__(y) <==> y*x """ pass def __ror__(self, y): """ x.__ror__(y) <==> y|x """ pass def __rpow__(self, x, z=None): """ y.__rpow__(x[, z]) <==> pow(x, y[, z]) """ pass def __rrshift__(self, y): """ x.__rrshift__(y) <==> y>>x """ pass def __rshift__(self, y): """ x.__rshift__(y) <==> x>>y """ pass def __rsub__(self, y): """ x.__rsub__(y) <==> y-x """ pass def __rtruediv__(self, y): """ x.__rtruediv__(y) <==> y/x """ pass def __rxor__(self, y): """ x.__rxor__(y) <==> y^x """ pass def __sub__(self, y): """ x.__sub__(y) <==> x-y """ pass def __truediv__(self, y): """ x.__truediv__(y) <==> x/y """ pass def __trunc__(self, *args, **kwargs): """ 返回數值被截取為整形的值,在整形中無意義 """ pass def __xor__(self, y): """ x.__xor__(y) <==> x^y """ pass denominator = property(lambda self: object(), lambda self, v: None, lambda self: None) # default """ 分母 = 1 """ """the denominator of a rational number in lowest terms""" imag = property(lambda self: object(), lambda self, v: None, lambda self: None) # default """ 虛數,無意義 """ """the imaginary part of a complex number""" numerator = property(lambda self: object(), lambda self, v: None, lambda self: None) # default """ 分子 = 數字大小 """ """the numerator of a rational number in lowest terms""" real = property(lambda self: object(), lambda self, v: None, lambda self: None) # default """ 實屬,無意義 """ """the real part of a complex number"""
我們會看到有好多方法,還好多帶兩下划線的方法,你可能會想,這些我們都會經常用嗎?
那我告訴這些帶兩下划線的方法基本不用,這些方法是python私有方法,讓我們來看一個小例子就知道python怎么私有化的
str1 = 'you are ' str2 = 'very nice' result1 = str1.__add__(str2) print(result1) #結果為you are very nice result2 = str1 + str2 print(result2) #結果為you are very nice
好,兩種方式的結果都是一樣的,不過在python里,卻是在執行第二種方式時調用了第一種方式
n1 = 123 print(n1) #結果為123 n2 = int(123) print(n2) #結果為123
看着上面的代碼,我們可以知道根據int類,創建一個對象有兩種方式,而本質上是在執行方式一時調用了方式二,然后方式二又去int的特有功能里找到__init__並執行了它(后面講的基礎數據類型都是這兩種創建方式,內部調用原理也一樣)
bit_length() 獲取表示的二進制最短位數(什么?你看不懂?我講的這么通俗易懂,你居然不懂?好吧,我講的太官方了,看個小例子吧)
x = 2 result1 = x.bit_length() x = 15 result2 = x.bit_length() print(result1,result2,sep='---') #結果為2---4
看完例子懂了吧?2用二進制只要占兩位,所以結果為2
剛才我們簡單的提了一下__init__,其實它還有第二參數--設置進制的
a1 = int('0b101',2) print(a1) #結果為5
來,讓你看一張奇圖,id()查看內存地址的方法
看到沒有?怎么會有這樣的結果?
結論就是:不同變量同一個數字要開辟兩份內存空間,python對此進行了優化,讓同一數字指向同一內存空間,節省內存,不過這也只適用-5-257,否則要用兩份內存,另外,變量賦值給變量,拿n8 = n7說,這個賦值過程其實是n8先找到n7,在順着n7找其對應2345的內存地址,所以它們的內存地址是一樣的
2.布爾值
真或假
1 或 0
3.str(字符串)

class str(basestring): """ str(object='') -> string Return a nice string representation of the object. If the argument is a string, the return value is the same object. """ def capitalize(self): """ 首字母變大寫 """ """ S.capitalize() -> string Return a copy of the string S with only its first character capitalized. """ return "" def center(self, width, fillchar=None): """ 內容居中,width:總長度;fillchar:空白處填充內容,默認無 """ """ S.center(width[, fillchar]) -> string Return S centered in a string of length width. Padding is done using the specified fill character (default is a space) """ return "" def count(self, sub, start=None, end=None): """ 子序列個數 """ """ S.count(sub[, start[, end]]) -> int Return the number of non-overlapping occurrences of substring sub in string S[start:end]. Optional arguments start and end are interpreted as in slice notation. """ return 0 def decode(self, encoding=None, errors=None): """ 解碼 """ """ S.decode([encoding[,errors]]) -> object Decodes S using the codec registered for encoding. encoding defaults to the default encoding. errors may be given to set a different error handling scheme. Default is 'strict' meaning that encoding errors raise a UnicodeDecodeError. Other possible values are 'ignore' and 'replace' as well as any other name registered with codecs.register_error that is able to handle UnicodeDecodeErrors. """ return object() def encode(self, encoding=None, errors=None): """ 編碼,針對unicode """ """ S.encode([encoding[,errors]]) -> object Encodes S using the codec registered for encoding. encoding defaults to the default encoding. errors may be given to set a different error handling scheme. Default is 'strict' meaning that encoding errors raise a UnicodeEncodeError. Other possible values are 'ignore', 'replace' and 'xmlcharrefreplace' as well as any other name registered with codecs.register_error that is able to handle UnicodeEncodeErrors. """ return object() def endswith(self, suffix, start=None, end=None): """ 是否以 xxx 結束 """ """ S.endswith(suffix[, start[, end]]) -> bool Return True if S ends with the specified suffix, False otherwise. With optional start, test S beginning at that position. With optional end, stop comparing S at that position. suffix can also be a tuple of strings to try. """ return False def expandtabs(self, tabsize=None): """ 將tab轉換成空格,默認一個tab轉換成8個空格 """ """ S.expandtabs([tabsize]) -> string Return a copy of S where all tab characters are expanded using spaces. If tabsize is not given, a tab size of 8 characters is assumed. """ return "" def find(self, sub, start=None, end=None): """ 尋找子序列位置,如果沒找到,返回 -1 """ """ S.find(sub [,start [,end]]) -> int Return the lowest index in S where substring sub is found, such that sub is contained within S[start:end]. Optional arguments start and end are interpreted as in slice notation. Return -1 on failure. """ return 0 def format(*args, **kwargs): # known special case of str.format """ 字符串格式化,動態參數,將函數式編程時細說 """ """ S.format(*args, **kwargs) -> string Return a formatted version of S, using substitutions from args and kwargs. The substitutions are identified by braces ('{' and '}'). """ pass def index(self, sub, start=None, end=None): """ 子序列位置,如果沒找到,報錯 """ S.index(sub [,start [,end]]) -> int Like S.find() but raise ValueError when the substring is not found. """ return 0 def isalnum(self): """ 是否是字母和數字 """ """ S.isalnum() -> bool Return True if all characters in S are alphanumeric and there is at least one character in S, False otherwise. """ return False def isalpha(self): """ 是否是字母 """ """ S.isalpha() -> bool Return True if all characters in S are alphabetic and there is at least one character in S, False otherwise. """ return False def isdigit(self): """ 是否是數字 """ """ S.isdigit() -> bool Return True if all characters in S are digits and there is at least one character in S, False otherwise. """ return False def islower(self): """ 是否小寫 """ """ S.islower() -> bool Return True if all cased characters in S are lowercase and there is at least one cased character in S, False otherwise. """ return False def isspace(self): """ S.isspace() -> bool Return True if all characters in S are whitespace and there is at least one character in S, False otherwise. """ return False def istitle(self): """ S.istitle() -> bool Return True if S is a titlecased string and there is at least one character in S, i.e. uppercase characters may only follow uncased characters and lowercase characters only cased ones. Return False otherwise. """ return False def isupper(self): """ S.isupper() -> bool Return True if all cased characters in S are uppercase and there is at least one cased character in S, False otherwise. """ return False def join(self, iterable): """ 連接 """ """ S.join(iterable) -> string Return a string which is the concatenation of the strings in the iterable. The separator between elements is S. """ return "" def ljust(self, width, fillchar=None): """ 內容左對齊,右側填充 """ """ S.ljust(width[, fillchar]) -> string Return S left-justified in a string of length width. Padding is done using the specified fill character (default is a space). """ return "" def lower(self): """ 變小寫 """ """ S.lower() -> string Return a copy of the string S converted to lowercase. """ return "" def lstrip(self, chars=None): """ 移除左側空白 """ """ S.lstrip([chars]) -> string or unicode Return a copy of the string S with leading whitespace removed. If chars is given and not None, remove characters in chars instead. If chars is unicode, S will be converted to unicode before stripping """ return "" def partition(self, sep): """ 分割,前,中,后三部分 """ """ S.partition(sep) -> (head, sep, tail) Search for the separator sep in S, and return the part before it, the separator itself, and the part after it. If the separator is not found, return S and two empty strings. """ pass def replace(self, old, new, count=None): """ 替換 """ """ S.replace(old, new[, count]) -> string Return a copy of string S with all occurrences of substring old replaced by new. If the optional argument count is given, only the first count occurrences are replaced. """ return "" def rfind(self, sub, start=None, end=None): """ S.rfind(sub [,start [,end]]) -> int Return the highest index in S where substring sub is found, such that sub is contained within S[start:end]. Optional arguments start and end are interpreted as in slice notation. Return -1 on failure. """ return 0 def rindex(self, sub, start=None, end=None): """ S.rindex(sub [,start [,end]]) -> int Like S.rfind() but raise ValueError when the substring is not found. """ return 0 def rjust(self, width, fillchar=None): """ S.rjust(width[, fillchar]) -> string Return S right-justified in a string of length width. Padding is done using the specified fill character (default is a space) """ return "" def rpartition(self, sep): """ S.rpartition(sep) -> (head, sep, tail) Search for the separator sep in S, starting at the end of S, and return the part before it, the separator itself, and the part after it. If the separator is not found, return two empty strings and S. """ pass def rsplit(self, sep=None, maxsplit=None): """ S.rsplit([sep [,maxsplit]]) -> list of strings Return a list of the words in the string S, using sep as the delimiter string, starting at the end of the string and working to the front. If maxsplit is given, at most maxsplit splits are done. If sep is not specified or is None, any whitespace string is a separator. """ return [] def rstrip(self, chars=None): """ S.rstrip([chars]) -> string or unicode Return a copy of the string S with trailing whitespace removed. If chars is given and not None, remove characters in chars instead. If chars is unicode, S will be converted to unicode before stripping """ return "" def split(self, sep=None, maxsplit=None): """ 分割, maxsplit最多分割幾次 """ """ S.split([sep [,maxsplit]]) -> list of strings Return a list of the words in the string S, using sep as the delimiter string. If maxsplit is given, at most maxsplit splits are done. If sep is not specified or is None, any whitespace string is a separator and empty strings are removed from the result. """ return [] def splitlines(self, keepends=False): """ 根據換行分割 """ """ S.splitlines(keepends=False) -> list of strings Return a list of the lines in S, breaking at line boundaries. Line breaks are not included in the resulting list unless keepends is given and true. """ return [] def startswith(self, prefix, start=None, end=None): """ 是否起始 """ """ S.startswith(prefix[, start[, end]]) -> bool Return True if S starts with the specified prefix, False otherwise. With optional start, test S beginning at that position. With optional end, stop comparing S at that position. prefix can also be a tuple of strings to try. """ return False def strip(self, chars=None): """ 移除兩段空白 """ """ S.strip([chars]) -> string or unicode Return a copy of the string S with leading and trailing whitespace removed. If chars is given and not None, remove characters in chars instead. If chars is unicode, S will be converted to unicode before stripping """ return "" def swapcase(self): """ 大寫變小寫,小寫變大寫 """ """ S.swapcase() -> string Return a copy of the string S with uppercase characters converted to lowercase and vice versa. """ return "" def title(self): """ S.title() -> string Return a titlecased version of S, i.e. words start with uppercase characters, all remaining cased characters have lowercase. """ return "" def translate(self, table, deletechars=None): """ 轉換,需要先做一個對應表,最后一個表示刪除字符集合 intab = "aeiou" outtab = "12345" trantab = maketrans(intab, outtab) str = "this is string example....wow!!!" print str.translate(trantab, 'xm') """ """ S.translate(table [,deletechars]) -> string Return a copy of the string S, where all characters occurring in the optional argument deletechars are removed, and the remaining characters have been mapped through the given translation table, which must be a string of length 256 or None. If the table argument is None, no translation is applied and the operation simply removes the characters in deletechars. """ return "" def upper(self): """ S.upper() -> string Return a copy of the string S converted to uppercase. """ return "" def zfill(self, width): """方法返回指定長度的字符串,原字符串右對齊,前面填充0。""" """ S.zfill(width) -> string Pad a numeric string S with zeros on the left, to fill a field of the specified width. The string S is never truncated. """ return "" def _formatter_field_name_split(self, *args, **kwargs): # real signature unknown pass def _formatter_parser(self, *args, **kwargs): # real signature unknown pass def __add__(self, y): """ x.__add__(y) <==> x+y """ pass def __contains__(self, y): """ x.__contains__(y) <==> y in x """ pass def __eq__(self, y): """ x.__eq__(y) <==> x==y """ pass def __format__(self, format_spec): """ S.__format__(format_spec) -> string Return a formatted version of S as described by format_spec. """ return "" def __getattribute__(self, name): """ x.__getattribute__('name') <==> x.name """ pass def __getitem__(self, y): """ x.__getitem__(y) <==> x[y] """ pass def __getnewargs__(self, *args, **kwargs): # real signature unknown pass def __getslice__(self, i, j): """ x.__getslice__(i, j) <==> x[i:j] Use of negative indices is not supported. """ pass def __ge__(self, y): """ x.__ge__(y) <==> x>=y """ pass def __gt__(self, y): """ x.__gt__(y) <==> x>y """ pass def __hash__(self): """ x.__hash__() <==> hash(x) """ pass def __init__(self, string=''): # known special case of str.__init__ """ str(object='') -> string Return a nice string representation of the object. If the argument is a string, the return value is the same object. # (copied from class doc) """ pass def __len__(self): """ x.__len__() <==> len(x) """ pass def __le__(self, y): """ x.__le__(y) <==> x<=y """ pass def __lt__(self, y): """ x.__lt__(y) <==> x<y """ pass def __mod__(self, y): """ x.__mod__(y) <==> x%y """ pass def __mul__(self, n): """ x.__mul__(n) <==> x*n """ pass @staticmethod # known case of __new__ def __new__(S, *more): """ T.__new__(S, ...) -> a new object with type S, a subtype of T """ pass def __ne__(self, y): """ x.__ne__(y) <==> x!=y """ pass def __repr__(self): """ x.__repr__() <==> repr(x) """ pass def __rmod__(self, y): """ x.__rmod__(y) <==> y%x """ pass def __rmul__(self, n): """ x.__rmul__(n) <==> n*x """ pass def __sizeof__(self): """ S.__sizeof__() -> size of S in memory, in bytes """ pass def __str__(self): """ x.__str__() <==> str(x) """ pass
- str_name.join(可迭代數據)
str1 = 'alex' s = '-'.join(str1) print(s) #結果為a-l-e-x li1 = ['alex','eric','wu'] s = '-'.join(li1) print(s) #結果為alex-eric-wu dict1 = {'k1':'alex','k2':'eric'} s = '-'.join(dict1) print(s) #結果為k1-k2
- str_name.strip() 去兩邊空格 和lstrip 去左邊空格、rstrip 去右邊空格
str1 = ' a lex eric ' x1 = str1.strip() x2 = str1.lstrip() x3 = str1.rstrip() print(x1,len(x1)) print(x2,len(x2)) print(x3,len(x3)) 結果為: a lex eric 11 a lex eric 14 a lex eric 13
- str_name.partition(sub) 以某個子串把前后兩側分開,而且匹配第一個 返回元組
- str_name.split(sub) 以某個子串分后,並提出這個子串,匹配所有的 返回列表
str1 = 'alexshaobingalexshaobingalex' x1 = str1.partition('shaobing') print(x1) #結果為('alex', 'shaobing', 'alexshaobingalex') x2 = str1.split('shaobing') print(x2) #結果為['alex', 'alex', 'alex']
- str_name.replace() 替換
str1 = 'ericshaobingericshaobingeric' x1 = str1.replace('shaobing','**') print(x1) #結果為eric**eric**eric
- str_name.title() 可以理解為對每個單詞進行首字母大寫處理
str1 = 'Alex' x1 = str1.istitle() print(x1) #結果為True str2 = 'alex' x2 = str2.istitle() print(x2) #結果為False x3 = str2.title() print(x3) #結果為Alex
- str_name.startswith() 以什么開頭 和endswith() 以什么結尾
s = 'eric' result1 = s.startswith('e') print(result1) #結果為True result2 = s.endswith('c') print(result2) #結果為True result3 = s.endswith('a') print(result3) #結果為False
- str_name.find() 找到子串並返回索引位置,找不到返回-1,而index()就會報錯
s1 = 'alex' x1 = s1.find('e') print(x1) #結果為2 x2 = s1.find('c') print(x2) #找不到返回-1
- str_name.upper() 變大寫
s1 = 'alex' result = s1.upper() print(result) #結果為ALEX
- str_name.is..類型 判斷是不是什么類型,返回Ture或Fulse
s1 = '123' result1 = s1.isdigit() print(result1) #結果為True s2 = '245x' result2 = s2.isdigit() print(result2) #結果為False
- len() 統計字符個數
s1 = 'alexeric' x = len(s1) print(x) #結果為8
- 索引 str_name[num] 獲取一個字符(語言程序給每個元素按從左往右,第一個為0開始,編排一個位置,這個位置我們就叫做索引位置)
str1 = 'alex' x1 = str1[2] print(x1) #結果為e
- 切片 str_name[start_num:end_num] 獲取從start_name到end_name - 1項字符
str1 = 'jixjidngisdgnsjci' x1 = str1[:] #獲取整個字符串 x2 = str1[1:6] print(x1) #結果為jixjidngisdgnsjci print(x2) #結果為ixjid
- for循環 字符串里的字符可以用來循環的
s = 'alex' for i in s: print(i) 結果為: a l e x
4.list(列表)

class list(object): """ list() -> new empty list list(iterable) -> new list initialized from iterable's items """ def append(self, p_object): # real signature unknown; restored from __doc__ """ L.append(object) -- append object to end """ pass def count(self, value): # real signature unknown; restored from __doc__ """ L.count(value) -> integer -- return number of occurrences of value """ return 0 def extend(self, iterable): # real signature unknown; restored from __doc__ """ L.extend(iterable) -- extend list by appending elements from the iterable """ pass def index(self, value, start=None, stop=None): # real signature unknown; restored from __doc__ """ L.index(value, [start, [stop]]) -> integer -- return first index of value. Raises ValueError if the value is not present. """ return 0 def insert(self, index, p_object): # real signature unknown; restored from __doc__ """ L.insert(index, object) -- insert object before index """ pass def pop(self, index=None): # real signature unknown; restored from __doc__ """ L.pop([index]) -> item -- remove and return item at index (default last). Raises IndexError if list is empty or index is out of range. """ pass def remove(self, value): # real signature unknown; restored from __doc__ """ L.remove(value) -- remove first occurrence of value. Raises ValueError if the value is not present. """ pass def reverse(self): # real signature unknown; restored from __doc__ """ L.reverse() -- reverse *IN PLACE* """ pass def sort(self, cmp=None, key=None, reverse=False): # real signature unknown; restored from __doc__ """ L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*; cmp(x, y) -> -1, 0, 1 """ pass def __add__(self, y): # real signature unknown; restored from __doc__ """ x.__add__(y) <==> x+y """ pass def __contains__(self, y): # real signature unknown; restored from __doc__ """ x.__contains__(y) <==> y in x """ pass def __delitem__(self, y): # real signature unknown; restored from __doc__ """ x.__delitem__(y) <==> del x[y] """ pass def __delslice__(self, i, j): # real signature unknown; restored from __doc__ """ x.__delslice__(i, j) <==> del x[i:j] Use of negative indices is not supported. """ pass def __eq__(self, y): # real signature unknown; restored from __doc__ """ x.__eq__(y) <==> x==y """ pass def __getattribute__(self, name): # real signature unknown; restored from __doc__ """ x.__getattribute__('name') <==> x.name """ pass def __getitem__(self, y): # real signature unknown; restored from __doc__ """ x.__getitem__(y) <==> x[y] """ pass def __getslice__(self, i, j): # real signature unknown; restored from __doc__ """ x.__getslice__(i, j) <==> x[i:j] Use of negative indices is not supported. """ pass def __ge__(self, y): # real signature unknown; restored from __doc__ """ x.__ge__(y) <==> x>=y """ pass def __gt__(self, y): # real signature unknown; restored from __doc__ """ x.__gt__(y) <==> x>y """ pass def __iadd__(self, y): # real signature unknown; restored from __doc__ """ x.__iadd__(y) <==> x+=y """ pass def __imul__(self, y): # real signature unknown; restored from __doc__ """ x.__imul__(y) <==> x*=y """ pass def __init__(self, seq=()): # known special case of list.__init__ """ list() -> new empty list list(iterable) -> new list initialized from iterable's items # (copied from class doc) """ pass def __iter__(self): # real signature unknown; restored from __doc__ """ x.__iter__() <==> iter(x) """ pass def __len__(self): # real signature unknown; restored from __doc__ """ x.__len__() <==> len(x) """ pass def __le__(self, y): # real signature unknown; restored from __doc__ """ x.__le__(y) <==> x<=y """ pass def __lt__(self, y): # real signature unknown; restored from __doc__ """ x.__lt__(y) <==> x<y """ pass def __mul__(self, n): # real signature unknown; restored from __doc__ """ x.__mul__(n) <==> x*n """ pass @staticmethod # known case of __new__ def __new__(S, *more): # real signature unknown; restored from __doc__ """ T.__new__(S, ...) -> a new object with type S, a subtype of T """ pass def __ne__(self, y): # real signature unknown; restored from __doc__ """ x.__ne__(y) <==> x!=y """ pass def __repr__(self): # real signature unknown; restored from __doc__ """ x.__repr__() <==> repr(x) """ pass def __reversed__(self): # real signature unknown; restored from __doc__ """ L.__reversed__() -- return a reverse iterator over the list """ pass def __rmul__(self, n): # real signature unknown; restored from __doc__ """ x.__rmul__(n) <==> n*x """ pass def __setitem__(self, i, y): # real signature unknown; restored from __doc__ """ x.__setitem__(i, y) <==> x[i]=y """ pass def __setslice__(self, i, j, y): # real signature unknown; restored from __doc__ """ x.__setslice__(i, j, y) <==> x[i:j]=y Use of negative indices is not supported. """ pass def __sizeof__(self): # real signature unknown; restored from __doc__ """ L.__sizeof__() -- size of L in memory, in bytes """ pass __hash__ = None list
-
列表屬於序列型數據類型,所以可以通過索引和切片來訪問
-
語法結構 list_name[index] 切片
li = [1,2,3,6,5,4] print(li[2]) #結果為3
-
當然也通過索引刪除數據項 del list_name[index]
li = [1,2,3,6,5,4] del li[2] print(li) #結果為[1, 2, 6, 5, 4],刪除了3
-
列表的切片 語法結構:list_name[start:end:step] 切片的返回結果也為列表
li = [1,2,3,6,5,4]
print(li[2]) #結
-
切片刪除del list_name[start;end] 刪除start到end-1項
li = [1,2,3,4,5] print(li[2:4]) #結果為[3, 4] del li[1:3] print(li) #結果為[1, 4, 5],刪除2,3
-
加法
li1 = [4,2,6,2,9,3,3] li2 = range(10,15) #range函數現在輸出的不是列表 print(li2) #結果為range(10, 15) li2 = list(li2) #轉換為列表,再做加法(python3里range不能和列表直接串接) li3 = li1 + li2 print(li3) #結果為[4, 2, 6, 2, 9, 3, 3, 10, 11, 12, 13, 14]
-
乘法
lis1 = ['that','good','boy'] lis2 = lis1 * 3 print(lis2) #結果為['that', 'good', 'boy', 'that', 'good', 'boy', 'that', 'good', 'boy']
-
列表的in和not in運算判斷列表是否包含某個值
lis1 = [2,6,8,9] if 2 not in lis1: #條件不成立,所以下面沒有輸出 print('yes 2 not in lis1') lis2 = ['that','good','boy'] if 'that' in lis2: print('yes that in lis1') #結果為yes that in lis1
-
列表的遍歷 for循環
li1 = [1,23,69,452] li2 = li1 * 2 i = 0 #標記項初始化 for val in li2: print('第%d項:'%(i),val) #格式化控制字 i +=1 結果為: 第0項: 1 第1項: 23 第2項: 69 第3項: 452 第4項: 1 第5項: 23 第6項: 69 第7項: 452
-
語法[val_expr for val in list_name] val_expr是變量val的運算表達式,val用於存儲for每次從list_name列表里取出的值,用每個val_expr的值作為構建新列表的元素項
li = [1,5,3,9] li1 = [x**3 for x in li] print(li1) #結果為[1, 125, 27, 729] li2 = [x for x in range(4)] print(li2) #結果為[0, 1, 2, 3] li3 = [li2 for x in range(4)] print(li3) #結果為[[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]] li4 = [li2 for x in li] print(li4) #結果為[[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]] li4 = [2 for x in range(4)] #當val_expr為常項時,按后面列表項數為重復次數 print(li4) #結果為[2, 2, 2, 2]
-
統計項數 len函數
li = list(range(1,9)) print(len(li)) #結果為8
-
count函數 統計元素項相同的一個有幾個
li1 = ['you','are','beautiful','girl'] li1 = li1 * 2 print(li1) #結果為['you', 'are', 'beautiful', 'girl', 'you', 'are', 'beautiful', 'girl'] print(li1.count('beautiful')) #結果為2 del li1[2] #刪除beautiful print(li1) #結果為['you', 'are', 'girl', 'you', 'are', 'beautiful', 'girl'] print(li1.count(li1[5])) #刪除一個beautiful后統計beautiful,結果為1
-
insert(index,元素) 指定位置插入
li1 = ['let','is','make','love','everywhere'] li1.insert(2,99) print(li1) #結果為['let', 'is', 99, 'make', 'love', 'everywhere']
-
append 指定項添加
li1 = ['let','is','make','love','everywhere'] li2 = [] for val in li1: li2.append(val) print(li2) #結果為['let', 'is', 'make', 'love', 'everywhere'] li2.append('pai') print(li2) #結果為['let', 'is', 'make', 'love', 'everywhere', 'pai'] li2.append(list(range(8))) #以一個整體項添加到列表的末尾 print(li2) #結果為['let', 'is', 'make', 'love', 'everywhere', 'pai', [0, 1, 2, 3, 4, 5, 6, 7]]
-
extend函數 擴展函數 擴展列表是拆成單項加入被擴展列表的末尾
li1 = list(range(5)) li2 = list(range(6,9)) li1.extend(li2) print(li1) #結果為[0, 1, 2, 3, 4, 6, 7, 8]
-
remove 指定項刪除函數,而且只會匹配第一個刪除
list1 = ['That','is','life','beautiful'] list1 = list1 * 2 print(list1) #結果為['That', 'is', 'life', 'beautiful', 'That', 'is', 'life', 'beautiful'] list1.remove('is') print(list1) #結果為['That', 'life', 'beautiful', 'That', 'is', 'life', 'beautiful']
-
pop 默認最后一項刪除,也可指定位置刪除,並且刪除時有返回值,返回值為即將要刪除的
list1 = ['That','is','life','beautiful'] * 2 list1.pop() print(list1) #結果為['That', 'is', 'life', 'beautiful', 'That', 'is', 'life'] return_val = list1.pop(2) print(return_val,list1) #結果為life ['That', 'is', 'beautiful', 'That', 'is', 'life']
-
list_name.reverse() 元素順序反轉
lis = ['alex',55,22,'eric','nice'] lis.reverse() #結果為['nice', 'eric', 22, 55, 'alex'] print(lis)
- list_name.sore() 從小到大排序
li = [25,3,89,24,2541,58,41] li.sort() print(li) #結果為[3, 24, 25, 41, 58, 89, 2541]
5.tuple(元組)

lass tuple(object): """ tuple() -> empty tuple tuple(iterable) -> tuple initialized from iterable's items If the argument is a tuple, the return value is the same object. """ def count(self, value): # real signature unknown; restored from __doc__ """ T.count(value) -> integer -- return number of occurrences of value """ return 0 def index(self, value, start=None, stop=None): # real signature unknown; restored from __doc__ """ T.index(value, [start, [stop]]) -> integer -- return first index of value. Raises ValueError if the value is not present. """ return 0 def __add__(self, y): # real signature unknown; restored from __doc__ """ x.__add__(y) <==> x+y """ pass def __contains__(self, y): # real signature unknown; restored from __doc__ """ x.__contains__(y) <==> y in x """ pass def __eq__(self, y): # real signature unknown; restored from __doc__ """ x.__eq__(y) <==> x==y """ pass def __getattribute__(self, name): # real signature unknown; restored from __doc__ """ x.__getattribute__('name') <==> x.name """ pass def __getitem__(self, y): # real signature unknown; restored from __doc__ """ x.__getitem__(y) <==> x[y] """ pass def __getnewargs__(self, *args, **kwargs): # real signature unknown pass def __getslice__(self, i, j): # real signature unknown; restored from __doc__ """ x.__getslice__(i, j) <==> x[i:j] Use of negative indices is not supported. """ pass def __ge__(self, y): # real signature unknown; restored from __doc__ """ x.__ge__(y) <==> x>=y """ pass def __gt__(self, y): # real signature unknown; restored from __doc__ """ x.__gt__(y) <==> x>y """ pass def __hash__(self): # real signature unknown; restored from __doc__ """ x.__hash__() <==> hash(x) """ pass def __init__(self, seq=()): # known special case of tuple.__init__ """ tuple() -> empty tuple tuple(iterable) -> tuple initialized from iterable's items If the argument is a tuple, the return value is the same object. # (copied from class doc) """ pass def __iter__(self): # real signature unknown; restored from __doc__ """ x.__iter__() <==> iter(x) """ pass def __len__(self): # real signature unknown; restored from __doc__ """ x.__len__() <==> len(x) """ pass def __le__(self, y): # real signature unknown; restored from __doc__ """ x.__le__(y) <==> x<=y """ pass def __lt__(self, y): # real signature unknown; restored from __doc__ """ x.__lt__(y) <==> x<y """ pass def __mul__(self, n): # real signature unknown; restored from __doc__ """ x.__mul__(n) <==> x*n """ pass @staticmethod # known case of __new__ def __new__(S, *more): # real signature unknown; restored from __doc__ """ T.__new__(S, ...) -> a new object with type S, a subtype of T """ pass def __ne__(self, y): # real signature unknown; restored from __doc__ """ x.__ne__(y) <==> x!=y """ pass def __repr__(self): # real signature unknown; restored from __doc__ """ x.__repr__() <==> repr(x) """ pass def __rmul__(self, n): # real signature unknown; restored from __doc__ """ x.__rmul__(n) <==> n*x """ pass def __sizeof__(self): # real signature unknown; restored from __doc__ """ T.__sizeof__() -- size of T in memory, in bytes """ pass 復制代碼
- tuple的值不可修改,只支持查(切片和索引),另外還有可循環元組里的元素,長度len統計,成員運算,由於這些方法和列表相同,我這里就不贅述了
- 創建單個元素的元組:tuple1 = (1,)
- 元組的兒子不能變,但是孫子可以變
t = (11,22,['alex',{'k1':'v1'}]) t[2].append('eric') print(t) #(11, 22, ['alex', {'k1': 'v1'}, 'eric']) del t[2][1] print(t) #(11, 22, ['alex', 'eric']) # del t[2] # print(t) #報錯
6.dict(字典)

class dict(object): """ dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object's (key, value) pairs dict(iterable) -> new dictionary initialized as if via: d = {} for k, v in iterable: d[k] = v dict(**kwargs) -> new dictionary initialized with the name=value pairs in the keyword argument list. For example: dict(one=1, two=2) """ def clear(self): # real signature unknown; restored from __doc__ """ 清除內容 """ """ D.clear() -> None. Remove all items from D. """ pass def copy(self): # real signature unknown; restored from __doc__ """ 淺拷貝 """ """ D.copy() -> a shallow copy of D """ pass @staticmethod # known case def fromkeys(S, v=None): # real signature unknown; restored from __doc__ """ dict.fromkeys(S[,v]) -> New dict with keys from S and values equal to v. v defaults to None. """ pass def get(self, k, d=None): # real signature unknown; restored from __doc__ """ 根據key獲取值,d是默認值 """ """ D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None. """ pass def has_key(self, k): # real signature unknown; restored from __doc__ """ 是否有key """ """ D.has_key(k) -> True if D has a key k, else False """ return False def items(self): # real signature unknown; restored from __doc__ """ 所有項的列表形式 """ """ D.items() -> list of D's (key, value) pairs, as 2-tuples """ return [] def iteritems(self): # real signature unknown; restored from __doc__ """ 項可迭代 """ """ D.iteritems() -> an iterator over the (key, value) items of D """ pass def iterkeys(self): # real signature unknown; restored from __doc__ """ key可迭代 """ """ D.iterkeys() -> an iterator over the keys of D """ pass def itervalues(self): # real signature unknown; restored from __doc__ """ value可迭代 """ """ D.itervalues() -> an iterator over the values of D """ pass def keys(self): # real signature unknown; restored from __doc__ """ 所有的key列表 """ """ D.keys() -> list of D's keys """ return [] def pop(self, k, d=None): # real signature unknown; restored from __doc__ """ 獲取並在字典中移除 """ """ D.pop(k[,d]) -> v, remove specified key and return the corresponding value. If key is not found, d is returned if given, otherwise KeyError is raised """ pass def popitem(self): # real signature unknown; restored from __doc__ """ 獲取並在字典中移除 """ """ D.popitem() -> (k, v), remove and return some (key, value) pair as a 2-tuple; but raise KeyError if D is empty. """ pass def setdefault(self, k, d=None): # real signature unknown; restored from __doc__ """ 如果key不存在,則創建,如果存在,則返回已存在的值且不修改 """ """ D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D """ pass def update(self, E=None, **F): # known special case of dict.update """ 更新 {'name':'alex', 'age': 18000} [('name','sbsbsb'),] """ """ D.update([E, ]**F) -> None. Update D from dict/iterable E and F. If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k] """ pass def values(self): # real signature unknown; restored from __doc__ """ 所有的值 """ """ D.values() -> list of D's values """ return [] def viewitems(self): # real signature unknown; restored from __doc__ """ 所有項,只是將內容保存至view對象中 """ """ D.viewitems() -> a set-like object providing a view on D's items """ pass def viewkeys(self): # real signature unknown; restored from __doc__ """ D.viewkeys() -> a set-like object providing a view on D's keys """ pass def viewvalues(self): # real signature unknown; restored from __doc__ """ D.viewvalues() -> an object providing a view on D's values """ pass def __cmp__(self, y): # real signature unknown; restored from __doc__ """ x.__cmp__(y) <==> cmp(x,y) """ pass def __contains__(self, k): # real signature unknown; restored from __doc__ """ D.__contains__(k) -> True if D has a key k, else False """ return False def __delitem__(self, y): # real signature unknown; restored from __doc__ """ x.__delitem__(y) <==> del x[y] """ pass def __eq__(self, y): # real signature unknown; restored from __doc__ """ x.__eq__(y) <==> x==y """ pass def __getattribute__(self, name): # real signature unknown; restored from __doc__ """ x.__getattribute__('name') <==> x.name """ pass def __getitem__(self, y): # real signature unknown; restored from __doc__ """ x.__getitem__(y) <==> x[y] """ pass def __ge__(self, y): # real signature unknown; restored from __doc__ """ x.__ge__(y) <==> x>=y """ pass def __gt__(self, y): # real signature unknown; restored from __doc__ """ x.__gt__(y) <==> x>y """ pass def __init__(self, seq=None, **kwargs): # known special case of dict.__init__ """ dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object's (key, value) pairs dict(iterable) -> new dictionary initialized as if via: d = {} for k, v in iterable: d[k] = v dict(**kwargs) -> new dictionary initialized with the name=value pairs in the keyword argument list. For example: dict(one=1, two=2) # (copied from class doc) """ pass def __iter__(self): # real signature unknown; restored from __doc__ """ x.__iter__() <==> iter(x) """ pass def __len__(self): # real signature unknown; restored from __doc__ """ x.__len__() <==> len(x) """ pass def __le__(self, y): # real signature unknown; restored from __doc__ """ x.__le__(y) <==> x<=y """ pass def __lt__(self, y): # real signature unknown; restored from __doc__ """ x.__lt__(y) <==> x<y """ pass @staticmethod # known case of __new__ def __new__(S, *more): # real signature unknown; restored from __doc__ """ T.__new__(S, ...) -> a new object with type S, a subtype of T """ pass def __ne__(self, y): # real signature unknown; restored from __doc__ """ x.__ne__(y) <==> x!=y """ pass def __repr__(self): # real signature unknown; restored from __doc__ """ x.__repr__() <==> repr(x) """ pass def __setitem__(self, i, y): # real signature unknown; restored from __doc__ """ x.__setitem__(i, y) <==> x[i]=y """ pass def __sizeof__(self): # real signature unknown; restored from __doc__ """ D.__sizeof__() -> size of D in memory, in bytes """ pass __hash__ = None 復制代碼
- 每一項元素都為一個鍵值對
- for i in dict_name 默認循環字典的key
dict1 = {'k1':123,'k2':456} for i in dict1: print(i) 結果為: k1 k2
- dict_name.keys()所有的key鍵 values 所有的值 和 items 所有的鍵值對
dict1 = {'k1':123,'k2':456} x = dict1.keys() print(x) #結果為dict_keys(['k2', 'k1']) for v in dict1.values(): print(v) 結果為: 456 123 for k,v in dict1.items(): print(k,v) 結果為: k2 456 k1 123
- dict_name.get() 根據key獲取值,如果key不存在,則返回一個默認值None,索引對於不存在的鍵報錯
dict1 = {'k1':123,'k2':456} x = dict1.get('k1') print(x) #結果為123 x1 = dict1.get('k3') print(x1) #結果為None # x2 = dict1['k3'] # print(x2) #報錯
- 判斷某個鍵是否在字典里
dict1 = {'k1':123,'k2':456} ret = 'k1' in dict1.keys() print(ret) #結果為True ret2 = 'k3' in dict1.keys() print(ret2) #結果為False
- dict_name.update() 字典更新
dict1 = {'k1':123,'k2':456} dict2 = {'k1':234,'k3':'hello'} dict1.update(dict2) print(dict1) #結果為{'k2': 456, 'k3': 'hello', 'k1': 234}
- del dict_name[‘key’] 字典key對應的鍵值對 dict_name.clear() 清空字典
dic = {'k2': 456, 'k3': 'hello', 'k1': 234} del dic['k2'] print(dic) #結果為{'k3': 'hello', 'k1': 234} dic.clear() print(dic) #結果為{}
- dict_name.fromkeys() 說不清這玩意干啥的,直接看效果吧
dic = {'k2': 456, 'k3': 'hello', 'k1': 234} n = dic.fromkeys(['k1','k2'],'alex') print(n) #結果為{'k2': 'alex', 'k1': 'alex'} n2 = dic.fromkeys(['k1','k2','k3'],[]) print(n2) #結果為{'k2': [], 'k3': [], 'k1': []} n2['k1'].append('nice') print(n2) #結果為{'k2': ['nice'], 'k3': ['nice'], 'k1': ['nice']}
- len函數可以測得字典的數據項個數
dic = {'k2': 456, 'k3': 'hello', 'k1': 234} n = len(dic) print(n) #結果為3
- 字典元素值得訪問可以通過鍵獲取其對應的值
- 字典元素值得修改也可以通過鍵修改其對應的值
dic = {'k2': 456, 'k3': 'hello', 'k1': 234} value1 = dic['k3'] print(value1) #結果為hello dic['k2'] = 'nice' print(dic) #結果為{'k2': 'nice', 'k1': 234, 'k3': 'hello'}
- 字典元素項的添加,可以通過dict_name[新鍵] = 新值 的方式來添加
dic = {'k2': 456, 'k3': 'hello', 'k1': 234} dic['k4'] = 'nice' print(dic) #結果為{'k3': 'hello', 'k2': 456, 'k4': 'nice', 'k1': 234}
- enumerate(可迭代的) 自動加上為索引位置的key
li = ['跑車','美女','電腦'] for key,item in enumerate(li,1): print(key,item) inp = int(input('請輸入商品序號:')) print(li[inp - 1]) 結果為: 1 跑車 2 美女 3 電腦 請輸入商品序號:2 美女
7.bytes(字節)
- 字符轉換成字節
name = '小劉' for i in name: print(i) bytes_list = bytes(i,encoding = 'utf-8') print(bytes_list) for b in bytes_list: print(b) print(bin(b)) 結果為: 小 b'\xe5\xb0\x8f' #輸出列表時,默認十六進制 229 #十進制,輸出單個字節時默認十進制 0b11100101 #bin(十進制) 轉為二進制 176 0b10110000 143 0b10001111 劉 b'\xe5\x88\x98' 229 0b11100101 136 0b10001000 152 0b10011000
- 字節轉換成字符串
a = '李璐' b1 = bytes(a,encoding='utf-8') print(b1) #b'\xe6\x9d\x8e\xe7\x92\x90' b2 = bytes(a,encoding='gbk') print(b2) #b'\xc0\xee\xe8\xb4' newal = str(b1,encoding='utf-8') print(newal) #李璐 newa2 = str(b2,encoding='gbk') print(newa2) #李璐
歡迎大家對我的博客內容提出質疑和提問!謝謝
筆者:拍省先生