print输出
# 标识符和关键字
import keyword
print("关键字:",keyword.kwlist)
'''
%c 字符(char)
%s 通过str()字符串转换来格式化
%d 整数
'''
str = "演示占位符"
print("我是 %s 哈哈哈" %str)
print("我是 %s 哈哈哈 %d" %(str, a))
# sep以点连接、默认为空格 end末尾加
print("www","baidu","com", sep=".")
print("www","baidu","com")
print("Java", end="\t")
print("Python", end="\n")
print("Go")
print("Php")
input输入
password = input("请输入密码:")
print(password)
print(type(password))
'''
if else
大于0或True 为真
'''
if 0:
print("true")
print("true同级")
else:
print("false")
score = 88
if score >= 90 and score <= 100:
print("等级为A")
elif score >= 80 and score <= 90:
print("等级为B")
else:
print("等级为E")
import random #引入随机数
x = random.randint(0,2) # 随机生成0,1,2
print(x)
for where 循环
# for i in range(5)
# rang(5) 循环依次打印
# rang(0,10,3) 从0开始 小于10, 每次加3
for i in range(5):
print(i)
print("------------------")
for x in range(0,10,2):
print(x)
print("------------------")
for x in range(-10, -100, -30):
print(x)
print("------------------")
name = "banxian"
for x in name:
print(x, end=" ")
print("------------------")
a = ["aa", "bb", "cc", "dd"]
# for x in range(len(a)):
# print(x, a[x])
for x in a:
print(x)
print("------------------")
# while
i = 0
while i <= 10:
print(i)
i += 1
else:
# 不满足while就执行
print("i大于10")
print("------------------")
i = 0
while i < 10:
i += 1
print("-"*30)
if(i == 5):
# break 结束循环、continue 结束后面的,继续下一次
# break
continue
print(i)
print("------------------")
for i in range(1, 10, 1):
for y in range(1, 10):
if i >= y:
print("%d * %d = %d" % (i, y, (i * y)), end="\t")
print()
print("------------------")
i = 0
while i < 9 :
i += 1
for y in range(1, 10):
if i >= y:
print("%d * %d = %d" % (i, y, (i * y)), end="\t")
print()
print("------------------")
for i in range(9, 0, -1):
for y in range(9, 0, -1):
if(y >= i):
print("%d * %d = %d" % (i, y, (i * y)), end="\t")
print()
字符串 、列表、元组、字典
字符串
# 字符串
word = "字符串"
sentence = "这是一个句子"
paragraph = """
这是一个段落
可以由多行组成
"""
print(word)
print(sentence)
print(paragraph)
# 区别 可以用\转义
#my_str = "I'm a student"
my_str = 'I\'m a student'
print(my_str)
my_str = "看看 \"王半仙\""
print(my_str)
# 截取 类似substring()
str = "banxian"
print(str)
print(str[0])
print(str[0:2])
print(str[0:len(str):3]) # for 语法类似 [起始位置:结束位置:步进值]
print(str[:3])
print(str[3:])
# r会使转义字符失效
print(r"hello \nword")
列表
# 列表 可以存储不同的数据类型
arr = ["半仙","123",720, 50.2]
print(arr)
for a in arr:
print(a,type(a))
len = len(arr)
i = 0
while i < len:
print(arr[i],type(arr[i]))
i +=1
print("---------------------------")
# 增 append extend insert
print("增加前-----------------")
for a in arr:
print(a)
arr.append("网吧") # 在末尾追加
a = [1,2,3]
arr.append(a) # 将列表作为一个元素追加
arr.extend(a) # 将列表a中的每个元素,逐一追加到arr列表中
arr.insert(2,456) #第一个变量表示下标,第二个表示元素
print("增加后-----------------")
for a in arr:
print(a)
# 删 del pop remove
list = ['121','111','1212','111','222']
print("删除前-----------------")
for a in list:
print(a)
del list[0] #指定位置删除元素
list.pop() #弹出末尾最后一个元素
list.remove("111") #删除指定内容的元素 有重复的会删除第一个
print("删除后-----------------")
for a in list:
print(a)
# 改
print("修改前-----------------")
for a in list:
print(a)
list[1] = 123 # 修改指定下标的元素内容
print("修改后-----------------")
for a in list:
print(a)
# 查 in 、 not in
name = input("请输入要查找的内容:")
print(arr, sep="\t")
if name in arr:
print("找到的了,", name)
else:
print("没有找到,", name)
a = [1,2,3,4,5,6,7]
print(a.index(3, 1, 4)) # 在某个范围内查找 param1: 查找的内容, param2: 起始位置, param3:结束位置
print(arr.count(2)) # 统计某个元素出现几次
print(a)
a.reverse() # 列表翻转
a.sort() # 排序升
a.sort(reverse=True) #降序
print(a)
# 二维数组
arrss = [['大仙',"上仙"],['大罗','道祖'],["大乘"]]
print(arrss[0][1])
import random
# 三个空房间
offices = [[],[],[]]
names = ["A","B","C","D","E","F","G","H","I","J","K"]
for name in names:
index = random.randint(0,2) # 随机 0,1,2
offices[index].append(name)
b = 1
for off in offices:
print("-" * 20)
print("办公室 %d 的人数为:%s" %(b, off))
b += 1
for name in off:
print(name, end="\t")
print("\n")
元组
# 元组(不能修改)、 字典
# 增
tup2 = ("a","B","c")
tup3 = (1,2,3)
temptup = tup2 + tup3 #连接
print(temptup)
# 删
tup4 = (1,2,3)
print(tup4)
del tup4 # 删除了整个元组变量
# 改 不能修改
# tup = (12,34,56)
# tup[0] = 100 # 报错,不允许修改
# 查
tup1 = ("abc","def", 122,2020)
print(tup1)
print(type(tup1))
print(tup1[0])
print(tup1[-1]) # 访问最后一个元素
print(tup1[1:5]) # 切片
字典
# 字典 key value
info = {"name":"半仙","age": 18}
print(info["name"])
print(info["age"])
#访问不存在的key
#print(info["id"]) #直接访问会报错
#使用get访问,没有找到对应的key,默认返回None,
print(info.get("id",1)) #没有找到可以设置默认值
#增
info["id"] = 12
print(info.get("id",1)) #没有找到可以设置默认值
#删 del clear
print("删除前:%s" %info["name"])
#del info["name"] #删除键
#print("删除后:%s" %info["name"]) #删除了指定的键 ,再次访问会报错
#del info #删除整个字典 name 'info' is not defined
#info.clear() #清空字典 {}
# print(info)
#改
info["age"] = 20
print(info)
#查
print(info.keys())
print(info.values())
print(info.items()) # 键值对是一个个元组 [('name', '半仙'), ('age', 20), ('id', 12)]
#遍历键值
for key in info.keys():
print(key)
for value in info.values():
print(value)
#遍历所有键值
for key, value in info.items():
print("key = %s, value = %s" %(key, value))
# 枚举函数 遍历列表 下标 和值
a = ["a", "b", "c", "d"]
for i, v in enumerate(a):
print(i, v, sep="\t")
集合
# 集合 set 不重复
s = set([1,2,1,3,3])
print(s)
函数
# 函数
def printinfo():
print("-"*20)
print(" 人生苦短,我用python")
print("-"*20)
# 函数调用
printinfo()
# 带参数 待返回
def add2Num(a, b):
c = a + b
print(c)
return c
add2Num(12,44)
result = add2Num(1, 3)
print(result)
# 返回多个值的函数
def divid(a, b):
x = a // b
y = a % b
return x, y
x, y = divid(5,2)
print("商:%d, 余数:%d" %(x,y))
def sum3Num(a,b,c):
return a + b + c
def avg3Num(a,b,c):
sum = sum3Num(a,b,c)
avg = sum / 3.0 #小数
return avg
result1 = avg3Num(1,2,3)
print("平均值为:%d"%result1)
# 全局变量与局部变量名字相同
a = 100
def test1():
global a # 声明使用全局变量
a = 200 #局部变量优先使用
print("test1--->修改前:a = ",a)
a = 500
print("test1--->修改后:a = ",a)
def test2():
print("test2---> a = ",a) # 没有局部变量,默认使用全局变量a
test1()
test2()
文件
# 文件
# r 读 、w 读写, rb 读取二进制 wb 读写二进制
'''
f = open("test.txt","w")
f.write("王半仙\n")
f.write("半神半圣亦半仙")
f.close()
'''
# 读
'''
f = open("test.txt")
#context = f.read(7) # 读取字符数
#context = f.readline() #读取一行
context = f.readlines() #读取所有 返回列表
#print(context)
i = 1
for temp in context:
print("%d %s" %(i, temp), end="")
i += 1
f.close()
'''
# os操作
import os
#创建文件
open("tt.txt","w")
# 重命名
#os.rename("tt.txt", "tt2.txt")
#删除文件
os.remove("tt.txt")
#创建文件夹
os.mkdir("path")
#获取当前目录
print(os.getcwd())
#获取目录列表
print(os.listdir())
#删除文件夹
os.rmdir("path")
异常捕获
# -*-coding:utf8 -*-
# 异常捕获
'''
try:
print("start ")
f = open("123.txt")
try:
f.readline()
print("end ")
finally:
f.close()
print("关闭了")
print(num)
# except (IOError, NameError) as e: # 需要捕获对应的异常 这里是文件IO异常,也可以使用Exception 基类异常,捕获所有
except Exception as e: # 使用Exception 基类异常,捕获所有
pass # 不处理
print(e)
'''
# 作业
def write_gushi(file,content):
try:
f = open(file, "w")
try:
f.writelines(content)
finally:
f.close()
except Exception as e:
print("error: ", e)
def read_gushi(file):
try:
f = open(file, "r")
try:
result = f.readlines()
return result
finally:
f.close()
except Exception as e:
print("error: ", e)
def del_gushi(filedir):
import os
for root, dirs, files in os.walk(filedir):
#print(root)
#print(files)
for file in files:
#print(file)
os.remove(root+ "/" +file)
os.rmdir(root)
import os
filedir = "gushi"
del_gushi(filedir)
os.mkdir(filedir)
file = filedir+"/gushi.txt"
content = ['王半仙\n', '半神半圣亦半仙']
write_gushi(file,content)
lines = read_gushi(file)
print(lines)
# 复制文件
file_copy = filedir+"/copy.txt"
write_gushi(file_copy,lines)
print("复制完毕")