基础-循环、模块、文件读写

1、循环(loop)

1.1for循环:语法“for[变量名] in [可迭代对象名]:[指令]"

name="xiaojiayu"
for char in name:
    char=char.upper()
    print(char)
name=["xiao","jia","yu"]
i=0
for char in name:
    new=name[i].upper()
    name[i]=new
    i+=1
print(name)
me=["xiao","jia","yu"]
for i,char in enumerate(name):   #enumerate函数会返回一个对应当前元素索引的值,可存在变量i中
    new=name[i].upper()
    name[i]=new
print(name)

#输出结果:['XIAO', 'JIA', 'YU']

1.2 range函数:创建一个整数序列,接受2个参数,序列起始数字和结束数字;返回第一个参数到第二个参数之间(不含第二个参数)的所有整数。

for i in range(0,10):
    print(i)
    
'''
================ RESTART: E:/Program Files/python3.8/study/t1.py ===============
0
1
2
3
4
5
6
7
8
9
>>> '''

1.3、while循环:语法”while[表达式]:[执行代码]"

num=10
while num>0:
    print(num)
    num-=1
print("Happy New Year!")
'''
10
9
8
7
6
5
4
3
2
1
Happy New Year!'''

1.4  break,continue:break终止循环,从循环跳出;continue跳出本次循环,执行下次循环;

2、模块

2.1导入内置模块:

>>> import math
>>> math.pow (2,3)
8.0

2.2、导入其他模块:

导入模块时,其中的代码都会被执行。创建一个名为module1的模块代码如下:

#module1中的代码

print("hello")

module2中代码:

import t1

print("hello")

执行module2时,结果如下:

hello
hello
这个行为有时会导致不便。比如你的模块中可能有测试代码,不希望在测试时执行。那么把模块中所有的代码放置在if __name__ == "__main__”语句中,即可解决这个问题。如上例中modlue1代码改为:

if __name__ == "__main__”:

  print("hello")

再执行module2,结果只打印1个hello。

3、文件

3.1 写文件操作

处理文件的第一步是使用内置函数open打开文件。open函数有2个参数:参数1,文件路径字符串;参数2,打开文件的模式;

文件路径:斜杠分隔的一串字符;为了避免程序在不同操作系统中运行出错,应使用内置函数os模块来创建路径。模块中的path函数接收文件路径中的文件名作为参数,并自动构建完整的文件路径。

>>> import os
>>> os.path.join("user","ook","1.txt")
#输出结果:'user\\ook\\1.txt'

打开方式:”r“:只读;”w“:只写;”w+“可读可写

f1=open("t1.txt","w")
f1.write("hello python!")
f1.close()

3.2 自动关闭文件:使用with语句打开文件的语法”with open([文件路径],[打开方式]) as [变量名]:[执行代码]"

3.3 读文件

>>> with open("t1.txt","r")as f2:
print(f2.read())

在没有关闭又打开文件的情况下,你只能调用文件对象的read方法1次。因此如后续程序需要,应将文件内容保存到1个变量或容器内;

3.4 csv文件

也可以使用with语句打开csv文件,但在语句中需要使用csv模块将文件对象转换为csv对象;csv模块有一个writer的方法,可接受一个文件对象和一个分隔符;writer方法返回一个带writerow方法的csv对象。writerow方法可以接受一个列表作为参数,writerow方法每次只能创建1行数据

import csv
list1=[["topgun","risky business","minorty report"],["titanic","the revenant","inceptin"],["training day","man on fire","flight"]]
with open("test1.csv","w") as f:
    w=csv.writer(f,delimiter=",")
    for i in range(0,3):
        w.writerow(list1[i])
                 

reader方法用法与writer类似;

import csv
with open("test1.csv","r") as f:
    r=csv.reader(f,delimiter=",")
    for row in r:
        print(",".join(row))

  

posted @ 2022-11-26 07:29  【小桥流水人家】  阅读(41)  评论(0编辑  收藏  举报