默认教学计划
929人加入学习
(28人评价)
Python 基础
价格 ¥ 299.00
该课程属于 高校公益行 | 网络安全实践训练营 请加入后再学习

Python的优点:1.语法简洁   2.高可读性,开发效率高  3.可移植性  4.支持自行开发或第三方模块   5.可调用c,c++库,可与Java组建

 

[展开全文]

>>> Quentities = {'toast': 45,'muffin': 23,'ham': 78,'spam': 56,'eggs': 89}
>>> sorted(zip(Quentities.values(),Quentities.keys()))
[(23, 'muffin'), (45, 'toast'), (56, 'spam'), (78, 'ham'), (89, 'eggs')]
>>> max(Quentities,key=lambda k: Quentities[k])
'eggs'
>>> min(Quentities,key=lambda k: Quentities[k])
'muffin’

关于lambda,你可以把这个当成如下函数:
>>> def get_count(k):
... return Quentities[k]
...
>>> min(Quentities,key=get_count)
'muffin'

按fname或者uid排序时需要operator模块里的itemgetter函数

>>> from operator import itemgetter

按lname和fname的顺序排列时:
>>> rows_by_lfname = sorted(rows, key=itemgetter('lname','fname'))
>>> print(rows_by_lfname)
[{'lname': 'Beazley', 'uid': 1002, 'fname': 'David'},
{'lname': 'Cleese', 'uid': 1001, 'fname': 'John'},
{'lname': 'Jones', 'uid': 1004, 'fname': 'Big'},
{'lname': 'Jones', 'uid': 1003, 'fname': 'Brian'}]

通过某个字段将记录分组

>>> from operator import itemgetter
>>> from itertools import groupby
>>> rows.sort(key=itemgetter('date'))
>>> for date, items in groupby(rows, key=itemgetter('date')):
... print(date)
... for i in items:
... print(' ', i)

 

[展开全文]

re.split(r'[;,\s]\s*',line)

用r的话原来的line里面的\不会当成转义符号

url.startswith(())来判断是不是url

[展开全文]

repr会连引号都输出,和print不一样

"%u" % (-1)输出的还是有符号的

有%r时输出会带双引号

{'float':3.1}字典的形式,可以不管顺序

'my laptop platform is {p}'.format(p=sys.platform)

或者'my laptop platform is {p.platform}'.format(p=sys)

'this is a test {t[0]}'.format(t='hello不能用[1:]

'{:-^40}'.format('start') ^居中

'{:=10}'.format(1) =用于输出数字

 

[展开全文]

合并拼接字符串
>>>a='hello'
>>>b='world'
>>>a+''+b
'hello world'
>>>'{}{}'.format(a,b)
'hello world'
>>>''.join([a,b])
'hello world'
>>>a=print(a,b)
hello world

字符串中插入变量
几个小的字符串合并为一个大的字符串
>>>'my name is {name}.'.format(name='abby')
'my name is abby'
>>>format(text,'>20')
'             hello world'
>>>'{:>10s}{:>10s}'.format('hello','world')
'       hello       world'
>>>'%-20s' % text
'hello world             '

以指定列宽格式化字符串
>>>longtext="hello world! hello world! hello world! hello world! \
...hello world! hello world! hello world! hello world! hello world! \
...hello world! hello world! hello world! hello world! hello world! "
>>>import textwrap
>>>textwrap.fill(longtext,40)
'hello world! hello world! hello world!\nhello world! hello world! hello world! \nhello world! hello world! hello world! \nhello world! hello world! hello world! \nhello world! hello world! '
>>>print(textwrap.fill(longtext,40))指定宽度40
hello world! hello world! hello world! 
hello world! hello world! hello world! 
hello world! hello world! hello world! 
hello world! hello world! hello world! 
hello world! hello world! 

[展开全文]

print(x,file=open(/tmp/xyz.txt),'w')将数据重定向到xyz.txt中

用print(open(/tmp/xyz.txt).read())打开

[展开全文]

t1,*t2='TEXT'可得到

t1='T',t2=['E','X','T']

[展开全文]

python里面缩进严格,必须使用一个以上空格(无严格数量控制)或者tab缩进,以及和c不同的是,用{:d}代替%d

[展开全文]

文件:用open函数进行文件的操作

open(<file_address>[,access_mode])

读取:output.read()

指针读取:output.seek()

基本写入:input.write()

按列表内容写入:input.writelines(lines)(需要换行符号)

[展开全文]

字典操作:字典列表的排序:需要按fname或者uid排序时需要operator模块里的itemgetter函数  需要按Iname和fname的顺序排列

 

[展开全文]

字典:分片不能使用,序列运算无效

字符串的比较:zip(dict.values(),dict.key())

[展开全文]

列表的方法:列表的插入:list.insert()

列表的删除:del list[1:]

查找最大:nlargest()

查找最小:nsmallest()

 

[展开全文]

列表:列表的操作(合并/重复)查找:list 1.index()   列表的迭代和解析(list (map(abs()))

列表的索引,分片与矩阵:list [0:2](分片)矩阵:matrix=[[1,2,3],[4,5,6]]

列表可以在原处修改(字符串不可以在原处修改)

列表的添加:list.append()

列表的排列:list.sort(key=str.lower(),reverse)

[展开全文]

6.字符串忽略大小写的搜索替换(re.findall,re.sub)

7.最短匹配(两个双引号之间的内容)

8.多行匹配模式(\* *\之间的内容)

9.删除字符串中不需要的字符

10.字符串对齐

11.合并拼接字符串(使用+,join,format)

12.字符串中插入变量

13.以指定列宽格式化字符串

[展开全文]

\s表示空格

improte re(分隔字符串)                   re.split(r'[;,\s【分隔符】]',【要分隔的字符串】)

检测字符串的开头或结尾                    S.starswith(【匹配的元组】)              S.endswith(【匹配的元组】)

通配符  *                                from fnmatch iport fnmatch, fnmatchcase                         fnmatchcase('log.txt'【要匹配的数据】,'*.txt'【匹配的字符串】)【分大小写】                         fnmatch('log.txt','*.TXT')【不分大小写】

[展开全文]

字符串13个场景:

1.使用多个界定符分隔字符串:使用正则表达式进行分隔(\s表示空格)re模块中的[]表示里面字符里任意匹配

2.字符串开头或结尾匹配(startswith,endswith)

3.用Shell通配符匹配字符串(使用fnmatch模块)注:fnmatchcase区分大小写

4.字符串匹配和搜索

5.字符串搜索和替换:使用replace方法(指定文本模式用re模块)

 

 

[展开全文]

字符串格式化表达式:

fieldtype使用属性或指针

当使用字典的时候需要引号扩充,但使用字符串格式化方法的时候不能使用引号

 

[展开全文]

open(<dile_address>[,access_mode])

在其中用r来对/不进行转义

如:open(r'C:/mydir/myfile')

记住r,rb,r+,rb+,w,wb,w+,wb+,a,ab,a+,ab+的意思,a模式不能覆盖原文件

用for循环读文件,且读完文件用file1.close()

用file.tell()查看指针位置

 

[展开全文]

元组不能更改,只能取数据及固定长度

tuple=()创建

表list用list=[]创建

[展开全文]