学习分享
- 一、基本语法
- 1、输出print语句
- 2、常量的写法
- 3、运算符 (/) 与(//)
- 4、字符串
- 5、列表
- 5.1、列表查询元素是否存在
- 5.2、列表查询元素是否存在
- 5.3、身份运算符
- 5.4、列表的增删改查
- 6、元组
- 6.1、tuple()
- 7、字典
- 8、函数
- 8.1、值传递
- 8.2、引用传递
- 8.3、函数的传参
- 二、文件的操作
- 2.1、打开文件
- 2.2、文件的打开、读取、关闭
- 2.3、文件的打开、写入、关闭
- 2.4、文件的打开、追加、关闭
一、基本语法
1、输出print语句
print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)
将 “objects” 打印输出至 “file参数” 指定的文本流,以 "sep 参数"分隔开并在末尾加上 “end参数”。 “sep” 、 "end “、 “file” 和"flush” 必须以关键字参数的形式给出。 flush 关键字参数是在 phthon3.3 版后增加的。
所有非关键字参数都会被转换为字符串,就像是执行了 str() 一样,并会被写入到流,以 “sep参数“ 且在末尾加上 “end参数“。 “sep参数“ 和 “end参数“都必须为字符串;它们也可以为 “None“,这意味着使用默认值。 如果没有给出 “objects参数“,则 print() 将只写入 “end参数“。
"file 参数"必须是一个具有 write(string) 方法的对象;如果参数不存在或为 None,则将使用 sys.stdout。 由于要打印的参数会被转换为文本字符串,因此 print() 不能用于二进制模式的文件对象。 对于这些对象,应改用 file.write(…)。输出是否缓存通常取决于 file,但如果 flush 关键字参数为 True,输出流会被强制刷新。
print("ghm")
name = 'lily'
print("my name is %s" % name)
age = 20
print("print a var :{}".format(age))
2、常量的写法
# 全大写就是常量
CLASSNAME = '2401'
print("classnaem", CLASSNAME)
3、运算符 (/) 与(//)
在整数除法中,除法(/)计算出的结果为浮点数,即使是两个整数,结果也是浮点数,如果只想得到整数的结果,抛弃可能得小数部分,可以使用地板除(//),整数的地板除(//)永远是整数。
print(10/3) #3.333333333333333.5
#地板除 //
print(10//3) #3
#向下整除
print(math.floor(10/3)) #3
#向上整除
print(math.ceil(10/3)) #4
4、字符串
# 字符串拼接
str1 = "hello" + "world"
#
print("111" * 5)
# 字符串切片
# 格式: [start:end:step] start:开始下标:默认0 结尾下标(不能获取):默认字符串长度 step步幅:默认1
str2 = str1[0:5]
print(str2)
str3 = str1[5:]
print(str3, len(str1), end='\t', sep=";")
# 相隔步幅打印
print(str1[::2])
# 从右向左 -表示方向
img_path = "img/xxx.png"
print(img_path[-3:])
5、列表
5.1、列表查询元素是否存在
name_list =['张三','李四','王五']
print(name_list[0])
count = 0
name = input("请输入你想查询的姓名:")
for i in range (0,len(name_list)):
print(i,name_list[i])
if name == name_list[i]
print("找到了")
break
count +=1
if count == len(name_list):
print(" 不存在")
5.2、列表查询元素是否存在
name = input ("请输入你想要查询的姓名:")
for i in range(0,len(name_list)):
print(i,name_list[i])
if name ==name_list[i]
print("找到了")
break
else : #当循环自热结束时,会执行else中的语句
print("不存在")
# 元素迭代法
for item in name_list:
print(item)
# 成员运算符
# print (item)
# True 存在 False 不存在
print(name in name_list)
5.3、身份运算符
copy_list = name_list #浅拷贝
print(copy_list is name_list)
copy_list[0] = '张三'
print(name_list)
# 列表复制
copy_list2 = name_list[:] #深拷贝
copy_list2[0] = '李四'
print(copy_list2)
5.4、列表的增删改查
name_list.append('王五')
print(name_list)
name_list.remove('张三')
print(name_list)
# 从列表中移除并返回第一个元素
name_list.pop(0)
print(name_list)
# 查找元素'李四'的索引位置
print(name_list.index('李四'))
6、元组
元组同列表一样,都是可以封装多个,不同类型的元素在内。但是最大的不同点在于:元组一旦定义完成,就不可修改
- 元组的定义:定义元组使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型
6.1、tuple()
# 定义元组
t1 = (1,"hello",True)
t2 = ()
t3 = tuple()
print(f"t1的类型是:{type(t1)},内容是:{t1}")
print(f"t2的类型是:{type(t2)},内容是:{t2}")
print(f"t3的类型是:{type(t3)},内容是:{t3}")
# 定义单个元素的元素
t4 = ("hello",)
print(f"t4的类型是:{type(t4)},内容是:{t4}")
# 元组的嵌套
t5 =((1,2),(3,4),(5,6))
print(f"t5的类型是:{type(t5)},内容是:{t5}")
# 下标索引去取出内容
num = t5[1][1]
print(f"从嵌套元组中取出的数据是:{num}")
7、字典
字典的定义,同样使用{}|,不过存储的元素是一个个的:键值对。
stu = {
'name' : '张三',
'age' : '20',
'address' : '福州'
}
print(stu['name'])
for index,item in enumerate(stu):
print(index,item)
#k-v键值对
for k,v in stu.items():
print(k,v)
# k
for k in stu.keys():
print(k)
# v
for v in stu.values():
print(v)
8、函数
8.1、值传递
def myassign(num):
num+=10
print(num)
num =100
myssign(num)
print("函数外: num = ",num)
8.2、引用传递
def mydemo1(slist):
slist[0] = 100
print(slist)
my_list = [2,4,6,8,10]
mydemo1(my_list)
print("函数外:",my_list)
8.3、函数的传参
# *的含义:不定长参数
def add_stu(name,tel,address, *Award,**edu):
print("name",name)
print("tel",tel)
print("address",address)
print(Award)
print(edu)
add_stu("张三","123456","福州大学",
'一等奖','二等奖','三等奖','特等奖',
primary='福州小学',middle='福州中学',high='福州中学',university='福州大学')
二、文件的操作
2.1、打开文件
2.2、文件的打开、读取、关闭
# 打开文件
f = open ("D:/xxx.txt","r",encoding="UTF-8")
print(type(f))
# 读取文件 -fead()
print(f"读取10个字节的结果:{f.read(10)}")
print(f"read方法读取全部内容的结果是:{f.read()}")
# 读取文件 -readLines()
Lines = f.readLines() # 读取文件的全部行,封装到列表中
print(f"lines对象的类型是:{type(lines)}")
print(f"lines对象的内容是:{Lines}")
# 读取文件 -readline() # 读取一行数据
line1 = f.readline()
line2 = f.readline()
line3 = f.readline()
print(f"第一行数据为:{line1}")
print(f"第二行数据为:{line2}")
print(f"第三行数据为:{line3}")
# for循环读取文件行
for line in f:
print(f"每一行数据是:{line}")
# 文件的关闭
f.close()
2.3、文件的打开、写入、关闭
f = open("D:/test.txt", "w",encoding="UTF-8")
# write写入
f.write("Hello WorLd!!!")
#内容写入到内存中
# flush刷新
f.flush()
#将内存中积攒的内容,写入到硬盘的文件中
# close关闭
f.close() #close方法,内置了flush的功能
2.4、文件的打开、追加、关闭
f = open("D:/test.txt", "a",encoding="UTF-8")
# write写入
f.write("Hello WorLd!!!")
#内容写入到内存中
# flush刷新
f.flush()
#将内存中积攒的内容,写入到硬盘的文件中
# close关闭
f.close() #close方法,内置了flush的功能