注:本次项目和讲解全程使用python3开发
1 安装python3环境
python2 和python3的区别不在赘述,大多用python3
Linux下安装点这里
window下安装点这里
#第一个 hello world
print("hello world")
:hello world
2 python中的注释
注释意味着不会被程序执行,按照字面意思理解即可,作为标注解释用;
当单行注释 一个 # 开头,代表对#所在行的后面的字符串注释掉
多行注释 """"""或 '''''',三对双引号或者单引号,注意是英文引号
# 这是一个单行注释
"""
这是一个
多行注释
"""
3 数据类型和变量
- 3.1 变量
变量用来存储值,如整数,小数,字符串;python的中变量并不需要声明变量类型
""" 变量名的命名规则
命名规则可以被视为一种 惯例,并无绝对与强制
目的是为了 增加代码的识别和可读性
在定义变量时,为了保证代码格式,= 的左右应该各保留一个空格
在Python中,如果 变量名 需要由 二个 或 多个单词 组成时,可以按照以下方式命名
每个单词都使用小写字母
单词与单词之间使用 _下划线 连接
例如:first_name、ast_name、qq_number、qq_password
当 变量名 是由二个或多个单词组成时,还可以利用驼峰命名法来命名
小驼峰式命名法
第一个单词以小写字母开始,后续单词的首字母大写。例如:firstName、lastName
大驼峰式命名法
每一个单词的首字母都采用大写字母。例如:FirstName、LastName、CamelCase
"""
# 变量可以是整数
test_var = 1
print(test_var)
# 输出结果为1
:1
# 变量可以是小数
test_var = 0.12
print(test_var)
# 输出结果是0.12
:0.12
# 变量可以是字符串
test_var = "abc"
print(test_var)
# 输出结果是abc
:abc
# 变量可以是任何python中的类型 列表(list) 字典(dict) 元组(tuple)
# 例如列表:
test_var = [1, 2 , "abc", "0.1", {"name": "laowang"}]
print(test_var)
# 输出结果是列表
:[1, 2 , "abc", "0.1", {"name": "laowang"}]
# 并且变量名不能是与python的关键字
# 例如在python中list代表列表
test_var = list()
print(test_var)
# 输出一个空列表
:[]
# 不能用关键字作为变量名,下列是错误例子
list = list()
list = 1
list = "a"
- 3.2 数据类型
整数,小数,字符串等都是为一种数据类型,不同的数据类型用处和特性不尽相同,python常见的数据类型有:
"""
整数
就如同我们想象那样,有正整数 1,100,345等,负整数 -1, -2, -100
"""
# 定义一个变量来存放整数,
test_num_1 = 1 # 当然这个变量也同样可以存放其他类型的值
test_num_2 = 10
print(test_num_1)
print(test_num_2)
:1
:10
"""
字符串
python中最常用的数据类型,创建一个字符串也很简单,只需要用双引号或者单引号创建即可,赋值给一个变量
"""
var_1 = "pythontest"
var_2 = '123'
print(var_1)
:pythontest
# 虽然var_2等于 '123',以为被引号包裹,所以是字符串并不是整数
print(var_2)
:123
# 字符串可以通过下标取值,Python中要从0开始数
print(var_1[0])
print(var_2[1])
:p
:y
# 字符串可以截取到指定长度范围的值,如果从0开始去0可以忽略不写
print(var_1[0:2])
:pyt
print(var_1[:2])
:pyt
print(var_1[2:5])
:thon
# 两个或者多个字符串可以相加拼接到一起
var1 = "python"
var2 = "use"
var3 = var2 + var1
print(var3)
:usepython
"""
list(列表)
非常常用的数据类型,可以存放多个不同类型元素,元素之间用英文逗号隔开, 创建列表只需要[]
"""
# 创建一个不是空的列表
test_list = [1, 2, 10, 'hahah', [3, 'a']]
print(test_list)
: [1, 2, 10, 'hahah', [3, 'a']]
# list是关键字,可以创建一个空列表,等同于[]
test_list = list()
test_list = []
# 添加一个元素
test_list.append(123)
print(test_list)
:[123]
var1 = 'testvar'
test_list.append(var1)
print(test_list)
:[123, 'testvar']
# 添加一个列表元素
test_list_2 = ["haha", 999]
test_list.append(test_list_2)
print(test_list)
:[123, 'testvar', ["haha", 999]]
#每次通过append添加元素,会自动追加到元素的最后一位,列表是有序的
# 通过下标取出元素
print(test_list[0])
:123
print(test_list[2])
:["haha", 999]
print(test_list[2][0])
:haha
# 列表通过下标删除指定元素
del test_list[0]
print(test_list)
:['testvar', ["haha", 999]]
# 通过元素值删除
test_list.remove("testvar")
print(test_list)
:[["haha", 999]]
"""
字典
字典是key-value类型的,无序的,且key是唯一,不能重复,用{}创建字典
"""
test_dict = {"name": "小明", "age": 18, "address": "中国"}
print(tets_dict)
:{"name": "小明", "age": 18, "address": "中国"}
# 通过key 取值
test_dict["name"]
:小明
test_dict["age"]
print(test_dict)
:18
# 增加一个元素
friends_list = ["小红", "小强", "小刚"]
test_dict["friends"] = friends_list
print(test_dict)
: {"name": "小明", "age": 18, "address": "中国", ["小红", "小强", "小刚"]}
# 修改一个元素
test_dict['age'] = 19
print(test_dict)
:19
# 删除一个元素
del test_dict['address']
print(test_dict)
:{"name": "小明", "age": 18, "address": "中国"}
"""
元组
有顺序的,但不能被改变里面的值,不能对元组进行添加和删除,定义一个元组是用小括号()
"""
test_tuple = ("a", 10, "b")
print(test_tuple[1])
:10
"""
集合
无顺序, 值是唯一的,不能重复, 花括号来定义,但是元素不同于字典是key-value形式的
"""
test_set = {1, 2, 3, 3, 2, 1, 4, 5}
print(test_set)
:{1, 2, 3, 4, 5}
# 对一个列表进行元素去重
test_list = [1, 2, 3, 4, 5, 3, 4]
print(test_list)
:[1, 2, 3, 4, 5, 3, 4]
# 思路:将列表转化为成集合,集合去重后,然后再转回来成列表
test_set = set(test_list)
print(test_set)
:[1, 2, 3, 4, 5]
test_list = list(test_set)
print(test_list)
:[1, 2, 3, 4, 5]
"""
布尔类型
为真的值有: True
为假的值有:False, 0, None, [], {}, (), ""
"""
(3) 逻辑运算和判断语句和循环语句
"""
判断语句
"""
test_bool = True
if test_bool:
print("this is true!")
else:
print("this is false")
:this is true
"""
逻辑运算
"""
# 判断是否相等 ==
a = 1
b = 3
if a == b:
print(" a = b")
else:
print(" a != b")
: a != b
if a != b:
print("this 1")
else:
print("this 2")
: this 1
"""
逻辑运算符
and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。
or x or y 布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。 (a or b) 返回 10。
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False
"""
"""
循环语句
for x in 可迭代对象:
print(x)
"""
test_list = [1, 2, 3, 4]
for test_num in test_list:
print(test_num)
:1
:2
:3
:4
# continue 跳出本次循环
test_list = [1, 2, 3, 4]
for test_num in test_list:
if test_num == 3:
continue
else:
print(test_num)
:1
:2
:4
# break 结束整个循环
test_list = [1, 2, 3, 4]
for test_num in test_list:
if test_num == 2:
break
else:
print(test_num)
:1
(4) 函数
"""
定义一个函数
def 函数名(参数):
这里是具体的逻辑
调用函数
函数名(参数)
"""
# 定义一个函数,对传进来的两个整数参数进行相加
def cal_num(num1, num2):
total = num1 + num2
print(total)
cal_num(1, 2)
:3
# 将计算结果返回,并用变量接收, 关键字:return
def cal_num(num1, num2):
total = num1 + num2
return total
total_num = cal_num(1, 2)
print(total_num)
:3
"""
题1:定义一个列表test_list=[1, 2, 567, 345, 56, 678], 定义一个函数名为cal_list的函数,将test_list作为参数传进去,并计算列表中所有元素相加之后的总和,输出计算结果,判断是否大于等于1450,如果大于则返回True,小于则返回False
"""
test_list=[1, 2, 567, 345, 56, 678]
def cal_list(test_list):
total_num = 0
for one_num in test_list:
total_num = total_num + one_num
print(total_num)
if total_num >= 1450:
return True
else:
return False