Python的基本操作

1、Python Shell编辑器

(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.

2、数值转换

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

3、逻辑运算

按位操作:

>>> bin(12)
'0b1100'
>>> bin(13)
'0b1101'
>>> 12|13              按位或
13
>>> 12^13              按位异或
1
>>> ~60                 按位取反
-61

4、数值精度

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

5、字符串操作

(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
中国
中国

6、输入输出

(1)输入:
input()
raw_input():输入的内容,保存的数据类型都是字符串
eval():自动转换数据类型
input即eval(raw_input())
(2)输出:
print
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

7、列表

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

8、元组

tuple(list)  列表转换为元组

9、字典

不允许同一个键出现多次,以最后一个值为准
键不可变,所以可以为数字、字符串、元祖,但是不能为列表

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)

10、集合

a. 将列表转换为集合

set(list)

b. 向集合中增加元素,obj为任意类型

set.add(obj)

c. 从集合中删除元素,obj为要删除的元素

set.remove(obj)

d. 并集、交集、差集

并集:set1 | set2
交集:set1 & set2
差集:set1 - set2

你可能感兴趣的:(Python)