python整理

Python 整理(更新中)

一、环境搭建
1- 下载python解析器

下载地址:https://www.python.org/
在这里插入图片描述

2- 安装解析器:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.pycharm 安装操作

1- 下载pycharm

下载地址: https://www.jetbrains.com/pycharm/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

pycharm开发第一个Python程序

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# 第一个Python 程序
print("Heoll Word")

二、Python基础语法

2.1注释
1.单行注释: 以#开头,#右边的所有文字当作说明,而不是真正要执行的程序,起辅助说明作用

2.多行注释

“”“内容”“”, 三个引号引起来的内容作为对代码的解释说明, 这里的解释往往比较详尽,行数较多(三个单引号或者三个双引号都可以)

# 我是注释,可以在里写一些功能说明之类的哦
print('hello world')
'''
  我是多行注释,可以写很多很多行的功能说明
    下面的代码完成 ,打印一首诗
    名字叫做:春江花月夜
'''
str="""
        春江花月夜
         张若虚
春江潮水连海平,海上明月共潮生。
滟滟随波千万里,何处春江无月明!
江流宛转绕芳甸,月照花林皆似霰。
空里流霜不觉飞,汀上白沙看不见。
江天一色无纤尘,皎皎空中孤月轮。
江畔何人初见月?江月何年初照人?
人生代代无穷已,江月年年望相似。
不知江月待何人,但见长江送流水。
白云一片去悠悠,青枫浦上不胜愁。
谁家今夜扁舟子?何处相思明月楼?
可怜楼上月徘徊,应照离人妆镜台。
玉户帘中卷不去,捣衣砧上拂还来。
此时相望不相闻,愿逐月华流照君。
鸿雁长飞光不度,鱼龙潜跃水成文。
昨夜闲潭梦落花,可怜春半不还家。
江水流春去欲尽,江潭落月复西斜。
斜月沉沉藏海雾,碣石潇湘无限路。
不知乘月几人归,落月摇情满江树。
"""
print(str)
2.3定义变量

在这里插入图片描述
变量定义
格式: 变量名=值

num1 = 100
num2 = 87
result = num1 + num2
print(result)
# 定义一个数字类型变量num
num = 10
# 这里使用type就可以查看num的具体类型
print(type(num))

在这里插入图片描述

2.4 输出操作(print)

输出函数print的使用

print('hello world')
print('你好')
age=10
print("你的年龄是%d岁"% age)
age = 11
print("我今年%d岁" % age)
age = 12
print("我今年%d岁" % age)
age = 18
name = "sx"
print("我的姓名是%s, 年龄是%d" % (name, age))
name = 'pxj'
age = 33
print(f'你的名字是{name},年龄是{age}')

在这里插入图片描述

2.5输入操作

input() 函数

name=input("请输入你的名字:\n")
print(name)
2.6运算符

在这里插入图片描述

2.7.赋值运算符

在这里插入图片描述

# 单个变量赋值
num = 10
print(num)


# 多个变量赋值
num1, num2, f1, str1 = 100, 200, 3.14, "hello"
print(num1, num2, f1, str1)

2.8复核运算符

在这里插入图片描述

2.9常用数据类型转换

在程序中往往会出现需要数据类型转化的需求

例如:

input()函数默认接受到的是str(字符串)数据类型数据, 而我们需要input()函数给我们一个数字类型的数据. 这时候我们就可以把接受到的数据进行数据类型转化.
在这里插入图片描述

str1="abc"
int1=123
float1=123.123
bool1=True




print(type(int1))
print(type(float1))
print(type(bool1))
#3  转换数据类型
print("----------------")
print(int(float1))
print(type(int(float1)))

三、判断语句和循环语句

if语句是用来进行判断的,其使用格式如下:
if 要判断的条件:
条件成立时,要做的事情

age=input("请输入年龄")
if int(age)>=18:
    print("已成年")
else :
    print("没成年")
ticket = 1 # 用1代表有车票,0代表没有车票
if ticket == 1:
        print("有车票,可以上火车")
        print("终于可以见到Ta了,美滋滋")
else:
        print("没有车票,不能上车")
score = 77
if score>=90 and score<=100:
        print('本次考试,等级为A')
elif score>=80 and score<90:
        print('本次考试,等级为B')
elif score>=70 and score<80:
        print('本次考试,等级为C')
elif score>=60 and score<70:
        print('本次考试,等级为D')
else:
        print('本次考试,等级为E')

四、目计算

python本身并不支持三目(三元)计算, 但是我们可以通过 if else 变形来解决

a=int(input("请输入第一个数字"))
b=int(input("请输入第二个数字"))
result=a-b if a>b else b-a
print(result)

五、猜拳游戏

import random
"""
需求:
    1. 输⼊要出的拳 —— ⽯头(1)/剪⼑(2)/布(3)
    2. 电脑 随机 出拳 —— 先假定电脑只会出⽯头,完成整体代码功能
    3. ⽐较胜负
"""
# 1) 输⼊要出的拳 —— ⽯头(1)/剪⼑(2)/布(3)
player_user = int(input("请输入: ⽯头(1)/剪⼑(2)/布(3):"))
# 2)电脑随机出拳:
# 随机产生 一个  1~3之间的数字: 1 或者 2 或者 3
player_pc = random.randint(1,3)
# 3) 比较操作:
if player_user == player_pc:
    print("平局......")
elif ((player_user == 1) and (player_pc == 2)) or ((player_user ==2) and (player_pc == 3)) or ((player_user == 3) and (player_pc == 1)):
    print("我赢了")
else:
    print("我输了")

六、循环语句

6.1while 循环
i = 1
sum = 0
while i <= 100:
    sum = sum + i
    i += 1
print("1~100的累加和为:%d" % sum)

6.2for 循环

name = 'pxj'
for x in name:
    print(x)

6.3break 和 continue

break作用: 立刻结束break所在的循环

   for x in name:
        print('----')
        if x == 'e':
            break
        print(x)
    else:
        print("==for循环过程中,如果没有执行break退出,则执行本语句==")
   while i < 5:
        i = i + 1
        print('----')
        if i == 3:
            continue
        print(i)

七、容器

容器:容器是一种把多个元素组织在一起的数据结构,容器中的元素可以逐个地迭代获取,可以用各种内置方法对容器中的数据进行增删改查等操作
Python中常见容器有如下几种:

字符串
列表
元组
字典

7.1 字符串

b = “hello itcast.cn”
或者
b = ‘hello itcast.cn’

注意:
双引号或者单引号中的数据,就是字符串

a = "hello pjx.cn"

b = 'hello pxj.cn'
print(a)
print(b)

在这里插入图片描述

7.2字符串遍历

name = 'abcdef'
print(name[0])
print(name[1])
print(name[2])

字符串的切片

切片是指对操作的对象截取其中一部分的操作.
切片的语法:[起始:结束:步长]
注意:选取的区间从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身),步长表示选取间隔的长度

name = 'abcdef'
print(name[0:3]) # 取 下标0~2 的字符
name = 'abcdef'
print(name[3:5]) # 取 下标为3、4 的字符
name = 'abcdef'
print(name[2:]) # 取 下标为2开始到最后的字符
name = 'abcdef'
print(name[1:-1]) # 取 下标为1开始 到 最后第2个  之间的字符

7.3字符串常见操作

查找: find() index()

语法:

find(): 字符串序列.find(子串, 开始位置下标, 结束位置下标)
index():检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则则报异常。

mystr = "hello world and flink and spark Python"
print(mystr.find('and'))  # 12
print(mystr.find('and', 15, 30))  # 23
print(mystr.find('ands'))  # -1
print(mystr.index('and'))  # 12
print(mystr.index('and', 15, 30))  # 22
print(mystr.index('ands'))  # 报错

修改–replace(),split()

格式:

replace(): 字符串序列.replace(旧子串, 新子串, 替换次数)
split(): 字符串序列.split(分割字符, num)

注意:num表示的是分割字符出现的次数,即将来返回数据个数为num+1个。
mystr = “hello world and flink and spark and Python”

# 结果:hello world he flink he spark he Python
print(mystr.replace('and', 'he'))
# 结果:hello world he flink he spark he Python
print(mystr.replace('and', 'he', 10))
# 结果:hello world and flink and spark and Python
print(mystr)
# 结果:['hello world ', ' flink ', ' spark ', ' Python']
print(mystr.split('and'))
# 结果:['hello world ', ' flink ', ' spark and Python']
print(mystr.split('and', 2))
# 结果:['hello', 'world', 'and', 'flink', 'and', 'spark', 'and', 'Python']
print(mystr.split(' '))
# 结果:['hello', 'world', 'and flink and spark and Python']
print(mystr.split(' ', 2))

7.3列表

定义格式: namesList = [值1,值2,值3]

namesList = ['xiaoWang','xiaoZhang','xiaoHua']
print(namesList[0])
print(namesList[1])
print(namesList[2])

for遍历

names_list = ['xiaoWang','xiaoZhang','xiaoHua']
for name in names_list:
    print(name)
while 循环
 length = len(names_list)
    i = 0
    while i < length:
        print(names_list[i])
        i += 1

列表相关的API:

列表相关的API:

添加元素:

append: 通过append可以向列表添加元素

#定义变量A,默认有3个元素
A = ['xiaoWang','xiaoZhang','xiaoHua']
print("-----添加之前,列表A的数据-----")
for temp_name in A:
    print(temp_name)
#提示、并添加元素
temp = input('请输入要添加的学生姓名:')
A.append(temp)
print("-----添加之后,列表A的数据-----")
for temp_name in A:
    print(temp_name)
extend: 通过extend可以将另一个集合中的元素逐一添加到列表中
a = [1, 2]
b = [3, 4]
a.append(b)
print(a)

7.4 元组

元组特点:定义元组使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型。

注意:如果定义的元组只有一个数据,那么这个数据后面也好添加逗号,否则数据类型为唯一的这个数据的数据类型

# 多个数据元组
t1 = (10, 20, 30)
# 单个数据元组
t2 = (10,)
print(t1,t2)
print("-------------------------------------")

元组的常见操作:

元组数据不支持修改,只支持查找,具体如下:

7.41 按下标查找数据

tuple1 = ('aa', 'bb', 'cc', 'bb')
print(tuple1[0]) 

7.42 index()

index():查找某个数据,如果数据存在返回对应的下标,否则报错,语法和列表、字符串的index方法相同。

tuple1 = ('aa', 'bb', 'cc', 'bb')
print(tuple1.index("aa"))

7.43count():统计某个数据在当前元组出现的次数。

tuple1 = ('aa', 'bb', 'cc', 'bb')
print(tuple1.count("cc"))

7.44 len():统计元组中数据的个数。

tuple1 = ('aa', 'bb', 'cc', 'bb')
print(len(tuple1))  # 4

7.45注意:元组内的直接数据如果修改则立即报错

#tuple1 = ('aa', 'bb', 'cc', 'bb')
#tuple1[0] = 'aaa'

标题7.46但是如果元组里面有列表,修改列表里面的数据则是支持的,故自觉很重要。

tuple2 = (10, 20, ['aa', 'bb', 'cc'], 50, 30)
print(tuple2[2])  # 访问到列表


# 结果:(10, 20, ['aaaaa', 'bb', 'cc'], 50, 30)
tuple2[2][0] = 'aaaaa'
print(tuple2)
['aa', 'bb', 'cc']
(10, 20, ['aaaaa', 'bb', 'cc'], 50, 30)

7.5字典

类似于Java中Map

说明:

字典和列表一样,也能够存储多个数据
列表中找某个元素时,是根据下标进行的
字典中找某个元素时,是根据’名字’(就是冒号:前面的那个值,例如上面代码中的’name’、‘id’、‘sex’)
字典的每个元素由2部分组成,键:值。例如 ‘name’:‘班长’ ,'name’为键,'班长’为值

info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'}


info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'}
print(info['name'])
print(info['address'])

常见的操作:

7.5.1查看元素

除了使用key查找数据,还可以使用get来获取数据

info = {'name':'pxj','age':18}
print(info['age']) # 获取年龄
# print(info['sex']) # 获取不存在的key,会发生异常
print(info.get('sex')) # 

7.5.2.修改元素

字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改

info = {'name':'pxj','age':18}
name1=input("请输入名字")
info["name"]=name1
print(info['name'])

7.5.3添加元素

如果在使用 变量名[‘键’] = 数据时,这个“键”在字典中,不存在,那么就会新增这个元素

info = {'name': 'zx', 'sex': 'f', 'address': '地球亚洲中国北京'}
ID=input("请输入ID")
info['ID']=ID
print(info.get("ID"))

7.5.4.删除元素

删除元素

对字典进行删除操作,有一下几种:

del
clear()
info1 = {'name':'pxj', 'sex':'f', 'address':'gz'}
print('删除前,%s' % info1)
del info1
print('删除后,%s' % info1)
print('清空前,%s' % info1)
info1.clear()
print('清空后,%s' % info1)

7.5.5 其他的一些操作

get()

语法
字典序列.get(key, 默认值)

注意:如果当前查找的key不存在则返回第二个参数(默认值),如果省略第二个参数,则返回None。

快速体验

dict1 = {'name': 'pxj', 'age': 18, 'gender': '女'}
print(dict1.get('name')) 

keys()

显示所有的key值

dict1 = {'name': 'pxj', 'age': 18, 'gender': '女'}
print(dict1.keys())

values()

显示所有的value值

dict1 = {'name': 'pxj', 'age': 18, 'gender': '女'}
print(dict1.values())

items()

显示所有的键值对(key-value形式)

dict1 = {'name': 'pxj', 'age': 18, 'gender': '女'}
print(dict1.items())
dict_items([('name', 'pxj'), ('age', 18), ('gender', '女')])

声明:部分整理参考了网上资料
作者:潘陈(pxj_shenx)
日期:2023-10-05 00:12:30

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值