Python基础总结(一)

一、Python基础语法

1、输入与输出

(1)输入示例

# 变量的输入,直接使用input输入的是字符串
a = input()


# 输入其他类型,在input()函数前面加上强制类型转换
# 整型
a = int(input())
# 长整型
a = long(input())
# 浮点型
a = float(input())
a = double(input())

(2)输出示例

# 输出一个变量a
print(a)

# Python的print自带换行,若无需换行需配置end参数
# 多参数同一行输出,直接print多参数名称,中间逗号隔开


# 一行输出a,b两个变量,并用空格分割
print(a, b, end=' ')

2、变量的定义

# Python的变量定义需要带上变量的初始化

# 定义字符串,下面的方式即定义了一个空字符串
str = ''
# 定义整型
a = 0
# 定义浮点型
a = 0.00

3、运算符

# 数值类型运算(包括整型以及浮点型)

# 加法
c = a + b

# 减法
c = a - b

# 乘法
c = a * b

# 除法
c = a / b

# 求绝对值
a = abs(a)

# 取余运算(求两个整数除法运算之后的余数)
c = divmod(a, b)

# 幂运算
c = pow(2, 3)    # 表示2的3次方

# 字符串类型运算

# 字符串的加法(即字符串的拼接)
str3 = str1 + str2    # 得到的str3是将str1拼接到str2后面

# 求字符串长度
k = len(str)

# 统计某个字符在字符串中出现的次数
str = 'aaaabbbccc'
num = str.cout('a')
print(num)
# 结果为5

# 查找字符串
str = 'abcad'
is = str.find('ab')
print(is)
# 输出结果为0
# find()函数查询字符串中是否含有某个子串,若不存在返回-1,若存在,返回子串在原字符串中开始的下标



4、组合数据类型

    由于后面的循环与判断主要控制的便是这些组合数据类型,故此处先讲简介组合数据类型后分析控制结构

(1)元组

# 元组

"""
特点:元组不可以被修改,元组建立后即确定了元组的长度以及每个位置的值(即长度和值不可修改)。
"""

# 元组的建立

# 形式一
tuple1 = tuple((1, 2, 3))

# 形式二(推荐)
tuple2 = (1, 2, 3, 4, 5, 6, 7, 8, 9)

# 元组的访问:直接以下标的形式访问

# 直接访问元组名,得到整个元组
print(tuple1)
>>> (1, 2, 3)
# 下标访问
print(tuple1[0])
>>> 1


# 元组的删除
del tuple1

# 元组的加法
# 元组虽然不可修改,但是多元组之间可以通过加法的形式进行合并
tuple3 = tuple1 + tuple2

(2)列表

# 列表

"""
列表可视为可变元组,长度以及内部值均可以修改
"""


# 列表的定义
list1 = ['A', 'B', 'C']

# 列表的访问
# 列表名访问:直接得到整个列表
print(list1)
>>> ['A', 'B', 'C']
# 下标索引访问
print(list1[0])
>>> A
print(list1[-1])
>>> C
# 列表的索引可以为负数,就是从列表尾部往前查

# 列表的运算
# 列表加法(即列表拼接)
list2 = ['D', 'E', 'F']
list3 = list1 + list2
print(list3)
>>> ['A', 'B', 'C', 'D', 'E', 'F']

# 列表的嵌套:列表的内部还能再嵌套
list4 = ['A', 'B', 'C', ['D', 'E', 'F']]
# 嵌套索引时变成二维
>>> print(list4[2][0])
C
>>> print(list4[3][2])
F


# 列表相关操作
# 增加,往列表后面添加元素
list4.append('G')
>>> print(list4)
['A', 'B', 'C', ['D', 'E', 'F'], 'G']

# 删除,删除列表中的尾部的元素
a = list4.pop()
>>> print(a)
G

# 修改
list4[2] = 'H'
>>> print(list4)
['A', 'B', 'H', ['D', 'E', 'F']]

(3)字典

# 字典

# 字典的定义
# 方式一
d = dict()
# 方式二
dt = {}

# 字典的初始化

d1 = dict(zip([1,2,3],["a","b","c"]))  #具有明显的映射关系
d2 = dict(zip(("a","b","c"),(1,2,3,5))) #第二个元组多个5,不影响映射。
d3 = dict({1:"a",2:"b",5:"c"})

>>> print(d1)
{1: 'a', 2: 'b', 3: 'c'}
>>> print(d2)
{'a': 1, 'b': 2, 'c': 3}
>>> print(d3)
{1: 'a', 2: 'b', 5: 'c'}
# 映射规则,zip()的第一个参数作为索引,第二个参数为字典内容

# 字典的访问
# 根据索引进行访问
k1 = d1[1]
k2 = d2['b']

>>> print(k1)
a
>>> print(k2)
2

(4)集合

# 集合

"""
集合元素是不可变类型,所以可以使用数值,字符串,元组,而不能使用列表,字典当做元素值。
(即内部元素不可修改)
"""

# 集合的创建
k1 = set()

# 集合初始化
# 集合一般与列表关联使用
list1 = ['A', 'B', 'C']
k1 = set(list1)



(5)分片操作

  • 一般形式:
l2=[4,6,1,7,9]
e = l2[2:4]
print(e)
>>> [1, 7]

        分析可得冒号前部分数字为分片的起始位置,冒号后面的数字结束位置,且分片得到的数据不包含列表结尾位置的数据,即:若操作为[n:m]实际范围为n ~ m - 1

  • 步长:

           分片的步长默认为1,即在你n ~ m - 1 这个范围内,它经过了每个位置,当我们想要跳过某些数据时,可以通过设置步长的方式,如:

l4 = [3,5,1,6,2]
e4 = l4[0:5:2]
>>> print(e4)
[3, 1, 2]

        我将步长调节2,它就能够隔一个选取一个 

  • 索引下标为负数
    • 下标为负数和列表下标负数等同
    • 步长为负数,则从右往左截取(默认为从左往右)
l5=[4,5,7,1,9]
e5 = l5[-2:-4:-1]
>>> print(e5)
[1, 7]

"""
解释:
首先开始位置为-2,对应的为1,
结束位置对应的是-4,对应的是为5,
步长为-1,为从左往右,每次移动幅度为1,故是[1, 7]
"""

 

5、控制结构(循环与判断)

(1)分支结构

# 分支结构(判断)

# 单分支结构
if score >= 60:
    print('合格')

# 双分支结构
if score >= 60:
    print('合格')
else:
    print('不合格')

# 多分支结构
if score >= 90 and score <= 100:
    print('A')
elif score >= 80 and score <= 89:
    print('B')
elif score >= 70 and score <= 79:
    print('C')
elif score >= 60 and score <= 69:
    print('D')
else:
    print('E')

"""
注意:
    1、Python是对于缩进有严格要求的,每一个判断语句(同等级的语句)之后都需要缩进一下
    2、对于多分支结构的最后一个分支依旧是else
    3、多判断条件条件的情况下,若是多条件都需要满足,则每个条件之间使用and连接,如上述例子;
        若多条件只需要满足一个,则是使用or连接
"""

(2)循环结构

# 循环结构

# for循环

# 方式一:根据参数调用
# 给定循环的列表(或元组等),给定参数存储循环的位置

lists = ['A', 'B', 'C', 'D', 'E']
for it in lists:
    print(it, end=' ')
print()

# 结果为: A B C D E

# 方式二:根据下标索引调用
# 这种方式循环先是得到下标值,然后操作列表,可以方便同时操作多个列表

lists = ['A', 'B', 'C', 'D', 'E']
k = len(lists)
for i in range(0, k):
    print(lists[i], end=' ')
print()

# 结果为: A B C D E


# while循环

# 在while后面给定一个条件,当不满足条件后,结束循环

lists = ['A', 'B', 'C', 'D', 'E']
k = len(lists)
while k > 0:
    k = k - 1
    print(lists[k], end=' ')

# 结果为:E D C B A



二、进阶操作

1、文件操作:

(1)基本操作:

"""
mode:
    r: 只能读文件
    w: 只能写入(清空文件内容)
    a+: 读写(文件追加写入内容)
"""
#1.打开文件
f = open('hello.txt',mode='a')   ##文件是自己建立在当前目录,w写,a追加
#2.文件读写操作
f.write('java\n')
#3.关闭文件(核心:打开之后必须关闭)
"""
方法一:
    调用close()方法关闭文件。文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,
并且操作系统同一时间能打开的文件数量也是有限的:
"""
f.close()

(2)with和seek

"""
    with语句:python中的with语句使用于对资源进行访问的场合,
保证不管处理过程中是否发生错误或者异常都会自动执行规定的(“清理”)操作,
释放被访问的资源,比如有文件读写后自动关闭、线程中锁的自动获取和释放等。

    seek:seek(offset, from)有2个参数:  offset:偏移量  from:方向
        0:表示文件开头;
        1:表示当前位置;
        2:表示文件末尾

        1). 把位置设置为:从文件开头,偏移5个字节
        2). 把位置设置为:文件最开始
        3). 把位置设置为:文件最末尾


"""
with open('hello.txt','w+') as f:   #w+先清空在写
    f.write('hello westos\n')    ##写入文件 #先清空原来的hello,写入hello westos
    f.seek(0,0)               ##移动指针到文件最开始
    print("当前指针的位置:",f.tell())
    f.seek(0,2)              ##移动指针到文件末尾
    print("当前指针的位置:", f.tell())
    print(f.read())       ##读取文件内容

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值