默認情況下,Python源文件被視爲以UTF-8編碼
可以指定爲源文件指定不同編碼
在#!行後增加一個特殊註釋行定義文件的編碼
# -*- coding: encoding -*-
# -*- coding: cp-1252 -*-
特殊編碼註釋必須在文件中的第一行或第二行中
python變量僅僅是一個名字,賦值操作並不會實際複製值,只是爲數據對象取一個相關的名字
名字是對對象的引用而不是對象本身
type(var_name)可以查看對象類型
浮點型除法:/,整數除法 //,求餘 %
/ 總是會返回一個float類型數
divmod()可以同時得到商和餘數
>>> divmod(9,4)
(2, 1)
基數
0b,0B代表二進制
0o,oO表示八進制
0x,0X表示十六進制
類型轉換
int()可以接受浮點數或有數字組成的字符串,但無法接受包含小數點或指數的字符串
python3中int型可以存儲任意大小的整數甚至超過64位
在處理超大數方面不會產生任何錯誤
float()可以接受包含有效浮點數的字符串轉化爲真正的浮點型整數
python字符串是不可變的,無法對原字符串進行修改,但可以把一部分複製到新字符串中
三引號可以用於創建多行字符串''' ... ''',""" ... """
三重引號會導致行結尾會自動包含在子符串中,可以通過在一行的末尾增加'\'防止換行
>>> a = '''多行字符串 ... 多行字符串''' >>> a '多行字符串\n多行字符串' >>> print(a) 多行字符串 多行字符串
如果不想讓'\'被解釋爲特殊字符開頭的字符,可以通過添加r使用原始字符串
>>> a = r'sdf\n'
>>> a
'sdf\\n'
>>> print(a)
sdf\n
字符串拼接
'+'可以拼接多個變量或拼接一個變量和字面量
也可以直接將一個字面字符串放到另一個字面字符串的後面直接實現拼接,但這不適用於變量
當字符串拼接時,字符串並不會自動添加空格,需要顯示定義
調用print()打印時,會在各個參數之間添加空格並在結尾添加換行符
'*' 可以進行字符串複製
>>> 'df'*3
'dfdfdf'
使用*後字面字符串會>>> ('un' * 3) 'ium'
...
SyntaxError: invalid syntax
使用內置字符串函數split()分割字符串>>>todos = 'get, glovers g,mk'
>>>todos.split(',')
['get','glovers g','mk']
如果不指定分隔符,split()默認使用空白字符——空格,換行符,製表符
使用join()合併字符串
需要先指定粘合的字符串,然後從傳入需要合併的列表參數
>>> ','.join(['ab', 'dfd','dg g'])
ab,dtd,dg g
部分字符串常用函數len(str) 計算字符串包含的字符數
str1.endswith(str2) 判斷str1字符串是否以str2結尾
str1.rfind(str2) 返回str1中最後出現str2的偏移量
str1.count(str2) 返回str1中str2的出現次
str1.strip([chars]) 返回字符串的一個副本,刪除前導和尾隨字符
str.capitalize() 字符串首字母大寫
str.title() 所有單詞的開頭字母變成大寫
str.upper() 所有字母都變成大寫
str.lower() 所有字母都變成小寫
str.swapcase() 所有字母的大小寫轉換
str.ljust(int) 左對齊
str.rjust(int) 右對齊
str.replace(old, new[, count])
返回字符串的一個拷貝,其中所有的子串old通過new替換
如果指定了可選參數count,則只有前面的count個出現被替換
小心替換單字符單詞可能後將所有單詞中中字符替換掉,應該在單字符單子後加一個空格old='a '