python基础

文章目录

参考视频和资料:黑马程序员python教程

一、你好Python

1.1 下载解释器

链接: Python官网

1.2 你好世界

print("hello world!!!")

1.3 python解释器

python.exe程序
python解释器是python.exe程序
python一次运行多条语句可以先新建py文件,在cmd程序中使用python命令python d:\test.py来使用。

运行一个py文件

1.4 PyCharm使用

快捷键
插件

1.5 pyc文件

Ccompiled 编译过 的意思

操作步骤

  1. 浏览程序目录会发现一个 __pycache__ 的目录
  2. 目录下会有一个 hm_10_分隔线模块.cpython-35.pyc 文件,cpython-35 表示 Python 解释器的版本
  3. 这个 pyc 文件是由 Python 解释器将 模块的源码 转换为 字节码
    • Python 这样保存 字节码 是作为一种启动 速度的优化

字节码

  • Python 在解释源程序时是分成两个步骤的

    1. 首先处理源代码,编译 生成一个二进制 字节码
    2. 再对 字节码 进行处理,才会生成 CPU 能够识别的 机器码
  • 有了模块的字节码文件之后,下一次运行程序时,如果在 上次保存字节码之后 没有修改过源代码,Python 将会加载 .pyc 文件并跳过编译这个步骤

  • Python 重编译时,它会自动检查源文件和字节码文件的时间戳

  • 如果你又修改了源代码,下次程序运行时,字节码将自动重新创建

二、Python基础语法

2.1 字面量

字面量:在代码中,被写下来的固定的值
在这里插入图片描述

2.2 注释

# 单行注释(可以跟在代码后面)
"""
多行注释(单引号双引号都可以)
"""
print("Hi") # 输出Hi

# 使用\行连接符可以将一行内容放在两行
name = "123" \
       "123124"

2.3 变量

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

  • 变量 和 数据 都是保存在 内存 中的
  • Python函数 的 参数传递 以及 返回值 都是靠 引用 传递的
  • 变量数据 是分开存储的
  • 数据 保存在内存中的一个位置
  • 变量 中保存着数据在内存中的地址
  • 变量记录数据的地址,就叫做 引用
  • 使用 id() 函数可以查看变量中保存数据所在的 内存地址

注意:如果变量已经被定义,当给一个变量赋值的时候,本质上是 修改了数据的引用

  • 变量 不再 对之前的数据引用
  • 变量 改为 对新赋值的数据引用

2.4 数据类型

类型 描述 说明
string 字符串类型 用“”括起来的数据
int 整形(有符号) 数字类型,存放整数,如10,-100等
float 浮点型(有符号) 数字类型,存放小数,如14.14
bool 布尔类型 Ture与False
# 使用type来查看数据类型,type(数据或变量)
x = type(13)
print(x) # <class 'int'>
print(type(x)) #<class 'type'>

变量无类型,存储的数据有类型

2.5 类型转换

在这里插入图片描述

  • 任何类型,都可以使用str()转换为字符串
  • 字符串内必须真是数字,从可以将串转换为数字
  • 浮点数转整数会损失精度,丢去小数部分

2.6 标识符

自己所使用的一系列名字,用于给变量、方法、函数等命名,称为标识符

  • 内容限定

     *标识符只可以有数字,字母,下划线,中文
     数字不可以开头
     不推荐使用中文*
    
  • 大小写敏感

  • 不可使用关键字

2.7 运算符

2.7.1 算术运算符

运算符 描述 实例
+ 10 + 20 = 30
- 10 - 20 = -10
* 10 * 20 = 200
/ 10 / 20 = 0.5
// 取整除 返回除法的整数部分(商) 9 // 2 输出结果 4
% 取余数 返回除法的余数 9 % 2 = 1
** 又称次方、乘方,2 ** 3 = 8
  • 在 Python 中 * 运算符还可以用于字符串,计算结果就是字符串重复指定次数的结果
In [1]: "-" * 50
Out[1]: '----------------------------------------' 

2.7.2 赋值运算符

运算符 描述 实例
= 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
//= 取整除赋值运算符 c //= a 等效于 c = c // a
%= (余数)赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c **= a 等效于 c = c ** a

2.7.3 比较运算符

运算符 描述
== 检查两个操作数的值是否 相等,如果是,则条件成立,返回 True
!= 检查两个操作数的值是否 不相等,如果是,则条件成立,返回 True
> 检查左操作数的值是否 大于 右操作数的值,如果是,则条件成立,返回 True
< 检查左操作数的值是否 小于 右操作数的值,如果是,则条件成立,返回 True
>= 检查左操作数的值是否 大于或等于 右操作数的值,如果是,则条件成立,返回 True
<= 检查左操作数的值是否 小于或等于 右操作数的值,如果是,则条件成立,返回 True

2.7.4 逻辑运算符

运算符 逻辑表达式 描述
and x and y 只有 x 和 y 的值都为 True,才会返回 True
否则只要 x 或者 y 有一个值为 False,就返回 False
or x or y 只要 x 或者 y 有一个值为 True,就返回 True
只有 x 和 y 的值都为 False,才会返回 False
not not x 如果 x 为 True,返回 False
如果 x 为 False,返回 True

2.7.5 身份运算符

身份运算符用于 比较 两个对象的 内存地址 是否一致 —— 是否是对同一个对象的引用

  • Python 中针对 None 比较时,建议使用 is 判断
运算符 描述 实例
is is 是判断两个标识符是不是引用同一个对象 x is y,类似 id(x) == id(y)
is not is not 是判断两个标识符是不是引用不同对象 x is not y,类似 id(a) != id(b)

is 用于判断 两个变量 引用对象是否为同一个
== 用于判断 引用变量的值 是否相等

2.7.6 数据容器通用运算符

运算符 Python 表达式 结果 描述 支持的数据类型
+ [1, 2] + [3, 4] [1, 2, 3, 4] 合并 字符串、列表、元组
* [“Hi!”] * 4 [‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’] 重复 字符串、列表、元组
in 3 in (1, 2, 3) True 元素是否存在 字符串、列表、元组、字典
not in 4 not in (1, 2, 3) True 元素是否不存在 字符串、列表、元组、字典
> >= == < <= (1, 2, 3) < (2, 2, 3) True 元素比较 字符串、列表、元组
  • in 在对 字典 操作时,判断的是 字典的键
  • innot in 被称为 成员运算符
运算符 描述 实例
in 如果在指定的序列中找到值返回 True,否则返回 False 3 in (1, 2, 3) 返回 True
not in 如果在指定的序列中没有找到值返回 True,否则返回 False 3 not in (1, 2, 3) 返回 False

注意:在对 字典 操作时,判断的是 字典的键

2.7.7 运算符优先级

运算符 描述
** 幂 (最高优先级)
* / % // 乘、除、取余数、取整除
+ - 加法、减法
<= < > >= 比较运算符
== != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
not or and 逻辑运算符

2.8 字符串拓展

2.8.1 字符串定义

双引号定义法 “我是字符串”
单引号定义法 ‘我是字符串’
三引号定义法 “”"我是字符串“”“

三引号与多行注释写法一样,支持换行,使用变量接受他作为字符串使用,不使用变量接受他就作为多行注释使用

# 在字符串内 包含双引号
name = '"程序员"'
print(name)
# 在字符串内 包含单引号
name = "'程序员'"
print(name)
# 使用转义字符 \ 解除引号的效用
name = "\"程序员\""
print(name)
name = '\'程序员\''
print(name)

2.8.2 字符串拼接

# 通过+拼接字符串
name = "新"
print("我是" + name + "青年")
age = 18
print("我是" + name + "青年,年龄:" + age)
# 这样会报错,无法和非字符串进行拼接,类型不一样

2.8.3 字符串格式化

方法 描述
占位 message="我是%s,我今年%d" % (name, age)
快速格式化 f“内容{变量}”,不理会精度与类型

在这里插入图片描述
在这里插入图片描述
%5.2f:宽度为5,两位小数
%.2f:不限宽度,两位小数

# 表达式格式化
print("1 * 1 = %d " % (1 * 1))
print(f"1 * 1 = {
      1 * 1}")

2.8.4 字符串参与计算eval函数

 # 基本的数学计算
In [1]: eval("1 + 1")
Out[1]: 2

# 字符串重复
In [2]: eval("'*' * 10")
Out[2]: '**********'

# 将字符串转换成列表
In [3]: type(eval("[1, 2, 3, 4, 5]"))
Out[3]: list

# 将字符串转换成字典
In [4]: type(eval("{'name': 'xiaoming', 'age': 18}"))
Out[4]: dict

2.8.5 字符串的编码与解码

st1.decode(encoding="utf-8", errors="strict")
str2.encode(encoding="utf-8", errors="strict")

2.9 输入输出数据

name = input("提示信息")
#输入结果以字符串类型存在



# 向控制台输出内容结束之后,不会换行
print("*", end="")

# 单纯的换行
print("")
转义字符 描述
\\ 反斜杠符号
\’ 单引号
\" 双引号
\n 换行
\t 横向制表符
\r 回车

2.10 随机数random

  • Python 中,要使用随机数,首先需要导入 随机数模块 —— “工具包”
import random
  • 导入模块后,可以直接在 模块名称 后面敲一个 . 然后按 Tab 键,会提示该模块中包含的所有函数

  • random.randint(a, b) ,返回 [a, b] 之间的整数,包含 ab

  • 例如:

random.randint(12, 20)  # 生成的随机数n: 12 <= n <= 20   
random.randint(20, 20)  # 结果永远是 20   
random.randint(20, 10)  # 该语句是错误的,下限必须小于上限

三、判断与循环语句

3.1 判断语句

# 判断语句
age = int(input("年纪"))
if age >= 20:
	print("很好")
elif age >=15:
	print("还好")
else:
	print("略好")

Python使用缩进判断代码块的归属关系
if-elif-else之间是互斥顺序的,执行了一个就不会执行后面的判断语句

3.2 循环语句

3.2.1 while循环

#while循环通过条件来判断是否需要继续执行
# 请规划循环终止条件
# 可以嵌套使用,需要注意缩进层次
while 条件:
	条件满足做的事情

3.2.2 for循环

# for循环是一种轮询机制,对一批内容进行逐个处理
for 临时变量 in 待处理数据集:
	执行事件
	# 从数据集逐个取出数据赋值给临时变量


# 完整for循环
for 变量 in 集合:
    
    循环体代码
else:
    没有通过 break 退出循环,循环结束后,会执行的代码

在这里插入图片描述

3.2.3 range语句

range语句用来获得一个数据序列

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

for i in range(
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值