(1)进入和退出Python Shell编辑器
C:\Users\DELL>python
Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
(2)列出已安装的Python工具包
C:\Users\DELL>pip list
pip (8.1.1)
setuptools (20.10.1)
You are using pip version 8.1.1, however version 18.0 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
1.二进制用0b表示,用bin()函数将其他进制转换为二进制;
2.八进制用0o表示,用oct()函数将其他进制转换为八进制;
3.十六进制用0x表示,用hex()函数将其他进制转换为十六进制。
C:\Users\DELL>python
Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> 0b1111011
123
>>> bin(666)
'0b1010011010'
>>> 0o12345
5349
>>> 0xE
14
>>> oct(123)
'0173'
>>> hex(567)
'0x237'
>>> int('0b110000',2)
48
按位操作:
>>> bin(12)
'0b1100'
>>> bin(13)
'0b1101'
>>> 12|13 按位或
13
>>> 12^13 按位异或
1
>>> ~60 按位取反
-61
int型的数值精度为-21474836482147483647,即-2**2552**255-1。
浮点数精度:
1.decimal(获取浮点数的详细精度值)
from decimal import *
Decimal()
2.round() 四舍五入
参数只填数值,后一个参数,表示显示精度(默认为0,表示整数四舍五入)。
>>> ~213812312
-213812313 按位反转
>>> 2147483648
2147483648L
>>> 2147483647
2147483647
>>> type(2147483647)
>>> type(2147483648)
>>> 0.0000000001
1e-10 科学计算法
>>> 1*10**-10
1e-10
>>> 10000000000000000000
10000000000000000000L
>>> 100000000000000000000.0
1e+20
>>> complex(1,2) 复数
(1+2j)
>>> 1+2j
(1+2j)
>>> complex(0,5)
5j
>>> 0.1+0.2==0.3
False
>>> from decimal import *
>>> Decimal(0.1+0.2)
Decimal('0.3000000000000000444089209850062616169452667236328125')
>>> Decimal(0.3)
Decimal('0.299999999999999988897769753748434595763683319091796875')
>>> round(1.234)
1.0
>>> round(1.999)
2.0
>>> round(1.1,3)+round(1.2,3)
2.3
>>> round(1.1,1)+round(1.2,1)
2.3
>>> round(1.2019,3)
1.202
(1)单引号、双引号
(2)三引号
Python没有多行注释,使用#进行单行注释,可以使用三引号模拟实现多行注释。
(3)转义符
符号 | 含义 |
---|---|
\r | 回车,光标移到行首,下面生成一个空行 |
\n | 换行,光标移到下一行 |
\a | 响铃 |
\t | 制表符(横向) |
\v | 制表符(纵向) |
\b | 退格 |
\000 | 空 |
>>> print '\a'
>>> print 'a\tb'
a b
>>> print 'a\vb'
ab
>>> print 'abc\bd'
abd
>>> print 'a\000b'
a b
(4)字符串间基本操作
连接符 | 含义 |
---|---|
+ | 字符串拼接 |
* | 重复输出字符串 |
[] | 索引取出字符 |
in | 子串包含的判断 |
>>> a=a[0:2]+'d'+a[-1]
(5)常用的字符串操作方法
a. 字符串首字母大写:
string.capitalize()
b. 字符串居中,设定宽度
string.center(20)
c. 返回string设定的范围中str出现的次数,默认begin=0,end=串的长度
string.count(str,begin=0,end=len(string))
d. 查找子串所在的索引,没找到返回-1
string.find(str,begin=0,end=len(string))
e. 查找子串所在的索引,没找到返回异常
string.index(str,begin=0,end=len(string))
f. 检测字符串是否是某个字符或者某个子串结尾
string.endswith(str,begin=0,end=len(string))
g. max(string)、min(string) 返回最大字母或最小(函数)
h. 去除两端空格(指定内容obj,obj默认是空格)
string.strip(obj)
i. string中str2替换str1,num指定替换次数(默认str1出现的次数)
string.replace(str1,str2,num)
j. encode和decode
Python默认使用Unicode编码,可在字符前加u表示Unicode编码,如果输出不正确,可以在字符前添加空格。
>>> print u'中国'
中国
>>> print u' 中国'
中国
1.py
#coding:utf-8
print '中国'.decode('utf-8').encode('gbk')
print u'中国'
F:\Python>python 1.py
中国
中国
(1)输入:
input()
raw_input():输入的内容,保存的数据类型都是字符串
eval():自动转换数据类型
input即eval(raw_input())
(2)输出:
format
>>> a=raw_input('请输入一个数:')
请输入一个数:123
>>> type(a)
>>> b=input('请输入一个数:')
请输入一个数:12345
>>> type(b)
>>> b=input('请输入一个数:')
请输入一个数:'abcdef'
>>> type(b)
>>> b=input('请输入一个数:')
请输入一个数:1.23456
>>> type(b)
格式化输出:
#%d 整型
#%f 浮点数
#%s 字符串
#%o 八进制
#%e 科学计算法
a=’%s’%(1)
#.2f 小数点保留2位
#3.2f 数长度设定为3,’%3.2f’%(11111.2)
#-3.2f 数长度设定为3,左对齐
#-08.2f 数长度设定为3,右对齐
>>> a=u'{0}年{1}月{2}日'.format(2017,3,24)
>>> print a
2017年3月24日
>>> format(100000000000000000,'e')
'1.000000e+17'
>>> format(100000000000000000,'f')
'100000000000000000.000000'
>>> a='%s'%(1)
>>> type(a)
>>> a='%d'%(5.486)
>>> a
'5'
>>> type(a)
>>> a='%3.2f'%(1111.2)
>>> type(a)
>>> a
'1111.20'
>>> '%10.2f'%(1111.2)
' 1111.20'
>>> '%-10.2fabcd'%(1111.2)
'1111.20 abcd'
>>> '%010.2f'%(1111.2)
'0001111.20'
>>> 'a' in 'abcd'
True
a. 列尾增加元素,增加一个新元素,obj任意类型
list.append(obj)
b. 追加一个新的列表,seq序列
list.extend(seq)
c. 查询某个元素在列表中出现的次数,obj任意类型
list.count(obj)
d. 从列表中找到某个值第一次出现位置的索引
list.index(obj)
e. 在指定索引位置,增加一个元素
list.insert(index,obj)
f. 移除列尾的元素,可以指定index索引位置,并返回移除的元素,index默认为列尾的索引下标
list.pop(index) 等同于del list[index]
g. 移除指定某个值第一次匹配项
list.remove()
h. 反向列表
list.reverse()
i.排序
list.sort()
j. 列表中的最大值最小值
max(list)、min(list)
k. 序列转换列表化(unicode字符串无法直接列表化)
list(seq)
l. 列表元素比较
cmp(list1,list2) 大于返回1,等于返回0,小于返回-1
tuple(list) 列表转换为元组
不允许同一个键出现多次,以最后一个值为准
键不可变,所以可以为数字、字符串、元祖,但是不能为列表
a. 清空字典,保留字典的空间
dict.clear()
b. 删除字典,不保留字典空间
del dict
c. 浅复制
dict.copy()
d. 创建一个新的字典,以序列seq中元素作为字典键,val为所有键的默认值
dict.fromkeys(seq[,val])
e. 返回指定的键的值,如果键不存在,返回default值
dict.get(key,default)
f. 判断某个键是否存在
dict.has_key(key)
g. 返回所有的键名,以列表形式
dict.keys()
h. 以列表形式返回可遍历的(键值)元祖数组
dict.items()
i. 以列表形式返回所有的值
dict.values()
j. get()升华版,假如键不存在,则增加键设置值为default
dict.setdefault(key,default)
k. 字典2追加到字典1中,并且执行更新操作
dict1.update(dict2)
a. 将列表转换为集合
set(list)
b. 向集合中增加元素,obj为任意类型
set.add(obj)
c. 从集合中删除元素,obj为要删除的元素
set.remove(obj)
d. 并集、交集、差集
并集:set1 | set2
交集:set1 & set2
差集:set1 - set2