Python学习笔记
本文最后更新于434 天前,其中的信息可能已经过时,如有错误请发送邮件到525382782@qq.com

一、虚拟环境的创建

1.查看已存在的虚拟环境:conda env list

2.创建虚拟环境:conda create -n 虚拟环境名 python==其版本

3.激活虚拟环境:conda activate 虚拟环境名

4.安装其他的库:pip install 安装内容

5.查看已安装的库:pip listconda list

6.退到主环境:conda deactivate

7.删除虚拟环境:conda env remove –name 虚拟环境名

二、常识

1.命名规则:

1.命名文件名建议只是用小写字母、数字和下划线

2.文件名不能以数字开始

2.注释:

1.单行注释

#开头,#右边的所有东西都被当作说明文字,为保证程序的可读性,在#后要添加一个空格

2.多行注释

一对三个引号

"""
这是一个多行注释

在多行注释之间,可以写很多内容
"""
print("Hello Python")

3.变量:

1.变量定义

在Python中,每个变量 在使用前都必须赋值,变量 赋值以后 该变量 才会被创建

等号(=)用来给变量赋值=左边是一个变量名,=右边是存储在变量中的值

# 定义qq_number的变量用来保存 qq号码
qq_number = "1234567"
# 输出 qq_number中保存的内容
print(qq_number)

# 定义苹果价格变量
price = 8.5
# 定义购买重量
weight = 7.5
# 计算金额
money = price * weight*
# 只要买苹果就返 5 元
money = money - 5
# 输出价格
print(money)

小结:变量名 只有在第一次出现 才是 定义变量变量名 再次出现,不是定义变量,而是直接使用之前定义过的变量

2.变量的类型:

  1. 数字型,整型(int)、浮点型(float)、布尔型(bool)、复数型(complex)(主要用于科学计算,例如:平面场问题、波动问题、电感电容等问题)
  2. 非数字型:字符串、列表、元组、字典

3.使用type函数查看变量类型

In [1]: type(name)
Out [1]: str

4.Python中定义变量时需要指定数据类型吗?

回答:不需要,Python可以根据=等号右侧的值,自动推导出变量中存储的数据类型

变量是没有类型的,但是他存储的数据是有类型的。

5.变量的输入

类型转换函数

  • int(x) 将 x 转换为一个整数
  • float(x)将 x 转换到一个浮点数
  • str(x)将 x 转换到一个字符串

6.标识符

  1. 标识符可以由 字母、下划线 和 数字 组成
  2. 不能以数字开头
  3. 大小写敏感
  4. 不能与关键字重名
  5. 不推荐使用中文

7.运算符

1.比较运算符
运算符描述
==检查两个操作数的值是否 相等,如果是,则条件成立,返回True
!= 检查两个操作数的值是否 不相等,如果是,则条件成立,返回True
> 检测左操作数的值是否 大于 右操作数的值,如果是,则条件成立,返回True
<检测左操作数的值是否 小于 右操作数的值,如果是,则条件成立,返回True
>=检测左操作数的值是否 大于等于 右操作数的值,如果是,则条件成立,返回True
<= 检测左操作数的值是否 小于等于 右操作数的值,如果是,则条件成立,返回True
2.算数(数学)运算符
  • //取整数
  • **指数
3.逻辑运算符

and、or、not

4.赋值运算符

在算术运算时,为了简化代码的编写,Python还提供了一系列的 与 算数运算符 对应的 赋值运算符

注意:赋值运算符中间不能使用空格

运算符描述实例
简单的赋值运算符
+=加法赋值运算符
-=减法赋值运算符
*=乘法赋值运算符
/=除法赋值运算符
//=取整除赋值运算符
%=取模(余数)赋值运算符
**=幂赋值运算符

8.字符串扩展

1.字符串的拼接——+号拼接
name="king"
print("我是"+name+"很菜")
  • 字符串是无法单独同整数等直接进行拼接的
2.字符串的格式化
格式化字符含义
%s字符串
%d有符号的十进制整数,%06d表示输出显示位数,不足地方使用0补全
%f浮点数,%.2f表示只显示小数点后两位
%%输出%
name = "小明"
print("我的名字叫 %s ,请多多关照!" % name)
# output:我的名字叫小明,请多多关照!

#字符串与数字拼接
class_num=57
avg_salary=16781 # 此数数字变成了字符串进行拼接
message = "python大数据学科,北京%s期,毕业平均工资:%s"%(class_num,avg_salary)
#output:python大数据学科,北京57期,毕业平均工资:16781
3.快速字符串格式

f”内容{变量}”的格式来快速格式化

p
print(f"我是{name}我成立于:{set_up_year}我今天的股票价格是:{stock_price}")
4.格式化精度控制
  • %5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成**【空格】【空格】【空格】11**,用3个空格补足宽度
  • %5.2f:表示将宽度控制为5,将小数点的精度设置为2
price = 9.00
weight = 5.00
money = price * weight
print("苹果单价 %.2f元/斤, 购买了%.3f斤, 需要支付%.4f元" % (price, weight, money))
#output 苹果单价 9.00元/斤, 购买了5.000斤, 需要支付45.0000元
5.表达式的格式化
print("1*1的结果是:%d"%(1*1))
print("字符串在Python中的类型名是:%s"% type("字符串"))

#output:1*1的结果是:1
#字符串在Python中的类型名是:<class 'str'>
name="传智播客"
stock_price=19.99
stock_code="003032"

stock_price_daily_growth_factor =1.2
growth_days=7

finally_stock_price=stock_price*stock_price_daily_growth_factor**growth_days

print(f"公司:{name},股票代码:{stock_code},当前股价:{stock_price}")
print("每日增长系数:%.1f,经过%d天的增长后,股价达到了:%.2f"%(stock_price_daily_growth_factor,growth_days,finally_stock_price ))

#output:公司:传智播客,股票代码:003032,当前股价:19.99
#每日增长系数:1.2,经过7天的增长后,股价达到了:71.63

9.数据输入–input

无论键盘输入什么类型的数据,获得的永远都是字符串类型

print ("请告诉我你是谁")
name=input()#等价于input(请告诉我你是谁)
print("我知道你是%s"% name)

input:king
output:我知道你是king

10.随机数

import random
num = radom.randint(a, b) #返回 [a, b] 之间的整数,包含 a 和 b

4.python判断语句

1.if语句的基本格式
if 要判断的条件:
	条件成立时,要做的事情 # 要有4个空格做缩进
	...
 # 如果没有缩进 就不属于if的控制范围

不要忘记判断条件后的:冒号

age=int(input("请输入你的年龄:"))
if age>=18:
    print("您已成年,游玩要补票10元。")
print("祝您游玩愉快"
"""
output:请输入你的年龄:18
您已成年,游玩要补票10元。
祝您游玩愉快
"""
2.if else语句
3.if elif else
if 条件1:
	条件1满足执行的代码
	...
elif 条件2:
	条件2满足执行的代码
	...
elif 条件3:
	条件3满足执行的代码
	...
else:
	以上条件都不满足时,执行代码
	...

可以将 ifelif 和 else 以及各自缩进的diamagnetic,看成一个完整的代码块

4.if的嵌套
has_ticket = True
knife_length = 15
if has_ticket:
    print("车票检查通过,准备开始安检")
    if knife_length <= 20:
        print("安检通过,祝您旅途愉快")
    else:
        print("携带道具长度为 %d厘米" % knife_length)
        print("不允许上车")
else:
    print("请先买票!")
5.综合实战
# 导入随机工具包
import random
player = int(input("请输入您出的拳 石头(1)/剪刀(2)/布(3): "))
computer = random.randint(1, 3)
print("玩家出的拳头是 %d - 电脑出的拳是 %d" % (player, computer))
# 玩家胜利的三种情况
if ((player == 1 and computer == 2)
        or (player == 2 and computer == 3) 
        or (player == 3 and computer == 1)):
    print("玩家赢了!")
# 平局
elif player == computer:
    print("平居")
# 电脑获胜
else:
    print("电脑获胜!")

5.python循环语句

1.while循环的基本使用

初始条件设置 - 通常是重复执行的 计数器

while 条件(判断 计数器 是否达到 目标次数):
	条件满足时,做的事情1
	条件满足时,做的事情2
	...(省略)...
	处理条件(计数器 + 1)

2.while 循环嵌套

while 条件1:
	条件满足时,做的事情1
	条件满足时,做的事情2
	...(省略)...

	while 条件2:
		条件满足时,做的事情1
		条件满足时,做的事情2
		...(省略)...
		处理条件2
	处理条件1
经典案例——99乘法表
i=1
while i<10:
    j=1
    while j<=i:
        print(f"{j}*{i} = {j*i}\t",end=' ')
        j+=1
    print('')
    i+=1
 #output:
1*1 = 1	 
1*2 = 2	 2*2 = 4	 
1*3 = 3	 2*3 = 6	 3*3 = 9	 
1*4 = 4	 2*4 = 8	 3*4 = 12	 4*4 = 16	 
1*5 = 5	 2*5 = 10	 3*5 = 15	 4*5 = 20	 5*5 = 25	 
1*6 = 6	 2*6 = 12	 3*6 = 18	 4*6 = 24	 5*6 = 30	 6*6 = 36	 
1*7 = 7	 2*7 = 14	 3*7 = 21	 4*7 = 28	 5*7 = 35	 6*7 = 42	 7*7 = 49	 
1*8 = 8	 2*8 = 16	 3*8 = 24	 4*8 = 32	 5*8 = 40	 6*8 = 48	 7*8 = 56	 8*8 = 64	 
1*9 = 9	 2*9 = 18	 3*9 = 27	 4*9 = 36	 5*9 = 45	 6*9 = 54	 7*9 = 63	 8*9 = 72	 9*9 = 81	 

3.for循环

for 临时变量in待处理数据集:
	循环满足条件时执行的代码
#例
name="king"
for i in name:
    print(i)

4.range语句

  • 语法中的待处理数据集严格的来说称为序列类型
  • 序列类型指,其内容可以一个个依次取出来的一种类型包括:1.字符串2.列表3.元组······

range(num):获取一个从0开始,到num结束的数字序列(不含数字本身)

range(num1,num2):获得一个从num1开始到num2结束的数字序列(不含num2本身)

range(num1,num2,step):是从num1到num2(不包括num2)获取数字序列,步长以step为准(step默认为一)

5.for循环的嵌套

for 临时变量in待处理数据集:
	循环满足条件时执行的代码

6.循环综合案例–发工资案例

money=10000
for i in range(1,21):
import random
num = random.randint(1, 10)
print(f"员工的绩效为{num}")
if num<5: print(f"员工{i}绩效分{num}不满足,不发工资,下一位") continue if money>=1000:
money-=1000
print(f"员工{i}绩效分满足发放工资1000,公司账户余额:{money}")
else:
print(f"余额不足,当前余额{money}元,不发了,下个月再来")
break

三.python函数

1.基础认识

所谓 函数,就是把 具有独立功能的代码块 组织为一个小模块,在需要的时候 调用

函数的使用包含两个步骤:

1.定义函数 – 封装 独立的功能

2.调用函数 – 享受 封装 的成果

函数的作用,在于开发程序时,使用函数可以提高缩写的效率以及代码的 重用

2.函数的定义

def 函数名():
	函数封装的代码
	...

1.def 是英文 define 的缩写

2.函数名称 应该能够表达 函数封装代码 的功能,方便后续使用

3.函数名称 的命名应该 符合 标识符的命名规则

  • 可以由 字母,下划线 和 数字 组成
  • 不能以数字开头
  • 不能与关键字重名

例如

name = "小明"
# Python 解释器知道下方定义了一个函数
def say_hello():
    
    print("hello 1")
    print("hello 2")
    print("hello 3")

print(name)

# 只有在程序中,主动调用函数,才会让函数执行
say_hello()
print(name)

3.函数的参数

形参和实参

  • 形参 定义 函数时,小括号中的参数,是用来接受参数用的,在函数内部 作为变量使用
  • 实参调用 函数时,小括号中的参数,是用来把数据传递到 函数内部 用的
def sum_2_num(num1, num2):
    """对两个数字求和"""

    return num1 + num2

# 调用函数,并使用 result 变量接受计算结果
result = sum_2_num(10, 20)

print("计算结果是 %d" % result)

4.函数的返回

在程序开发中,有时候,会希望 一个函数执行结束后,告诉调用者一个结果,以便调用者针对具体的结果做后续的处理。return 表示返回,后续代码都不会被执行

None类型

  • 用在函数无返回值上,可以用到if的判断上,None等同于False,用在声名无内容上。

函数的说明文档

def check(a):
    """
    可用于解释函数作用
    :param a: 解释参数意义
    :return: 解释返回值意义
    """

函数的嵌套调用

调用会首先执行test1的内容再接着继续执行test2剩下的内容

def test1():

    print("*" * 50)
    print("test 1")
    print("*" * 50)

def test2():

    print("-" * 50)
    print("test 2")

    test1()

    print("-" * 50)

test2()

#output:
--------------------------------------------------
test 2
**************************************************
test 1
**************************************************
--------------------------------------------------

变量的作用域

1.局部变量
  • 定义在函数体内部的变量,只在函数体内生效
  • 作用:在函数运行,函数调用变量,运行完销毁变量
2.全局变量

函数体内外都能生效的变量

3.将函数内声明变量为全局变量才能修改值

global 关键字

综合案例

money=5000000
name=None
name=input("请输入您的姓名:")

def query(show_header):
    if show_header:
        print("---------查询余额---------")
    print(f"{name},您好,您的余额剩余:{money}元")

def saving(num):
    global money #将money在函数内部定义为全局变量
    money+=num
    print("---------存款---------")
    print(f"{name},您好,您存款:{num}元成功")
    query(False)

def get_money(num):
    global money  # 将money在函数内部定义为全局变量
    money -= num
    print("---------取款---------")
    print(f"{name},您好,您取款:{num}元成功")
    query(False)

def main():
    print("---------主菜单---------")
    print(f"{name},您好欢迎来到atm,请输入您想操作的步骤")
    print("查询余额\t\t[输入1]")
    print("存款\t\t[输入2]")
    print("取款\t\t[输入3]")
    print("退出\t\t[输入4]")
    choice=input("请输入你的选择:")
    return choice
while True:
    key=main()
    if key=="1":
        query(True)
        continue
    elif key=="2":
        num=int(input("您想要存入多少钱:"))
        saving(num)
        continue
    elif key=="3":
        num = int(input("您想要取出多少钱:"))
        get_money(num)
        continue
    else :
        print("程序退出")
        break

python数据容器

可以容纳多份数据的数据类型

1.列表

列表的定义

列表用 [] 定义,数据之间使用 , 分隔

name_list = ["zhangsan", "lisi", "wangwu"]
1.1.列表的下标索引
  • 列表的索引从0开始
  • 索引 就是数据在 列表 中的位置编号,索引 又可以被称为 下标
  • 最后一个元素的下标是-1
1.2.列表的常用方法
增加list.insert(索引,数据)在指定位置插入数据
list.append(数据)在末尾追加数据
list.extend(列表2)将列表2的数据追加到列表
修改list[索引] = 数据修改指定索引的数据
删除del list[索引]删除指定索引的数据
list.remove[数据]删除第一个出现的指定数据
list.pop()删除末尾数据
list.pop(索引)删除指定索引数据
list.clear()清空列表
统计len(list)列表长度
list.count(数据)数据在列表中出现的次数
排序list.sort()升序排序
list.sort(reverse=True)降序排序
list.reverse()逆序、反转
查询list.index()查找指定元素的下标
  • 使用 del 关键字(delete) 同样可以删除列表中元素
  • del 关键字本质上是用来 将一个变量从内存中删除的
  • 如果使用 del 关键字将变量从内存中删除出,后续代码就不能再使用这个变量了
1.3.list(列表)的遍历
  • 遍历就是从头到尾依次从列表中获取数据
  • 循环内部针对每一个元素,执行相同的操作
  • 在 Python 中为了提高列表的遍历效率,专门提供的 迭代 iteration 遍历
1.4.使用 for 实现迭代遍历
name_list = ["小李广-花荣", "呼保义-宋江", "玉麒麟-卢俊义", "黑旋风-李逵"]

# 使用迭代遍历列表
"""
顺序从列表中依次获取数据,每一次循环过程中,数据都会保存在my_name 这个变量中,
在循环体内部可以访问当前这一次获取到的数据
"""
for my_name in name_list:
    print("我的名字是 %s" % my_name)
1.5.使用while实现迭代遍历
index=0
while index<len(mylist):
		print(```)
        index+=1
  • 列表中可以存储不同类型的数据
  • 在开发中,更多的应用场景是
    1. 列表存储相同类型的数据
    2. 通过迭代遍历,在循环体内部,针对列表中的每一项元素,执行相同的操作

2.元组

  • 不同于列表——一旦定义完成不可修改
  • 但是元组里嵌套一个list里的值是可以修改的
2.1元组的定义
  • 元组表示多个元素组成的序列
  • 元组在 Python 开发中,有特定的应用场景
  • 用于存储一串信息,数据之间使用 , 分隔
  • 元组用 **()** 定义
  • 元组的索引从0开始
info_tuple = ("zhangsan", 18, 1.75)

创建空元组

tuple = () # 也可是t0=tuple()

元组中只包含一个元素时,需要在元素后面添加逗号

single_tuple = ("zhangsan",)

类的概念:https://blog.csdn.net/weixin_40141628/article/details/141439896

字典:https://blog.csdn.net/2301_82000445/article/details/137353411

字典2:https://blog.csdn.net/qq_45096273/article/details/107446492

python中的self:https://baijiahao.baidu.com/s?id=1792013622813378144&wfr=spider&for=pc

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
颜文字
Emoji
上一篇
下一篇