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

python2与Python3 区别

函数

规范化代码<>不可用 变为!=

特点

简介和高效可读

开发效率 移植性 标准库支持

可以调用c c++库 java

使用场景

系统编程

用户图形接口

数据库编程

Internet脚本

数据库编程

快速原型

计算  和游戏

Windows  需要设置环境变量

添加path

print("hello world!")

解释器 让程序运行起来的程序(shell)

一次读一句 根据语句执行特定的操作

.pyc是,py的源代码

Python虚拟机 pvm

交互模式

>>>

复合句 

...

用空行表示一个语句的结束

在unix中 以

#!开头

#!/usr/bin/env Python

循环会有缩进

引号反用

'''

''' 多行注释

#朱师傅

[展开全文]

字符串合并:'xxxxx'+'xxxxx'

字符串重复:'xx' * n(n为需要重复的次数)

[展开全文]

在Python 2.x (兼容强)【公司用】

中的

①print 'hello'

②<>表示不等于(能向下兼容)

 

在Python 3.x(速度快、兼容弱)【个人用】

①以函数的形式使用print ('hello')

②!=表示不等于(不能向下兼容)

 

Python

管理工具、GUI(图像)、Internet脚本、数据库编程(开发速度快)【开发原型】

 

环境变量

PYTHONPATH (import的模块)

PYTHONCASWOK (导入不区分大小写)

PYTHONSTARTUP (执行此文件中变量指定的代码)

PYTHONHOME (使得模块库更容易切换)

 

Python 的解释器

每次读入一个语句,然后操作,然后继续读入。

 

运行Python脚本时,在cmd中输入(Python的绝对路径)[python] 脚本名

 

Python 会把源代码编译成字节码而不是二进制码。

 

.pyc文件是.py编译后的代码文件。

 

Python 的虚拟机(PVM)

字节码会通过他来执行。

 

交互mode

提示符:>>>

1.文本前不能有空格,否则会报错

2.复合语句中第二行开始提示符会变成...

3.用一个空行表示符合语句结束

 

标识符,缩进对Python有影响

在Python中,“ 与’没差

#用来做注释

                              未来之巳

                             2018.5.14

[展开全文]

 python里第一次赋值给一个变量时,变量就被创建了。且在python里变量没有类型(变量是存放指针的,对象存放数据,所以变量没有类型而对象有类型之说)

对象的回收:对象独立于变量, 当不再使用时需要回收。

在python里两个变量可以共享一个对象(共享引用)

例如:a=3   b=a

列表的共享引用

list1=[1,2,3]

list2=list1  //将list1的指针赋值给list2

list[0]=24  //将list1中的第一个元素更改为24

复制列表

list1=[1,2,3]

list2=list1[:]  //复制list1中的引用对象,把对象引用到list2

[展开全文]

分数模块导入:from fractions import Fraction

位运算符只能用于整数('&,|,^,<<,>>')

pow幂函数  sqrt平方根

math导入:import math

取绝对值:abs ,fabs(取出的绝对值为一个浮点类型)

random随机数函数

 

[展开全文]

 python2中分有整型和长整型(结尾L)

python3中只有整型

 二进制数:0b或0B开头

八进制数:0o或0O开头

十六进制数:0x或0X开头

整数转化为非十进制数:bin(i),oct(i),hex(i)

非十进制数转为整数:int(str,base),str文本型的数字,base为2,8,16.

 复数:A+Bj(A为实数,Bj为虚数部分,在python中用"j"将数学中的"i"替换),或者使用complex(A,B)来表示复数。

分数:Fraction(a,b),即a/b

无穷大:float('inf')  无穷小:float('-inf')

非数字:float('nan')

位运算:&(与),|(或),^(异或),~(非),<<(左移),>>(右移)

 

 

 

 

[展开全文]

                元组

一、元组的简介

    元组和列表很类似,只是不能在原处更改。

    元组的特点:任意对象的有序组合、通过偏移量数据、属于不可变序列类型、固定长度,异构,任意嵌套、对象引用的数组。

二、元组的操作

    元组的创建:

    Tuple=()

    Tuple=(1,)  #一定要加一个逗号。

    Tuple=1,'2',(3,4)

    元组的方法:

    tuple(list)      #将list改为tuple

    Tuple.index(data)#查找data的位置

    Tuple.count(data)#获取data的个数

    Tuple[index]或Tuple[start:end]

 

[展开全文]

              字典(下)

一、字典的比较:

    (1)、比较值,但返回对应的键:

 max{list,key=lambda x: list[x]} #找最大值对应的键。

二、字典列表的排序:

 from operator import itemgetter

 sorted(list,key=itemgetter('键1','键2'...)) #通过键对应的值来排序,也可以用多个键

三、通过某个字段将记录分组:

 from operator import itemgetter

 from itertools import groupby    #分组

 list.sort(key=itemgetter('键'))  #排序

 groupby(list,key=itemgetter('c'))#分组

 打印举例:

for c,dict_list in groupby(list,key=itemgetter('c')):

  print(c)

  for _dict in dict_list:

     print(_dict)

 

 

[展开全文]

                 字典

一、字典的简介:

    字典:无序集合对象类型。用{}表示:

    Dict={'a':97,'A':65} #a为键

    字典的主要特性:通过键而不是偏移量来读取任意对象无序组合、可变长,异构,任意嵌套、属于可映射类型、对象引用表。

Dict.keys()或list(Dict.key()  #获取键值

Dict['a']=98         #更改键对应的值

Dict['c']=99         #添加键c并赋值

del Dict['a']        #删除键为a的元素

list(Dict.values())  #获取字典中的所有值

list(Dict.items())   #把所有的元素改成元组展现出来

Dict.get('d',0)      #查看字典中有没有键为'd'的元素,没有就返回我们给定的0,有则返回键的值。

二、创建字典的方法:

  • 原始方法:Dict={'a':97}
  • 按键赋值方法:Dict{},Dict['a']=97
  • 变量赋值方法:Dict{'a'=97}
  • 元组列表方法:Dict{['a',97]}

三、字典的比较:

    默认通过键比较,而不是通过值比较。

    用zip方式将值与键颠倒再比较或排序。

[展开全文]

   格式化表达式中的各个符号和C语言相似。例如%d表示整数,%s表示字符串。

   format()方法:举例如下:

[展开全文]

isinstance(i,list)    i是list类型   true

isinstance是Python中的一个内建函数。是用来判断一个对象的变量类型

 

lambda a:a*a

传递a,返回a*a

funclist = [lambda x : x**2,

                  lambda x : x**3,

                   lambda x : x**4 ]

funclist[0](3)  

>>>9            调用第一个,计算结果

funclist[1](3)

>>>29           调用第二个,计算结果

[展开全文]

实参,形参

 

list  改变函数的可变对象参数的值  也许会对调用者有影响

不可变对象“传值”:数值、字符串

可变对象“指针”:列表、字典

    

 

[展开全文]

序列赋值:

   a = 1

   b = 2

   b,a = a,b

a,b 值互换

a ,*b ,c = 1, 2, 3, 5,4

a =1     b = [2,3,5]   c = 4

a = b = c = "myvalues"

a is b    b is c     : true

 

[展开全文]

集合 

   无序,不可重复的

py2  set(list)

py3 _set()

  list2

list1 = list2    引用

list1 = list2[ : ]    复制

对象的比较  : is  

list1 is list2  表示同一个对象的引用,即true

list1 == list2   比较两个列表的值

无限循环:

   l = ['l'];

   l.append('l')

   l[1][1][1]

 

[展开全文]

读取压缩文件:

    import gzip

    import bz2

    gzip.open("file_address",'wt')

    bz2.open('file_address','wt')

py2

   bz2.BZ2File('file_address','w')  

[展开全文]

open(r"file_address", access_mode)打开

py2默认二进制打开

py3默认unicode方式打开

 

r :读             rb :二进制读

w :重写            wb : 二进制重写

a :追加          ab :二进制追加

flush   close()刷新文件操作

 

file.read()读取文件file

file.tell()   获取 读取文件后指针的位置

file.readline()   按行读取

file.readlines()  按行读取,返回list,每行就是元素

file.seek(x,0/1/2)   偏移指针读取

 

file.write("sddf")   写入file

file.write( list )      写入列表

 

 

[展开全文]

    python2为了正常使用中文,可以在脚本的开头加上语句:#-*-encoding=utf8-*-来所有的字符串方式都转换为utf8的方式.

    len():用来看字符串的长度。

    在用for语句时,要记得缩进,不然会报错(前面加上先执行语句:from __future__ import print_function)。

    string[a:b:c]表示提取从a开始到b的字符串。(最后一个参数可有可无,表示每c个字符显示一个)。

   ord():把一个字符串转换位数字。

   chr():把单个数字转换为字符。

[展开全文]

字典(键对值){}

  无序:索引无效

  len(dict)

  只能查找对应键

操作:

  原处修改:

  dict['key'] = num

  加入:dict['new_key'] = num

  删除:del dict['key']

  查看:list(dict.keys())      键list

            list(dict.values())    值lis

list(dict.items())   

元组方式 [(key,value),(key,value)]

 

方法:

  dict.get(key,'no')   查看有没有这个键,没有就no

 

 

 

 

[展开全文]

列表方法:

   list.index("ss")  ss在list的索引

  list.insert(2,“kk”)  在第二位插入一个元素

   list.pop(2)输出并去除索引为 2  的元素

   del list[0]   删除list[0] 元素,可分片

   sorted(list)排序list,并返回新列表

取值:

   info = ['my',18,[1,2,3]]

   name,age,birth = info  对应赋值

固定list元素数:

  from collections import deque

  q = deque( maxlen = 3 )

  q.appendlift('e')    在左边加入

  q.append()  从右边加入

max,min,sum:

    最大,最小,求和

重复元素的计算:

from collections import Counter

dict = Counter(list)   返回字典

dict.most_common(2)  提取索引2之前的元组

 

 

[展开全文]

搜索替换:

re.findall('s','string,s,t',flags = re.IGNORECASE)

第一个字符串替换第二个字符串;flags 表示忽略大小写

[展开全文]