Python 基础笔记
跟教程用了 Pycharm 做 IDE,默认的语法要求就很严格,一些缩进都会报错。。
格式化输出
可以指定打印结尾字符。
a = 10
print('a ->', a)
age = 18
print('年龄:%d 岁' % age)
print('年龄:%d 岁,国籍:%s,以上' % (age, '中国'))
print('www', 'baidu', 'com', sep='.')
print('hello', end='')
print('world', end='\t')
print('python', end='\n')
print('end')
基本输入输出
password = input('请输入密码:')
print('密码:', password)
判断数据类型
a = 10
print(type(a))
——所有输入都按字符串处理。
a = int('123')
a = int(input('请输入密码:'))
——强制类型转换
运算符
基本和 c 一样。。
条件判断
非0非空为 True,0 或 none 为 False。。 (大小写敏感,只有大写会被判断为布尔类型)
if True:
print('true')
else:
print('false')
缩进要统一。。
for
for 的循环简化很多,可以有数字的范围和步长,也可以遍历列表。
# 1
for i in range(5):
print(i)
# 5
a = ['aa', 'bb', 'cc', 'dd']
for i in range(len(a)):
print(i, a[i])
while
python 的 while 可以加 else,不满足条件执行。
# 8
count = 0
while count < 5:
print(count, '小于5')
count += 1
else:
print(count, '大于等于5')
break
实际上是 break、continue、pass,跳出循环、跳至下次循环、什么也不干。。
字符串
str = "chengdu"
print(str)
print(str[0:6])
print(str[1:7:2])
print(str[:5])
print(str[5:])
print(str + ", hello")
print(r"hello\nchengdu")
列表
list 的概念类似于数组,但 list 可以储存混合的类型,然后是基础的增删改查。
a.append(b)
a.extend(b)
——增,可以追加为元素,或者扩展数组。
del movie_list[1]
movie_list.pop()
movie_list.remove("like")
——删,可以删除指定位置、末尾,或者移除指定元素。 然后列表可以出现重复数据,但 remove() 只移除找到的第一个目标。
movie_list[0] = "like2"
——改,直接指定就好了
if find_name in movie_list:
print(a.index("a", 0, 4))
print(a.count("a"))
——查,有 in 和 not in,另外 index 可以查找下标范围内的内容,有的话返回下标,没有就报错,有多个值时只返回找到的第一个下标,然后 count() 计数。
a.reverse()
a.sort()
a.sort(reverse=True)
——排序,正序、逆序。。
元组、字典
元组可以看做不可修改的列表,但可以进行简单的运算:
print(tup1 + tup2) # 连接起来
del tup1 # 直接把tup1删掉
字典就是键值对了:
info = {"name": "x", "age": 18}
print(info["name"]) # 直接打印对应的值
print(info.get("gender")) # 如果访问可能不存在的键,要用get,不然可能会报错
print(info.get("gender", "m")) # 设定默认值
增删改:
info = {"name": "x", "age": 18}
new_id = input("新学号:")
info["id"] = new_id
print(info["id"])
del info["name"]
print(info.get("name")) # 删除删的是整个键值对
info.clear()
print(info) # 清空是清空内容
查:
for key in info.keys():
print(key)
for key, value in info.items():
print("key=%s, value=%s" % (key, value))
mylist = ["a", "b", "c"]
for i, x in enumerate(mylist):
print(i, x)
终于说枚举了,不要太方便。。 然后 set 就是只有键的 dict,可以做快速去重,不过基本略过了,不是那么重要。
函数
直接 def xxx(),可以返回多个值,实际上是以元组的形式。
def divid(a, b):
shang = a // b
yushu = a % b
return shang, yushu
文件操作
可以直接指定读取类型,并进行操作,记得关闭连接:
f = open("text.txt", "w")
f.write("hello")
f.close
每次读取是自动接续的,类似于 rpg 的换页:
content = f.read(5)
print(content)
可以整行读取,或者已行为元素读取为列表:
content = f.readline()
content = f.readlines()
异常处理
异常可以被 try、except 捕获,finally 最后都会执行。
try:
print("test1")
f = open("123.txt", "r")
print("test2")
except Exception as result:
print("有错误")
print(result)
finally:
print("end")