Python2——7章总结

Python基础

注释

单行注释以“#”开头,用于说明当前行或之后代码的功能,而多行注释是由三对双引号或单引号包裹的语句。

# 单行注释

'''

多行注释

'''

"""

多行注释

"""

缩进

在代码的缩减中既可以用Tab控制,又可以用空格控制。

if True:

          print ("True")

else:

         print ("False”)

         print ("False”)

控制语句

if                #当条件成立时运行语块。经常与else, elif配合使用。

for             #遍历列表、字符串、字典、集合等,依次处理其中的每个元素。

while         #当条件为真时,循环运行语句块。

标识符

标示符由字母、下划线和数字组成,且数字不能开头。

Python中的标识符是区分大小写的。例如,andy和Andy是不同的标识符。

Python中的标识符不能使用关键字 。

关键字

关键字是已使用的,不允许开发人员重复的标识符,而关键字共有35个。在jupyter单元格总执行“help(“关键字”)”就可以查看。

输出输入

输出:print()

输入:input()

name=input(“请输入您的姓名”)

print(name)

王*瑄

print(*objects, sep=' ', end='\n', file=sys.stdout)

pobjects:表示输出的对象。输出多个对象时,对象之间需要用分隔符分隔。

psep:用于设定分隔符,默认使用空格作为分隔。

pend:用于设定输出以什么结尾,默认值为换行符\n。

pfile:表示数据输出的文件对象。

数据类型

整数:大小随意包含复数

浮点数:指一个数的小数点的位置不是固定的,而可以浮动

字符串:一个由单引号、双引号或者三引号包裹的、有序的字符集合

列表:多个元素的集合,它可以保存任意数量、任意类型的元素,可以被修改

元组:与列表相似,不可修改

集合:与列表相同,不同的是集合使用“{}”创建,集合中的元素无序且唯一

布尔类型:布尔类型只有两个值,false和true。通常垍頭筿用来判断条件是否成立。如果变量值为0就是false,否则为true,布尔变量只有这两个值

复数类型:由实部和虚部构成

算数运算

运算符                              功能说明                                              示例

+               加:使两个操作数相加,获取操作数的和              a+b,结果为10

-                减:使两个操作数相减,获取操作数的差              a -b,结果为-6

*               乘:使两个操作数相乘,获取操作数的积              a*b,结果为16

/               除:使两个操作数相除,获取操作数的商              a / b,结果为0.25

//              整除:使两个操作数相除,获取商的整数部分       a ll b,结果为О

%             取余:使两个操作数相除,获取余数                     a %b,结果为2

**              幂:使两个操作数进行幂运算,获取a的b次幂      a**b,结果为256

赋值运算

运算符                                功能说明                                                                   示例

+=                     变量增加指定数值,结果赋值原变量                        num+=2等价于num = num+2

-=                      变量减去指定数值,结果赋值原变量                        num-=2等价于num = num-2

*=                      变量减去指定数值,结果赋值原变量                        num*=2等价于num = num*2

/=                       变量除以指定数值,结果赋值原变量                       num/=2等价于num = num/2

//=                      变量整除指定数值,结果赋值原变量                       num//=2等价于num = num//2

%=                    变量进行取余,结果赋值给原变量                          num%=2等价于num = num%2  
 **=                    变量执行乘方运算,结果赋值原变量                      num**=2等价于num = num**2

比较运算

 逻辑运算符

 位运算符

 优先级

流程的控制

if语句

if语句和从属于该语句的代码段可组成选择结

if 判断条件1:

    代码段1

elif 判断条件2:

    代码段2

elif 判断条件3:

    代码段3

...

else:

    代码段n

嵌套

Python中通过if嵌套可以实现程序中条件语句的嵌套逻辑

if 判断条件1:        # 外层条件

    代码段1

if 判断条件2:    # 内层条件

        代码段2

while语句

while的表达形式为代码块。

while 循环条件1:          # 外层循环

    代码段1

    while 循环条件2:     # 内层循环

        代码段2

 等

 for语句

for 临时变量 in 目标对象为代码块。

for 临时变量 in 目标对象:          # 外层循环

    代码段1

    for 临时变量 in 目标对象:     # 内层循环

        代码段2

等

例子:

打印1-100之间的数字

for i in range (1,101): # for 循环

print(i)

break语句

break语句用于结束循环。

例子:

for word in "Python":

    if (word == 'o'):

        break

    print(word, end="  ")

P  y  t  h

continue语句

此语句用于满足条件的情况下跳出本次循环。

例子:

for word in "Python":

    if (word == 'o'):

        continue

print(word, end="  ")

P  y  t  h  n

字符串

\的用法

\b                   #退格

\n                   #换行

\v                   #纵向制表符

\t                    #横向制表符

\r                    #回车

使用%

Python字符串可通%格式符格式化输出

%c                  #将对应的数据格式化为字符

%s                  #将对应的数据化格式化为字符串

%d                  #将对应的数据格式化为整数

%u                  #将对应的数据格式化为无符号整型

%o                  #将对应的数据格式化为无符号八进制数

%x                  #将对应的数据格式化为无符号十六进制数

%f                   #将对应的数据格式化为浮点数,可指定小数点后的精度。

f-string

f('{变量名}') 或F('{变量名}')

查找与替换

可查找字符串中是否包含子串,若包含则返回子串首次出现的位置,否则返回-1

str.find(sub[, start[, end]])

sub:指定要查找的子串。

start:开始索引,默认为0。

end:结束索引,默认为字符串的长度。

可将当前字符串中的指定子串替换成新的子串,并返回替换后的新字符

str.replace(old, new[, count])

old:被替换的旧子串。

new:替换旧子串的新子串。

count:表示替换旧字符串的次数,默认全部替换。

分割与拼接

可以按照指定分隔符对字符串进行分割

str.split(sep=None, maxsplit=-1)

sep:分隔符,默认为空字符。

maxsplit:分割次数,默认值为-1, 表示不限制分割次数。

使用指定的字符连接字符串并生成一个新的字符串

str.join(iterable)

iterable:表示连接字符串的字符

删除字符串的指定字符

strip()                   #移除字符串头尾指定的字符

lstrip()                  #移除字符串头部指定的字符

rstrip()                 #移除字符串尾部指定的字符

upper()               #将字符串中的小写字母全部转换为大写

lower()                #将字符串中的大写字母全部转换为小写

capitalize()          #将字符串中的第一个字母转换为大写

title()                   #将字符串中的每个单词的首字母转换为大写

字符串对齐

center()              #返回长度为width的字符串,原字符串居中显示

ljust()                 #返回长度为width的字符串,原字符串左对齐显示

rjust()                #返回长度为width的字符串,原字符串右对齐显示

组合数据类型

列表

列表可以成为我们随时更改查阅以及调用的数据组合。

list = []                    #声明一个空列表

list.append()          #在末尾增加一个数据

list.insert()             #在任意位置插入一个数据,其后数据向后移一位

list.extend()           #添加一组数据,例如添加一个列表到另外一个列表

                             #删除操作

list.pop(0)             #弹出某一位置一个数据

list.remove()         #删除列表内的一个数据,需要知道数据名称

list.sort()             #可以对列表中数据进行排序,前提是数据类型必须相同,数字数据默认为自然                                 数顺序排序

list.reverse()       #可以使列表中的数据翻转

                           #其它操作,外部函数

len(list)               #返回列表数据个数

max(list)             #求列表最大值

min(list)              #最小值


元组

t1 = ()  # 使用()构建元组

t2 = tuple()  # 使用tuple构建元组

集合

集合本身就是可变类型,集合中的元素可以动态增加或删除

set.add()            #集合中添加数据

set.pop()            #随机删除集合中的一个数据

set.remove()      #删除集合中一个具体的数据

set.discard()      #删除集合中的一个具体的数据

set.clear()          #清空集合

set.copy            #拷贝集合,返回值为集合

字典

d1 = {'A': 123, 12: 'python'}                     # 使用{}构建集合

d2 = dict({'A': '123', 'B': '135'})                # 使用dict构建元组

字典

d1 = {'A': 123, 12: 'python'}  # 使用{}构建集合

d2 = dict({'A': '123', 'B': '135'})  # 使用dict构建元组

pop():根据指定键值删除字典中的指定元素

popitem():随机删除字典中的元素

clear():清空字典中的元素

函数

 函数的调用

函数在定义完成后不会立刻执行,直到被程序调用时才会执行。

函数内部也可以调用其他的函数,这叫做嵌套调用。 

函数参数的传递

函数参数的传递可以分为位置参数传递、关键字参数传递、默认参数传递、参数的打包与解包以及混合传递。 

参数的打包和解包

打包

“*”接受以一个元组形式打包的多个值,

“**”接受以字典形式打包的多个值。

解包

混合传递 

def test(a, b, c=33, *args, **kwargs):

print(a, b, c, args, kwargs)                                                  定义

test(1, 2)

test(1, 2, 3)

test(1, 2, 3, 4)

test(1, 2, 3, 4, e=5)                                                             调用

1 2 33 () {}

1 2 3 () {}

1 2 3 (4,) {}

1 2 3 (4,) {'e': 5}                                                                   解果

函数的返回值

函数中的return语句会在函数结束时将数据返回给程序,同时让程序回到函数被调用的位置继续执行。 

如果函数使用return语句返回了多个值,那么这些值将被保存到元组中

 局部变量和全局变量

变量并非在程序的任意位置都可以被访问,其访问权限取决于变量定义的位置,其所处的有效范围称为变量的作用域。

 局部变量

不同函数内部可以包含同名的局部变量

def test_one():

    number = 10     

    print(number)             # 访问test_one()函数的局部变量number

def test_two():

    number = 20

    print(number)             # 访问test_two()函数的局部变量number

test_one()

test_two()                                               

10

20

全局变量

全局变量可以在整个程序的范围内起作用,它不会受到函数范围的影响。

number = 10           # 全局变量

def test_one():

    print(number)     # 函数内部访问全局变量

test_one()

print(number)         # 函数外部访问全局变量

10

10

global

使用global关键字可以将局部变量声明为全局变量,其使用方法如下:

number = 10                    # 定义全局变量

def test_one():

    global number              # 使用global声明变量number为全局变量

    number += 1

    print(number)

test_one()

print(number)

nonlocal

使用nonlocal关键字可以在局部作用域中修改嵌套作用域中定义的变量。

LEGB原则

LEGB是程序中搜索变量时所遵循的原则,该原则中的每个字母指代一种作用域

L-local                      #局部作用域    例如,局部变量和形参生效的区域

E-enclosing              #嵌套作用域    例如,嵌套定义的函数中外层函数声明的变量生效的区域

G-global                   #全局作用域     例如,全局变量生效的区域

B-built-in                  #内置作用域      例如,内置模块声明的变量生效的区域

逆推函数

递推:递归本次的执行都基于上一次的运算结果。

回溯:遇到终止条件时,则沿着递推往回一级一级地把值返回来。

 匿名函数

定义好的匿名函数不能直接使用,最好使用一个变量保存它,以便后期可以随时使用这个函数。

# 定义匿名函数,并将它返回的函数对象赋值给变量temp

temp = lambda x : pow(x, 2)

temp(10)

文件与数据格式化

 文件的概述

文件标识的意义:找到计算机中惟一确定的文件。

文件标识的组成:文件路径,文件名主干,文件扩展名。

                    

计算机的文件一般被分为文本文件二进制文件文本文件是专门储存文本字符数据的,而二进制文件是不能直接使用文字处理程序正常读写的,必须先了解其结构和序列化规则的,在设计正确的反序列规则,才能正确的获取文件信息。(注:这两种类型的划分基于数据逻辑储存结构而非物理储存结构。

标准文件

Stdin(标准输入文件)    stdout(标准输出文件)

Stderr(标准错误文件)

文件的基本操作

文件的打开

1.内置函数open()用于打开文件:

Open(file,mode=‘r’,buffering=-1)

2.返回值:若open()函数调用成功,返回一个文件对象。

若待打开的文件不存在,文件打不开并且程序会异常,并打印错误信息。

文件的关闭

1.close(),这是对文件对象的内置方法。

2.with语句,可以预定清理操作,以实现文件的自动关闭。

文件的读写

1.读取文件——read()方法
read(n=-1)

with open('file.txt', mode='r') as f:
print(f.read(2)) # 读取两个字节的数据
print(f.read()) # 读取剩余的全部数

2.读取文件——readline()方法 

readline()

with open('file.txt', mode='r', encoding='utf-8') as f:
print(f.readline())
print(f.readline())

3.读取文件——readline()方法

readlines(hint=-1)
with open('file.txt', mode='r', encoding='utf-8') as f:
print(f.readlines()) # 使用readlines()方法读取数据


4.写文件——write()方法
write(data)

string = "Here we are all, by day; by night."# 字符串
with open('write_file.txt', mode='w', encoding='utf-8') as f:
size = f.write(string)
# 写入字符串
print(size)# 打印字节数

5.写文件——writelines()方法
 

writelines(lines)

string = "Here we are all, by day;\nby night we're hurl'd By dreams,
each one into a several world."
with open('write_file.txt', mode='w', encoding='utf-8') as f:
f.writelines(string)

文件的定位读写

 tell()获取文件当前的读写位置

with open('file.txt') as f:
print(f.tell()) # 获取文件读写位置
print(f.read(5)) # 利用read()方法移动文件读写位置
print(f.tell()) # 再次获取文件读写位置
 seek()控制文件的读写位置

with open('file.txt') as f:
print(f.tell()) # 获取文件读写位置
print(f.read(5)) # 利用read()方法移动文件读写位置
print(f.tell()) # 再次获取文件读写位置

with open('file.txt','rb') as f:
f.seek(5,0)
f.seek(3,1)

 文件与目录

删除文件——os.remove(文件名)
文件重命名——os.rename(原文件名,新文件名)
创建/删除目录——os.mkdir(目录名)/os.rmdir(目录名)
获取当前目录——os.getcwd()
更改默认目录——os.chdir(路径名)
获取目录列表——os.listdir(目录/路径)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值