Python 入门基础

一、列表

1.查询列表(列表的下标只能是int类型)

namelist = ['张三', '李四', '王五']
print(namelist[2])      #输出>>>王五

2.循环遍历列表

# for循环
for name in namelist:
    print(name)

# while循环
length = len(namelist)
i = 0
while i < length:
    print(namelist[i])
    i += 1

3.列表的增删改查操作

a = [1, 2]
b = [3, 4]
# append 新增数据到列表尾部
namelist.append('赵六')
print(namelist)     # 输出>>>['张三', '李四', '王五', '赵六']
a.append(b)
print(a)        # 输出>>>[1, 2, [3, 4]]

# extend 将元素拆散依次加入列表
a.extend(b)
print(a)        # 输出>>>[1, 2, [3, 4], 3, 4]

# insert(索引下标, 要插入的元素) 将元素插入到列表中的某个位置
a = [0, 1, 2]
a.insert(1, 3)
print(a)        # 输出>>>[0, 3, 1, 2]

# del 删除列表索引
a = [1, 2, 3, 4, 5, 6]
del a[2]
print(a)        # 输出>>>[1, 2, 4, 5, 6]

# pop 弹出(删除)列表最后一个元素
a = [1, 2, 3, 4, 5, 6]
a.pop()
print(a)        # 输出>>>[1, 2, 3, 4, 5]

# remove 删除列表中第一次出现的某个元素值
namelist = ['张三', '李四', '王五', '赵六', '刘七', '王五']
namelist.remove('王五')
print(namelist)     # 输出>>>['张三', '李四', '赵六', '刘七', '王五']

# 修改列表元素值
namelist = ['张三', '李四', '王五', '赵六', '刘七', '王五']
namelist[2] = '孙八'
print(namelist)       # 输出>>>['张三', '李四', '孙八', '赵六', '刘七', '王五']

# 判断变量值是否在列表中存在
namelist = ['张三', '李四', '孙八', '赵六', '刘七', '王五']
findname = '张三'
if findname in namelist:
    print('存在')
else:
    print('不存在')

# 查询元素在列表中指定范围的位置下表, 范围区间左闭右开[1, 3)
# 在指定范围内差找不到会报错
namelist = ['张三', '李四', '孙八', '赵六', '刘七', '王五']
print(namelist.index('赵六', 1, 4))       # 输出>>>3

# count 统计某个元素在列表中出现的次数
namelist = ['张三', '李四', '王五', '赵六', '刘七', '王五']
print(namelist.count('王五'))     # 输出>>>2

# 列表排序
a = [1, 4, 2, 3, 6, 5]
# reverse 将列表元素翻转排序
a.reverse()
print(a)        # 输出>>>[5, 6, 3, 2, 4, 1]

# sort 将列表元素升序排列
a.sort()
print(a)        # 输出>>>[1, 2, 3, 4, 5, 6]

sort(reverse=True) # 将列表元素降序排列
a.sort(reverse=True)
print(a)        # 输出>>>[6, 5, 4, 3, 2, 1]

二、元组 tuple

# 元组的定义
tup1 = (1, 2, 3)
print(type(tup1))       # 输出>>><class 'tuple'>

# 元组的基本访问
tup1 = ('aaa', 'bbb', 'ccc', 'ddd', 'eee', 2020)
print(tup1[0])      # 输出>>>aaa
print(tup1[-1])     # 输出>>>2020
print(tup1[1:5])    # 切片,左闭右开 输出>>>('bbb', 'ccc', 'ddd', 'eee')

# 元组的拼接
tup1 = (1, 2, 3)
tup2 = ('a', 'b')
tup = tup1 + tup2
print(tup)      # 输出>>>(1, 2, 3, 'a', 'b')

# 元组的删除
tup1 = (1, 2, 3)
del tup1        # 直接删除变量, 相当于PHP的unset
print(tup1)     # 输出>>>报错

三、字典

# 字典的定义
info = {'id':1, 'name':'张三', 'age':18}
# 字典的访问
print(info['name'])     # 输出>>>张三

# 访问不存在的键
print(info['sex'])      # 输出>>>报错
print(info.get('sex'))  # 使用get方法,默认输出>>>None
print(info.get('sex', '男'))     # 访问不存在的键可以设置默认值 输出>>>男
print(info.get('age', '20'))     # 访问存在的键, 设置默认值不生效, 依旧输出原值>>>18

# 字典 -> 增
info['id'] = 123456
print(info)     # 输出>>>{'name': '张三', 'age': 18, 'id': 123456}

# 字典 -> 删 del
print("删除前: %s"%info['name'])
del info['name']        # 删除了指定键值对后, 再次访问会报错
print('删除后: %s'%info['name'])

# clear 清空
print("清空前: %s"%info)       # 输出>>>清空前: {'name': '张三', 'age': 18}
info.clear()
print("清空后: %s"%info)       # 输出>>>清空后: {}

# 字典 -> 查
print(info.keys())      # 得到字典内所有键的列表 输出>>>dict_keys(['id', 'name', 'age'])
print(info.values())    # 得到字典内所有值的列表 输出>>>dict_values([1, '张三', 18])
print(info.items())     # 得到字典内所有键值对的元组 输出>>>dict_items([('id', 1), ('name', '张三'), ('age', 18)])

# 遍历字典
for key,value in info.items():
    print('key=%s,value=%s'%(key,value))
# 输出>>>key=id,value=1
#     >>>key=name,value=张三
#     >>>key=age,value=18

# 使用枚举函数 同时输出列表的键和值
mylist = ['a','c','d','e']
for i,x in enumerate(mylist):
    print(i,x)

# 集合 set()
# 集合中只存储键, 且键值是唯一的, 集合中不能有相同的元素
s = set([1,1,2,2,3,3,4,4])
print(s)    # 输出>>>{1, 2, 3, 4}
# 通常使用在去重操作中

四、函数

# 函数的定义
def add2Num(a, b):
    c = a + b
    return c

print(add2Num(25,98))   # 输出>>>123

# 多个返回值的函数
def divNum(a, b):
    shang = a//b
    yushu = a%b
    return shang, yushu

sh, yu = divNum(5, 2)
print('商: %d, 余数: %d'%(sh,yu))      # 输出>>>商: 2, 余数: 1



# 在函数中修改全局变量
a = 100
def test1():
    global a # 声明全局变量在函数中的标识符
    print('修改前: a=%d'%a)
    a = 200
    print('修改后: a=%d'%a)

test1()     # 输出>>>修改前: a=100
                # >>>修改后: a=200

五、文件操作

# 打开/关闭文件
f = open('test.txt', 'w')   # w为写模式, 不存在则创建
# 写入文件
f.write('hello, i am zhangsan!')
# 读取文件
f = open('test.txt', 'r')
a = f.read(5)   # read(字符数)
print(a)    # 输出>>>hello
b = f.read(5)   # 会接着上一次的read结束的位置继续读取
print(b)    # 输出>>>, i a

# 按行读取
a = f.readline()
按行读取所有行, 返回结果为列表
a = f.readlines()
print(a)
f.close()

六、异常捕获

# 异常捕获后不会显示报错
try:
    print('-------异常前-------')
    f = open('123.txt', 'r')  # 以只读的方式打开不存在的文件, 报错后下面代码不会执行
    print('-------异常后-------')
except IOError: # 文件没找到属于IO异常, 异常类型想要被捕获, 需要与报错信息中的类型一致
except (IOError, NameError): # 捕获多种错误可以用括号
except (IOError, NameError) as errMsg: # 捕获多种错误可以用括号
    print('文件不存在')
    print(errMsg)
    pass    # 捕获异常后,执行的代码

# 捕获所有异常
try:
    print(sss)
except Exception as errMsg: # Exception为所有异常的父类,可以捕获所有异常信息
    print(errMsg)

# 发生异常后也要执行
try:
    print(ass)
except Exception as errMsg:
    print(errMsg)
finally:
    print('运行完毕')

风影OvO

风影OvO, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA 4.0协议进行授权 | 转载请注明原文链接

留下你的评论

*评论支持代码高亮<pre class="prettyprint linenums">代码</pre>

相关推荐