Python学习笔记
1. 初探Python
安装环境搭建
Python安装
64: https://dl.softmgr.qq.com/original/Development/python-3.8.5-amd64.exe
32: https://dl.softmgr.qq.com/original/Development/python-3.8.5.exe
VSCode安装
64: https://dl.softmgr.qq.com/original/Development/VSCodeUserSetup-x64-1.62.3.exe
32: https://cr6.9pj8m.com/vscodeusersetup-1.59.0.exe
具体安装看教程
Python程序的运行
使用终端运行
终端: DOS
时代遗留的产物
打开cmd,然后输入python + 要执行的文件
即可
使用编辑器自带的运行
右键即可执行
Python的两种交互模式
在终端输入python后进入交互模式
在代码编辑器中编写完程序后执行
注释
可以对代码进行注解 解释
单行注释
# 欢迎关注骨折的羊
多行注释
'''
欢迎关注骨折的羊
欢迎给我的视频三连
'''
一些有趣的注释
https://www.cnblogs.com/GuiltySpark/p/5329864.html
注意点
- 被注释的代码不会被执行
- 要养成写注释的好习惯
中文乱码
Python2版本不支持中文 但是Python3支持中文
三种写法:
#encoding=utf-8
#coding=utf-8
#_*_coding:utf-8_*_ Python推荐
解释这种现象出现的原因:
直接看视频
2. Python基础
变量
作用:在内存当中存储数据
变量名
作用:方便我们取用内存当中的数据
命名规则:
- 只能由字母,数字,下划线组成
- 不能以数字开头
- 不能是Python中已经使用了的名称
- 尽量做到见名知意
练习(判断对错):
关于中文变量名
可以是可以,但是一定不要这么做
进一步了解变量
定义变量的格式
变量名 = 值
变量必须要有定义,否则不能使用
变量定义之后的值可以修改
多个变量的赋值
变量名1,变量名2 = 值1,值2
变量名1=变量名2=值
使用变量的好处
- 一处修改,处处修改
- 对于用户的输入可以更方便的存储
- 节省文件空间
查看变量地址
id(变量)
交换两个变量的值
- 使用第三方变量的算法思想:
temp = a
a = b
b = temp
- 使用Python的元组拆包
a,b = b,a
- 对于支持加减法运算的(整数,小数)
a = a+b
b = a-b
a = a-b
数据类型
什么是数据类型
程序处理的数据 按照类型来区分
为什么要区分类型
- 区分不同类型的存储空间
- 不同的数据类型 处理数据的方式不同,例如:1+1和"1"+"1"
常用数据类型有哪些
- Numbers
- int
- 二进制
- 八进制
- 十进制
- 十六进制
- long(python2)
- float
- int
- Bool
- True
- False
- String
- 'fuck'
- "fuck"
- '''fuck'''
- """fuck"""
- List
- Set
- Tuple
- Dictory
- NoneType
查看数据类型
type(变量/值)
数据类型转换
类型(变量名)
可以将对应的变量转换为相应的数据类型
下面是一段报错代码:int 和 str之间不能进行加减乘除运算
num = 1
print(num+"1")
动态类型语言和静态类型语言
静态类型语言指的是变量的类型在编译的时候就已经确定了 无法在后期进行修改 如 C C++等
动态类型语言指的是变量的类型在运行的时候可以后期修改 如Python
所以 Python是动态类型的
强类型语言和弱类型语言
强类型语言值的是类型不轻易在运算中改变
弱类型语言值的是类型在运算中很容易被转换
所以 Python是强类型的,动态类型的语言
一个非常重要的结论:Python当中的变量更像是一个名字,和C/C++有着本质的不同
Python运算符
学习下面的内容之前 需要明确 操作数和运算符可以结合成为一个运算表达式
算术运算符
# a = 10
# b = 2
# from decimal import *
# +:数值的相加 字符串的拼接 等等
# print(a+b)
# print("1"+"1") "1"*2
# -:数值的相减
# print(b-a)
# *:数值的相乘 字符串的乘法运算
# print(3*4)
# print(a*b)
# print("对不起"*1000)
# **:幂运算 2**3
# print(a**b)
# /:数值的除法
# print(5/2)
# //:数值之间地板除法 直接割掉小数 不是四舍五入
# print(6//10)
# %:数值之间取余数
# print(a//b)
# print(a%b)
# if(a%2==0):
# print("a是偶数")
# else:
# print("a是奇数")
# =:给变量赋值
# a = 9
# b = 10
# print(a,b)
# print(Decimal("0.15")+Decimal("0.25"))
要注意优先级问题 可以使用括号来提升运算的优先级
复合运算符
其实就是把算术运算符给复合起来 例如 a = a+1 可以复合成为 a+=1
a = 10
b = 20
# +=:数值的相加 字符串的拼接 等等
# a = 10 + 1
# print(a)
# # a = a + 1
# a += 2 # a = a+2
# a += b
# a += a # a= a+a
# a += a+b # a = a+a+b
# a += a-b # a = a+a-b
# print(a)
# -=:数值的相减
# a = a-10
# a -= 10
# print(a)
# *=:数值的相乘 字符串的乘法运算
# a *= 10
a *= a-b # a = a*(a-b)
# **=:幂运算 2**3
# a **= 3 # a = a ** 3
# print(a)
# /=:数值的除法
# a /= 20
# //=:数值之间地板除法 直接割掉小数 不是四舍五入
# a //= 20
# %=:数值之间取余数
# a %= 3
print(a)
比较运算符
比较运算符的结果有两个 一个是 True 一个是False
True 和 False都要大写
逻辑运算符
not 逻辑非
取反 真变假 假变真
a = True
print(not a)
a = False
print(not a)
and 逻辑与
两边都是真 结果才为真
a = True
b = False
print(a and b)
or 逻辑或
a = True
b = False
print(a or b)
注意点:
-
如果不是布尔类型的数据判断真假 记住 非零为真 非空为真
print(1 or False) print(bool(1)) print(bool(0)) print(bool("")) print(bool(None))
-
逻辑表达式的运算结果不一定是True False 也可以是其他的 反正只要这个结果不是0 不是空 那么就是真
深入本质:逻辑短路
如果不能确定一整条表达式的值(比如and需要看完两边才能确定) 需要一直往后看 直到能够确定出来真还是假 后面的是什么鸟样就不用管了 而且 当前看到哪里 返回哪里的数据
print(True or False)
print(True or 0)
print(True or "")
print(True or None)
print(False or True)
print(False or 1)
print(False or -1)
print(0 or 111)
print(None or 999)
print(999 or 999)