字典:用{}表示,例如dict={'b':98,'B':66}
key:value
dict[key]=value用于赋值
del dict[key]用于删除
dict.keys()可查看所有key,同理value
list(dict.keys())可将所有的key转化为表,同理value
max/min(dict)用于比较键的大小
用max/min(zip(dict.values(),dict.keys()))用于比较值的大小
字典:用{}表示,例如dict={'b':98,'B':66}
key:value
dict[key]=value用于赋值
del dict[key]用于删除
dict.keys()可查看所有key,同理value
list(dict.keys())可将所有的key转化为表,同理value
max/min(dict)用于比较键的大小
用max/min(zip(dict.values(),dict.keys()))用于比较值的大小
字符串的方法:方法调用
大小写的函数:S.capitalize()/S.title()/S.upper()/S.lower()/S.swapcase()
排版相关函数:S.centerr(width[,fill])/S.ljust(width[,fill])/S.rjust(width[,fill])/S.expandtabs(tabsize)//转换空格的数量
查找相关函数:S.startswith(prefix[,start[,end]])//以特定字符串开头,返回真假
s.find(sub[,start[,end]])//查找第一个与sub匹配的字符串位置,没找到返回-1
格式判断函数:S.isalpha()--判断是不是字母
S.isdigit()--判断是否数字
字符分隔函数:S.split([sep[,maxsplit]])/S.rsplit([sep[,maxsplit]])--从左/右
repr('a')==>"'a'"
'What do you like,{2},{1},{0}'.format('ham','spam','eggs')==>'What do you like,eggs,spam,ham'
'What do you like,{s},{e},{h}'.format(h='ham',s='spam',e='eggs')==>'What do you like,eggs,spam,ham'
'What do you like,{},{},{}'.format('ham','spam','eggs')==>'What do you like,ham,spam,eggs'
'%+10.2f' 123.123==>'123.12 '(+左对齐,-右对齐)
import sys sys.platform()显示系统平台 '{p.platform}'.format(p=sys)==== p.platform()
'{t[0]}'.format(t={'a','b','hello'})====> ' a'
'{:-^10}'.format('start') ^表示居中'start'其他的用'-'(只能有一个字符)来填充40表示有40个字符 <表示左对齐 >表示右对齐 =的时候'start'必须是数字 '{:=10}'.format(-1)==>'- 1' '{:=+10}'.format(1)==>'+ 1' '{:+10}'.format(10)==>' +1' '{: }'.format(10)==>' 10' '{: }'.format(-10)==>'-10'
#只有在数字显示里,显示0b 0o 0x时用 '{0:#8b},{0:#8o},{0:#8x}'.format(10) =================> ' 0b1010, 0o12, 0xa'
,是来表示数字时每三位加一个,
0是固定宽度下前面补0
fnmatch不区分大小写,fnmatchcase区分大小写
字符串 不可变序列,但是 是不可修改的对象
#-*-encoding=utf8-*- 正常使用中文
text.replace('char','char')
Python里变量没有类型
变量 ——引用 ——对象
import sys
sys.getrefcount(X)某变量被引用的次数
python3.x
a='aB\nC1234c5b6a.b'
a.capitalize() ==> 'Ab\nc1234c5b6a.b' a.title() ==> 'Ab\nC1234C5B6A.B' a.upper() ==> 'AB\nC1234C5b6A.B' a.lower() ==> 'ab\nc1234c5b6a.b' a.swapcase() ==> 'Ab\nc1234C5b6A.B'
b='123'(奇数个) c='1234'(偶数个)
b.center(6,'*') ==>'*123**'(居中函数) c.center(7) ==> ' 1234 '(前面有2个空格,后一) a.ljust(5,' ')==>'123 ' b.rjust(5,'-')==>'-1234' print('Hello\tworld')==>'Hello world' print('Hello\tworld'.expandtabs(10))==> 'Hello world' ' Hello world '.strip()==> 'Hello world' ' Hello world '.lstrip()==> 'Hello world ' ' Hello world '.strip()==> ' Hello world' 'abcaabbccHello worldaaccbb'.strip('[abc]')==>'Hello world' 'abcaabbccHello worldaaccbb'.lstrip('[abc]')==>'Hello worldaaccbb' 'abcaabbccHello worldaaccbb'.rstrip('[abc]')==>'abcaabbccHello world'
'Hello world'.startswith('hello')【判断是否以hello开头】==>False 'Hello world'.startswith('ello',1)【从第一个元素开始判断是否以ello开头】==> True 'Hello world'.endswith('Rld')【判断是否以Rld结尾】==>False 'Hello world'.endswith('Rld',1)【去掉第一个元素,判断是否以Rld结尾】==>False
'hello world'.count('l')==>3 'hello world'.count('ll')==>1
'hello world'.find('l')==>2【找到第一个l,并输出其所在位置】 'hello world'.rfind('l')==>9【从右边开始找】 'hello world'.find('a')==>-1(未找到则返回-1) // index()函数会返回错误
'hello'.replace('l','L',1)将第一个l换为L
python 2.x 3.x
S.isalpha()判断是否是纯字母 S.isdigit()判断是否是纯数字 S.isalnum()判断是否是数字加字母 S.islower()判断是否有字母且全是小写 S.isupper()判断是否有字母且全是大写 S.isspace()判断是否只有空格和换行符 S.title()判断每个单词的第一个字母是不是大写
python 3.x
S.isdecimal()判断是否是纯数字 S.isnumeric()判断是否是纯数字 S.isidentifier()判断字符能否成为标识符 S.isprintable()判断字符是否全部能打印出来
'Hello world'.split()==>['Hello','world'] 'Hello world'.split(' ')==>['Hello',' ',' ','world']
'Hello\nworld\rhello'.splitlines()==> ['Hello','world','hello']
'http://myweb.com'.partition('://')==>('http','://','myweb.com')
'http://myweb.com/1st/2nd/3rd/file.name'.rpartition('/')==>('http://myweb.com/1st/2nd/3rd','/','file.name')
'-'join('abc')==>'a-b-c'
python3.x
map={97:'A'} "a".translate(map)==>'A'
运算符应用:
类型升级
应用于整数——位运算符
pow()幂函数
sqrt()平方根
round()四舍五入
cmp()比较
bin()转二进制
oct()转八进制
hex()转十六进制
repr()交互模式下显示
3+5j表示复数
3/6.0 正确显示
**平方
优点:
简洁可读性高
动态语言
可移植
标准库的支持
使用场景:
系统编程
GUI
Internet脚本
数据库编程
数值计算
游戏、图像、AI
.pyc编译后的.py文件
"""表示段落
#表示注释
转义字符 \
\newLine
\\反斜杠
\"双引号
负数坐标表示倒过来
ord()把字符转换成数字
chr()把数字转换成字符
Python 2 直接使用中文会出错
字符串可以直接比较大小
字符串方法
字符串格式化表达式
字符串操作
字符串输出方法
除了表达式之外,字符串还提供了一系列的方法去实现更复杂的文本处理任务。方法是与特定的对象关联在一起的函数。从技术角度讲,它们附属于对象的属性,而这些属性不过是写调用函数罢了。在py中,表达式和内置函数可能在不同范围的类型有效,但方法通常特定于对象类型,例如,字符串方法仅适用于字符串对象
属性读取:
Object.attribute格式的表达式可以理解为"读取object对象的属性attribute值"
函数调用表达式
具有函数(参数)格式的表达式意味着"调用函数代码,传递零或者更多用逗号隔开的参数对象,最后返回函数的返回值"
这两者合并可以让我们调用一个对象方法
S.expandtabs(tabsize)改变默认的(8)tab键值
S.strip()去掉两边的空格(默认或者是指定的字符)lstrip rstrip
S.split()以指定的字符分割字符串(默认以空格分割)
S.splitlines([keepends])以\n或者\r或者\r\n分割
S.partition(sep)从左或者右找第一个sep分割保留sep分隔符 一般用在分割网址时
join连接字符串
字符串合并 用+即可
字符串的重复输出 可以使用*
使用in 或者not in来判断是否属于同一个字符串
分片操作每隔n个字符显示
例:text="ThisIsTestText"
text[::2]的结果是:'TiITsTx'
字符串代码转换:当我们需要对字符串大小写等操作的时候,需要对字符串转换成相应的代码。这个时候我们就需要两个函数:ord和chr。ord是把一个字符串转换成数字,chr是把数字转换成单个字符
unichr可以转换回去(转换为汉字)
replace 替换字符串 返回的是一个字符串
如果想要改变原来的字符串的话,需要对原来的字符串重新赋值
把整数输出成非十进制数的时候,需要使用函数:
bin(i) 二进制 oct(i) 八进制 hex(i) 十六进制
i 是十进制数字
int('0b11111110',2)
254
变量:一个系统表的元素,拥有指向对象的连接的空间
对象:分配的一块内存,有足够的空间去表示他们所代表的值
引用:自动形成的从变量到对象的指针
变量是存放指针的,因此变量没有类型
对象是存放数据的,所以对象有类型之说
因为对象是独立于变量的,当不再使用的时候是需要回收的
在python中两个变量可以共享一个对象,这个叫做共享引用 a=3 b=a 这个时候a跟b是共享对象3的
当a赋另一个值的时候,就会创建一个对象,a变量会引用新对象,而不是改变对象
==表示测试两个值是否相等
is表示两个值是否是同一对象
random.modf(2.7) 浮点数的处理方法
(0.7000000000000002, 2.0)
math.log次函数为指数函数。默认e为底数 结果为浮点数。log10以10位底数。可以自定义底数
math.log(4, 2) = 2.0[第二个数是底数]
不可变序列
#-*-encoding=utf8-*-这样python脚本就能用中文了
'a"b\'c'为a"b'c
"a\"b'c"为a"b'c
a='hello\这里加个空格不行
askdj'连在一起
\b光标往回
\f换页一列,但是在linux下用和\v效果一样,在windows下却奇奇怪怪
\v换行同一列
\r光标移到第一个位
\uhhhh,用16位16进制表示比如\u0041表示'A'
\u0000 0041也表示'A'不过是32位的
\xhh也一样16进制
\ooo八进制
len(a)可以看长度
\0表示空字符,不显示的
在py2中
len('中文')3个字符
len(u'中文')2个
'hi'*5
for c in a:print(c,end=' ')这样就不会换行了2.7要用这个功能要引入from __future__ import print_function
a[0:5]0到5或a[:5]开始不用写
a[-4:]结束不用写后面4个倒数最后一个a[-1]
a[::2]每两个显示一个a[1::2]1是开始的位置
a[::-1]从后面倒过来
a[::]和输出a一样间隔默认为1和a[::1]一样
a[-3:3:-1]表示逆向从-3到3
ord('a')换成数字py2.7不能用中文,加u就可以了
chr(89)数字转换成字母
unichr(2003)是中
2.7: unichr(u'啊')
a='dahl' 不能用a[1]这样来索引
text.replace('','')创建一个新值可用
text=text.replace来修改
attribute属性
方法
“hellob”.capitalize() Hello
.title() Hello Hello
.会分割为两个单词,有数字不是单词
swapcase()大小写转换
'Hello'.center(7)
奇数个靠左
偶数个靠右
.center(7,'a')
ljust(7.'-')
.strip()默认删除两边空格和换行符
'helloworld'starstwith('hello',0,5)=='hello world'[0:5].startswith('hello')
'hello world'.startswith('hello',1)为false
有start才有end
.endswith('ld',4)只要结尾有那个字符串,如果只设单个数字的话大部分都是true因为结尾都为ld
\x00不可打印
‘http://myweb.com'.partition('://')
'-'.join(['dad','ad'] join多用于列表
map={97:'A'}
'a'.translate(map)可以将小写转换为大写
变量是没有类型的,赋值时可以取代,会回收
对象有指向类型的指针
‘’和“”一样
【】列表
list=[1,2,3]
list[0]=24,1变为24
list2=list[:]复制,不是共享
is表示是不是同一对象
a=1 b=1.0 a is b为false
浮点数a=3.14 b=3.14 a is b为true
但是a=‘one’b='one' 为true
import sys
sys.getrefcount(1)本身就引用一次
很少的都是3