一.开发环境搭建
参考菜鸟教程:https://www.runoob.com/python3/python3-install.html
二.变量和简单数据类型
-
变量
- 命名规范
a.变量名只能包含字母,数字和下划线.只能以字母或下划线打头 b.变量名不能包含空格,但能使用下划线来分割其中的单词 c.不要使用Python保留用于特殊用途的单词 e.尽量使用小写命名,大写字母在变量名中有特殊含义
-
字符串
- 使用""或者’'标识,当字符串中存在某种引号,则使用另外一种作为声明
- 常见API
#!/usr/bin/python3 # 变量定义使用 message = '哈哈' print(message) message = '嘻嘻' print(message) # 字符串常见API message = 'hello world' # 首字母大写 print(message.title()) # 全部大写 print(message.upper()) # 全部小写 print(message.lower()) # 格式化字符串 print(f'{message},冲啊') # 制表符 print("Haha\tXiXi\t") # 换行符 print("\nHaha\nXiXi") # 删除字符串开头空白 print(' 仔仔 '.rstrip()) # 删除字符串结尾空白 print(" 仔仔 ".lstrip()) # 删除字符串两边空白 print(" 仔仔 ".strip())
-
整数
-
浮点数
注意:
1.可以使用下划线来分割大数字,方便阅读,例如1_000 和 1000 是相同的.
2.多个变量同时赋值,如: x,y,z = 0,0,0 -
整数
使用全大写的方式来声明将变量视为常量
-
注释
使用#声明注释
三.列表简介
- 声明
一般使用[]进行声明,例如 a = [‘a’,‘b’,‘c’]
- 访问
使用下标进行访问,下标从0开始, print(a[0]) 就会输出值 a
直接用等号赋值即可,a[0] = ‘hah’
使用del(index)可以删除任意位置的值,
使用pop()删除列表末尾的值,
pop(index)也可以弹出任意位置的值,同时能够获取返回值.
使用remove(value)根据值删除元素
- 排序
sort()方法会对列表元素进行排序,使用sort(reverse=True)会逆序排序,sort()会改变集合原有顺序
sorted()临时排序,不会改变集合原有顺序
reverse()列表元素顺序反转
- 获取列表长度
len()会返回列表的长度
- 循环
使用for a in list: 需要注意循环体的缩进
- 生成数字列表
range(start,end,interval),包含起始点,不包含结尾点,interval间隔参数可省略.
- 数字列表计算
max(list) 求最大值
min(list) 求最小值
sum(list) 求和
将循环与生成列表合成一行的处理方式.
例如: listA = [value**2 for value in range(1,10)] 就是将1-10之间的数字平方后赋值给listA.
- 列表切片
是一种访问部分集合元素的方式.
list[start,end],会返回下标从satrt到end的集合,含头不含尾.
list[:end],若没有指定起始索引,会从列表头开始.
list[start:],若没有指定终止索引,会到列表尾为止.
使用负数表示从距离列表末尾相应距离的元素,例如list[-3:],返回最后三个元素.
切片可以有第三个参数,表明范围内的间隔.
四.元组简介
- 声明
使用()小括号进行声明,如 arr = (1,2,3)
五.if语句
if是常见的条件语句,后面通常会跟一个返回True或者False的条件.下面是三种结构
if
if else
if elif else
六.字典
使用{}声明,key-value键值对形式.如 dict = {‘name’:‘wangzai’,‘age’:‘18’}
- 访问
使用键访问值,如: dict[‘name’],使用键访问不存在key的value时,会报错
可以通过get(key,message),在key不存在时返回key信息.
使用del dict[key],就可以删除指定key的键值对.
- 遍历
使用 for key,value in dict 的方式,同时用key,value代表当前键值得内容.
使用dict.keys()获取所有的键.
使用dict.values()获取所有的值.
七.输入与循环
- input()输入
- while循环
使用while flag循环,flag是一个boolean类型,用于判断是否执行程序体.
在外部设置标志,通过修改标志值,来中断循环
使用break中断循环
使用continue跳过本次循环
八.函数
- 定义
# 声明
def test():
print('测试函数')
# 调用
test()
- 实参,形参.
一般是通过函数声明时定义的顺序来判断传入参数对应的位置的.
可以使用关键字实参调用方式,这种方式无需注意顺序.如下
可以在声明函数时,提供默认值
可以使用*param的方式,声明函数可接收任意数量的实参.
可以使用**param的方式,声明任意数量的关键字(键值对)实参
# 声明
def test(a,b='提供默认值'):
print(a)
print(b)
# 调用
test(a='1',b='2')
test(b='2',a='1')
# 声明接收任意数量实参的函数
#def test(*arr):
print(arr)
test('1','2','3','4')
# 声明接收任意关键字
#def test(first,last,**user_info):
# 调用
test('aaa','bbb',location='哈哈',field='嘻嘻')
- 返回值
- 模块
- import module_name 导入模块
- from module_name import function_name as newName 导入module_name模块中的特定函数function_name,并通过as取别名.
九.类的概念
- 定义
- 访问
- 继承
十.文件和异常
- 读取文件
//open用于打开文件,with表示不需要文件后将其关闭,read()用于读取文件内容.
with open(file) as name:
contents = name.read()
- 逐行读取
with open(file) as file_object:
for line in file_object:
print(line.rstrip())
- 写入文件
with open(file,'w') as file_object:
file_object.write("写入点什么呢")
- 附加文件
with open(file,'a') as file_object:
file_object.write("写入点什么呢")
- 捕获异常
使用try-except捕获异常,如下
try:
print(5/0)
except ZeroDivisionError:
print('异常被捕获到了')
else:
print('try正常执行了.就会执行我')
- 捕获并且不处理异常.
try:
print(5/0)
except ZeroDivisionError:
pass
else:
print('try正常执行了.就会执行我')
- 数据存储
numbers=[1,2,5,26,23]
filename = 'numbers.json'
with open(filename,'w') as f:
json.dump(numbers,f)
filename = 'numbers.json'
with open(filename) as f:
numbers = json.load(f)
print(numbers)