# python提供了一个命令给我们去下载安装工具包的 pip install
# 由于我们语言是外国人开发的,很多工具包都是在国外的网站上,所以下载起来很慢
# 这时候就需要我们去修改一下下载源
[global]
index-url=http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
基本语法:
# 定义一个变量
shot_id = 1
print(shot_id)
# 修改变量的值
shot_id = 2
print(shot_id)
# Python对变量名的大小写非常敏感,以下表示两个不同的变量
aaa = 12
AAA = 23
# import keyword (导包)
# 查看python中的关键字
print(keyword.kwlist)
shot_id = 10
print(shot_id)
# 使用python内置的type方法查看变量的类型
print(type(shot_id))
# 同一变量可以反复赋值,而且可以是不同类型的变量
shot_id = "你好"
print(shot_id)
# 使用python内置的type方法查看变量的类型
print(type(shot_id))
# 定义一个常量 常量表示“不能变”的变量
# 如果变量的由大写字母组成,我们约定俗成认为他是一个常量,但是依旧可以进行修改
PI = 3.14
print(PI)
print(type(PI))
# 注释
# 单行注释 #
# 多行注释 1、''' 要注释的内容 '''
# 多行注释 2、""" 要注释的内容 """
1、
'''
a = 10
b = 20
'''
2、
"""
a = 10
b = 20
"""
# print shot_id # 在python3.x版本中是没有print不加小括号
# python中的字符串 单引号或者双引号都可以表示一个字符串
print("这是由双引号括起来的字符串")
print('这是由单引号括起来的字符串')
# 使用逗号,隔开变量与其他剩余内容,则print在输出时会依次打印各个字符串或变量,遇到逗号,时会输出一个空格
shot_id = 30
print("shot_id的值是:", shot_id)
# print("shot_id的值是:" + shot_id)
# python中不允许使用加号将字符串与其他数据类型进行拼接
print("shot_id的值是:" + "20")
print(shot_id + 2)
# 打印50个=
print("=" * 50)
# 科学计数法表示较大的float类型数据
print(3.14e9)
# 转义字符的演示
print("小虎今年18岁\n存款1个亿") --\n表示换行
print("小虎今年18岁\t存款1个亿") --\t表示一个table键
# 前面加上r表示取消转义
print(r"小虎今年18岁\n存款1个亿")
# bool类型
print("3<4", 3 < 4)
print("3<4", 3 > 4)
# 非运算 not
print(not 3 > 7)
print(type(None))
# 算术运算符
# +
print(3 + 4)
# -
print(10 - 7)
# *
print(2 * 6)
# /
print(10 / 3) # python中的/结果是有小数的
# //
print(10 // 3) # //表示整除,取整数部分,不会四舍五入
print(3 // 4)
# ** 幂次方
print(2 ** 3) # 求出2的三次方法
# 函数 int()、float()、str() 和 bool() 分别用于将变量转换 成整型、浮点型、字符串和布尔型变量
shot_id = 40
print("shot_id", shot_id, type(shot_id))
shot_id = float(shot_id)
print("shot_id", shot_id, type(shot_id))
shot_id = str(shot_id)
print("shot_id", shot_id, type(shot_id))
# python中0对应bool类中的False
shot_id = 0
shot_id = bool(shot_id)
print("shot_id", shot_id, type(shot_id))
# 某些变量无法转换成数值型变量
shot_id = "你好"
shot_id = int(shot_id)
print("shot_id", shot_id, type(shot_id))
# python中内置方法isinstance主要是判断类型的
print(isinstance(shot_id, int))
print(isinstance(shot_id, float))
# 列表 包含索引概念,从左往右是从0开始标号
# Python语言中所有的索引都是从 0 开始计数的,如果列表中有 n 个元素, 那么最后一个元素的索引是 n-1
list1 = ['xiaohu', 20, 12.34, True, 'a', 'b', 'c']
print(list1)
print(type(list1))
# 向列表中添加元素
#列表的尾部添加元素
list1.append('liyi')
print(list1)
print(type(list1))
# remove()方法适用于知道要删除的值的情况
list1.remove(20)
print(list1)
print(type(list1))
# 当我们不知道具体元素值, 但是知道元素的索引位置时,我们可以使用 del 函数配合列表索引,删 除索引位置的元素或者使用 pop()方法
list1.pop(4)
print(list1)
print(type(list1))
list1.pop(-3) # 从尾部开始数第3个元素
print(list1)
print(type(list1))
del (list1[-3]) # 将倒数第三个元素删除
print(list1)
print(type(list1))
# 获取列表中的元素值 列表名[索引]
# 获取第4个元素
a = list1[3]
a = list1[-4]
print(a)
# Python内置的用于判断列表长度的函数为 len()
length = len(list1)
print("列表的长度为:", length)
# 需求:获取列表前4个元素
print(list1[0:4])
# 需求:获取列表中后3个元素
print(list1[-3:])
list1 = ['xiaohu', 20, 12.34, True, 'a', 'b', 'c']
# 从头获取到尾,每两步获取一个,如果不给步长,默认是1个步长
print(list1[0::2])
# 需求:按照顺序获取所有的元素
print(list1[0:])
# 需求:逆序所有的元素
print(list1[-1::-1])
print(list1[::])
print(list1[:])
# 列表嵌套
list2 = ['a', 'b', 'c', ['aaa', 'bbb', 'ccc']]
res = list2[3][1]
print(res)
# 元组
tuple1 = ('1', '2', 20, False, 'rr')
# tuple1[1] = '3' # 'tuple' object does not support item assignment
# print(tuple1)
# 字典 其中键不允许重复
dict1 = {1001: "小王", 1002: "小李", 1003: "小刘", "id": 1003, 1001: "小小"}
print(dict1) --{1001: '小小', 1002: '小李', 1003: '小刘', 'id': 1003}
print(dict1.has_key(1001))
print(dict1[1001]) # 通过键找值
print(dict1[1004]) # KeyError: 1004(不存在1004键)
# 判断字典中是否包含某个键
print(1003 in dict1)
print(1006 in dict1)
# 获取字典中所有键 keys() 返回的不是列表类型
print(dict1.keys(), type(dict1.keys()))
# 获取字典中所有的值 values() 返回的不是列表类型
print(dict1.values(), type(dict1.values()))
# 获取字典中所有的键值对 items() 返回的不是列表类型
print(dict1.items(), type(dict1.items()))
# 字典的删减有三种方法
del(dict1[1003])
print(dict1)
dict1.pop(1001)
print(dict1)
dict1.clear()
print(dict1
# 集合(set)是一种无序集,它是一组键的集合,不存储值,在集合中,重复的键是不被允许的。集合可以用于去除重复值
set1 = {'1001', 1003, '1002', "xiaohu", True, 1003}
print(set1)
# 面试题:现有一个列表,想办法对它去重。
--使用创建set集合的另一种方式set()
list3 = ['a', 'b', 'c', 'd', 'a', 'c', 'e']
print("list3:", list3)
set2 = set(list3)
print("set2:", set2)
# 注意:如果仅有{}来创建的话,并不是创建set集合,而是字典
# 如果仅仅是想创建一个空的set集合,使用set()
list3 = ['a', 'b', 'c', 'd', 'a', 'c', 'e']
print("list3:", list3)
set2 = set(list3)
print("set2:", set2)
# set3 = {}
# print(type(set3))
set3 = {'xiaohu', 'xiaoli', 'xiaoliu', 'xiaozhang'}
set4 = {'xiaozhao', 'xiaohu', 'xiaowang', 'xiaoma'}
# 并集
print(set3 | set4)
# 交集
print(set3 & set4)
# 差集
print(set3 - set4)
print(set4 - set3)
# 对称差
print(set3 ^ set4)
# 控制结构
# True 、 False 是比较显式的真和假, 而在Python中以下值都会被看作是假 (False):
--0,False,None,"",'',[],(),{},空的set集合
set5 = set()
bool1 = bool(set5)
print(bool1)
# If选择语句
If选择语句
格式1:
if 判断条件:
if执行代码
--需求:判断3是否大于7
if 3 > 7:
print("3是大于7的")
格式2:
if 判断条件:
if执行代码
else:
else执行代码
--需求:如果血量大于等于60,说明健康
HP = 70
if HP >= 80:
print("健康")
else:
print("不健康")
格式3:
if 判断条件:
if执行代码
elif 判断条件2:
elif执行代码
...
else:
else执行代码
if HP >= 80:
print("健康")
elif 80 > HP > 60: # python中可以连续
print("血量正常")
else:
print("血量不健康")
--需求:比较三个数大小(if嵌套)
a = 10
b = 20
c = 30
if a > b:
if a > c:
print("最大值是a", a)
else:
print("最大值是c", c)
else:
if b > c:
print("最大值是b", b)
else:
print("最大值是c", c)
# for循环
语句格式:
for 元素变量 in 序列:
for循环体内容
# range()的作用是将序列变成一个可以进行迭代器的对象
2 = range(11)
print(a2, type(a2))
a2 = ['a', 'b', 'c', 'd', 'e']
a2 = [1, 2, 3, 4, 5, [4, 5, 6, 7, 8]]
for i in a2:
print(i)
print(type(i))
# 1、搞一个新的列表
a3 = []
# 2、遍历旧的列表
for i in a2:
a3.append(i * 2)
if type(i) == list:
for i2 in i:
print(i2)
print(a3)
# while循环
语句格式:
while 判断条件:
要循环的语句体
HP = 20
while HP < 30:
print(HP)
HP = HP + 1
死循环
while True:
print("这是死循环")