ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Py-day01

2022-04-16 21:03:40  阅读:172  来源: 互联网

标签:shot day01 Py list1 print dict1 type id


# 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("这是死循环")

标签:shot,day01,Py,list1,print,dict1,type,id
来源: https://www.cnblogs.com/cpfhome/p/16154167.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有