最近学习爬虫,重新复习一下python基础语法
base1
'''
1.输入:input,输出类型:print(type(a))
2.强制转换类型 a = int(123)
3.判断if if/elif/else xxx :
4.随机数 random.randint(0,2) 注意:int,0-2
5.石头剪刀布游戏
'''
password = input("请输入密码:")
print(password) #123
#输出类型 用print(type(a))
a = 10
print(type(a)) #<class 'int'>
b = "abc"
print(type(b)) #<class 'str'>
c = int("123")
print(type(c)) #<class 'int'>
if True:
print("True")
else:
print("False")
score = 77
if score >= 90 and score <= 100:
print("A")
elif score >= 60:
if score <=80:
print("B-")
else:
print("B+")
else:
print("c") #B-
import random
x = random.randint(0,2) #0-2之间的随机数
print(x)
############小游戏
"""
石头剪刀布游戏
要求:显示下面信息:
请输入:石头(0),剪刀(1),布(2):_
你的输入为:剪刀(0)
随机生成数字为:1
you lose
"""
import random
y = random.randint(0,2)#0,1,2
x = input("请输入:石头(0),剪刀(1),布(2):_")
print(x,y)
if y == x:
print("平局!")
else:
if x == 0 and y == 1:
print("you win!")
elif x == 0 and y == 2:
print("you lose!")
elif x == 1 and y == 2:
print("you win!")
elif x == 1 and y == 0:
print("you lose!")
elif x == 2 and y == 0:
print("you win!")
elif x == 2 and y == 1:
print("you lose!")
print("your input is:", x)
print("the random is :", y)
base2
'''
1.1 for i in range(5):
print(i)
1.2 for i in range(0,10,3):
print(i) #步长为3
1.3 name = "jiangsu"
for x in name:
print(x,end="\t") #每次打印后面加了一个空格。
2.1 while i < 5:
print(i)
i += 1
2.2 while i < 5:
print(i)
i += 1
else:
print("end") #类似if,但是还有while功能
3 break,continue,pass
break:跳出for 和 while 的循环体
continue: 跳出当前循环,进入下一次循环
pass :空语句,值班用做占位语句,不做任何事情
'''
a = ["aa", "bb", "cc", "dd"]
for i in range(len(a)): #len 数组长度
print(i, a[i])
i = 0
while i < 6:
print("第%d次执行循环"%(i+1))
print("i = %d"%i)
i += 1
###求和:0-100
i = 1
sum = 0
while i <= 100:
sum += i
i += 1
print(sum)
base3
'''
1.1 字符串 a = "abc"
b = "啊啊啊"
c = 三个双引号
字符段1
字符段2
三个双引号
1.2 str = "abcdefg"
print(str)
print(str[0])
print(str[0:3]) #[起始位置:结束位置]
print(str[1:]) #从第二个开始,一直到最后
print(str[:5]) #第一个到第五个
print(str[1:5:2]) #[起始位置:结束位置: 步进值]
1.3 字符串连接:
str = "abc"
print(str + "hello")
print(str * 3) #连续打印3次
1.4 注意一些常用的函数,库
2.1 列表 (可以混着加,既有int也有str)
list = ["abc","123","啊啊啊","0.251"]
list2 = [123,'abd']
print(list + list2)
2.2 list 可以用负数下标,从后往前
2.3 列表的切片: list[2:5:2] [开头:结尾:步进]
2.4 增删改查:
新增加到列表尾部: nametemp = input("请输入增加的名字") list.append(nametemp)
列表的追加,扩展: list2 = ["def","zx12"] list.extend(list2)
列表的插入: 1表示坐标,3表示插入的元素 list.insert(1,3)
元素的删除: 删除list的第三个元素 del list[2]
or 弹出末尾 list.pop()
or 弹出指定的元素 list.pop(2)
or 删除指定元素 list.remove("具体内容")
列表的更改,替换: 指定下标进行修改 list[1] = "cfd"
列表从查询: 查找下标1-6内有没有”a“ ,打印出下标来 print(list.index("a", 1 , 4)) 找不到会报错!
统计"a"出现了几次: print(list.count("a"))
将列表的所有元素反转: list.reverse() 是个功能函数,不是变量哦
排序 升序 list.sort()
倒序 list.sort(reverse = True)
2.5 list的嵌套 list4=[["123","234"],["abc","sdf"],["2.2","abc"]]
print(list4[0][0]) #123
3.1 元组 Tuple 不能修改的!!
tuple = ("abc",12,10.5,"runb")
Tuple 元素不可变,但是可以包含可变的对象,如list
只有一个元素时,要加逗号: tuple = (1,)
可以用负数做下标: tuple[-1] :最后一个元素
Tuple做切片:
tuple[1:5] 左闭右开
tuple[1:]
...
3.2 元组的增删改查:
增加:只能时 tup3 = tup1 + tup2 (连接上)
删除:del tup1 整个删除了。
4.1 字典
dict
d = {'abc':95,'efg':85,'hjs':62}
print(d['abc']) #95
4.2 要是字典里没有存’ggg‘:
print(d['ggg']) 会报错,应该用:
print(d.get('ggg'))
4.3 增删改查:
增加:
newScore = input("请输入新的分数")
d['ggg'] = newScore
删除:
del d['ggg']
del d 整个都删掉了
d.clear()
clear与del的区别时:没有删掉指针,而是把数据删掉了,字典还在
修改:
d['ggg'] = 20
查询:
key查询: d.keys() 列表形式
values查询: d.values() list形式
项查询: d.items() 元组形式
5.1集合 set 只看元素,没有顺序。
s = set([1,2,3])
print(s) #{1,2,3}
s2 = set([1,1,2,2,3,3])
print(s2) #{1,2,3}
b
'''
print("helloab")
print("hello\nab")
print(r"hello\nab") #加个r.后面内容全部显示出来,没有\n转义的功能了
list = ["abc","123","啊啊啊","0.251"]
list2 = [123,'abd']
print(list + list2)
for index in list:
print(index) #会自动转换
list.pop()
print(list)
list.append("又加上一个")
print(list)
list.pop(2)
print(list)
print(list.count("abc"))
list3 = [1, 2, 3, 4]
list3.reverse()
print(list3)
list3.sort()
print(list3)
list3.sort(reverse=True)
print(list3)
list4=[["123","234"],["abc","sdf"],["2.2","abc"]]
print(list4[0][0])
'''
8个人,随机分配到3个办公室
'''
import random
office = [[],[],[]]
names = ["A","B","C","D","E","F","G","H"]
print(office)
for i in names: #注意:此处的i不是c或者Java的i,而是表示成一个元素,所以一般用name: for name in names:...
index = random.randint(0,2)
office[index].append(i)
print(office)
#dict
d = {'abc':95,'efg':85,'hjs':62}
print(d['abc']) #95
#print(d['ggg']) #error
print(d.get('ggg')) #none
newScore = input("请输入新的分数")
d['ggg'] = newScore
print(d['ggg'])
del d['ggg']
print(d.get('ggg')) #none
print(d.keys())
print(d.values())
print(d.items())
d.clear()
print(d) #{} 没有删掉指针,而是把数据删掉了,字典还在
'''
1.0 函数
def 函数名():
...
1.1 带参数的
def 函数名(a,b):
...
return c
1.2 返回多个参数的: 和其他编程语言不同的是,可以返回多个值
def 函数名(a,b):
...
return c, d
g,f = 函数名(a,b) #一定要有多个值来接受返回内容
2.0 文件操作
2.1 打开文件 (默认是在当前文件的路径下)
f = open("文件名字", "w") #要是不存在,就新建一个,因为是'w'
f.write("abc")
f.close() #关闭文件
f = open("test.txt", "r")
content = f.read(5) #读取五个字符
content = f,readlines() #读所有行,读完所有文档 全部作为列表
f.close()
2.2 访问模式:
r 只读,指针放在开头,默认方式.文件不存在则报错
w 只写,若没有,就新建一个,若存在,就将其覆盖
a 打开一个文件并追加,放在结尾,若没有就新建。
rb 只读,用二进制读
wb 同上,用二进制写入
2.3 重命名文件名:
import os
os.rename("old name","new name")
2.4 删除文件:
import os
os.remove("name")
'''
import os
f = open("test.txt", "w")
f.write("hello!word")
f.close()
f = open("test.txt", "r")
content = f.read(5) #读取五个字符
print(content) #hello
content = f.read(5) #再读五个 指针在o
print(content) #!word
f.close()
os.remove("test.txta")