python的基础入门

初识Python

什么是Python

Python是1门程序设计语言。在开发者眼里,语言可以分为3类:

  1. 自然语言:人能听懂的语言,例如汉语,英语,法语等等。
  2. 机器语言:机器能听懂的语言,机器只能听懂0和1。
  3. 程序设计语言:机器能够听懂,人能听懂的语言,例如Python,C,C++ 、C# 、Java等等。

同样的,在开发者眼里还可以分为高级程序设计语言和低级程序设计语言。越接近于人类的语言越高级,例如Python;越接近于机器语言越低级,例如汇编就属于低级程序员设计语言。

简而言之,python是一门高级的编程语言,而且随着人工智能的兴起,python在编程领域所占的权重是越来越大了,现在市场份额排名第一,未来的发展潜力也是巨大的,非常得到学习

编程市场份额排行榜:https://www.tiobe.com/tiobe-index/

Python的特点

Python的特点主要有语法简洁、类库强大、胶水语言(调用其他语言的类库)、代码量较少等特点

Python 运行机制

程序运行主要有两种机制:编译型和解释型。

编译型:是将代码(源文件)通过编译器,编译成机器码文件,当运行的时候直接执行机器码文件,例如C语言;

解释型:是将源文件通过解释器,逐行进行翻译并运行

编译型和解释型语言各有优缺点:

  • 解释型:

缺点:执行慢
优点:可以跨平台(操作系统)

  • 编译型:

缺点:不能跨平台
优点:执行快

很显然,python是解析型语言,因为我们运行python的时候,Python 程序在执行时不需要预先编译成机器语言代码

什么是字面量

在代码中,被写下来的固定的值(数据),叫做字面量

简单点说就是代码写下来你就知道它是代表什么,比如10 代表整数  true 代表布尔类型等等;想python中的基本数据类型都可以看作是字面量

"abcd"
1
3.6

 python中的基本数据类型

数值型(Number)

# 1 数字类型 整数,浮点数,复数,布尔四个类型

# 定义一个整数

a = 100

#浮点数

b = 99.9

#复数(必须是以j结尾)

c=3+4j

#boolean类型

d = True

字符串(string)

# 2 字符串
#单引号
e = '6666'
#双引号
f = "8888"
#三引号  三引号也可以当多行注释来使用
g = """99999"""
#常用方法
# 获取字符串长度
print(len(f))
string = "  Hello, World!  "
print(string.strip())  # 输出:Hello, World!
string = "Hello, World!"
words = string.split(", ")
print(words)  # 输出:['Hello', 'World!']
list_val = ['www','baidu','com']
str_val = '.'.join(list_val)
print(str_val)  #   www.baidu.com

 字符串格式化(模板字符串)

# 三种常见的字符串的格式化 ,前二种开发中常用
# 1.%-formatting
name = 'Aaron'
login_time = 10
cost = 258.88
print('你好%s,欢迎登录!这是您登录的第%d次。您本次消费%.2f元' % (name,login_time,cost))
# 2.f-string
name = 'Aaron'
login_time = 10
cost = 258.8890
print(f'你好{name},欢迎登录!这是您登录的第{login_time}次。您本次消费{cost:.2f}元。')
# 3.str.format()
name = 'Aaron'
login_time = 10
cost = 258.8890
print('你好{},欢迎登录!这是您登录的第{}次。您本次消费{:.2f}元。'.format(name,login_time,cost))

列表(list)

类似于java中的arraylist集合

# 3 列表   类似于java的list集合  但python中没有泛型的概念
#定义一个空列表
h = []
i = list()
#定义一个有数据的列表
j = [666,888,'9999']
j.append(999)
# print(j)

元组(tuple)

# 4 元组   类似于java中的数组
#特点:1 不能直接修改元组的内容,否则直接报错 2 可以修改元组中列表的内容  3 元组只有一个数据,这个数据后面要添加逗号
#定义一个空原组
k = ()
l = tuple()
#定义非空元组
m = (6666,888,'999')
n = (66666,9999,[1,2,3])
n[2][0]=10
# print(n)

集合(set)

# 5 set  和java的set集合类似,无序不可重复
#定义一个空集合
p = set()
#定义一个有数据的集合
q = {666,888,999,666}
# print(q)
xxx = len(q)
# print(xxx)
print(max(q))
print(min(q))

字典(dictionary)

# 6 dict字典  与java中的map集合类似  key:value的结构
# 定义一个空字典
r = {}
s = dict()
#定义有数据的字典
t = {'name':'李四','age':18,'hobby':('篮球','跑步','听歌')}
t['gender'] = '男'
print(t)
print(t['name'])

 序列

# 7 序列  
# 特点:1 序列不是一种数据类型,而是一种特殊的数据结构  
#      2 序列是指:内容连续、有序,可使用下标索引的一类数据容器
#      3 列表、元组、字符串,均可以可以视为序列
# 得到列表序列的切片
# 序列[起始下标:结束下标:步长]
# 表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列
u =[1,2,3,4,5]
v = u[1:4]
# print(v)  #[2, 3, 4]
# 得到元组的序列切片
w = (1,2,3,4,5)
x = w[0:3]
print(x)  #(1, 2, 3)
# 得到字符串的切片
y = "123456"
z = y[3:-1]
print(z)  #45

变量

什么是变量

变量:在程序运行时,能储存计算结果或能表示值的抽象概念。

简单的说,变量就是在程序运行时,记录数据用的 

变量的格式

变量名  =  类型

python常用的内置函数 (重点)

print函数

结构:print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

 objects:要打印输出的数据

sep=' ':表示以引号内的内容作为分隔符,默认是空格

end='\n':用于控制是否换行,默认是换换行

file:必须是一个具有 write(string) 方法的对象;如果参数不存在或为 None,则将使用 sys.stdout

flush=False:输出是否缓存通常取决于 file,但如果 flush 关键字参数为 True,输出流会被强制刷新

 print后的括号中如果是数学表达式,则打印结果为表达式最终运算的结果

print(1+2+3+4+5)  #15
print(2*4)        #8

type()函数

我们可以通过type()语句来得到数据的类型

语法:type(被查看类型的数据)

 

运行结果

int函数,float函数,str函数

 类型转换注意事项:

1. 任何类型,都可以通过str(),转换成字符串

2. 字符串内必须真的是数字,才可以将字符串转换为数字

input()函数

• 使用 input() 语句可以从键盘获取输入

• 使用一个变量接收(存储) input 语句获取的键盘输入数据即可

 要注意,无论键盘输入什么类型的数据,获取到的数据永远都是字符串类型

name  = input("请输入你的名字:")
age = input('请输入你的年龄:')print(f'用户名: {name} 年龄: {age}')print(type(name))
print(type(age))

 

Python语句(重点)

判断语句

if语句

语法:

if   判断条件:

        执行语句

  • 当判断条件成立时,会执行执行语句的代码
  • 判断条件可以加括号也可以不加,但后面的冒号不能省略

if ....else....语句

 语法:

if 判断条件 :

        满足条件执行的语句

else:

        不满足条件执行的语句

• if 和其代码块,条件满足时执行

• else 搭配 if 的判断条件,当不满足的时候执行

 if elif else语句

 语法:

if 条件一:

    满足条件一的执行语句1

    满足条件一的执行语句2

    ...省略...

elif 条件二:

    满足条件二的执行语句1

    满足条件二的执行语句2

    ...省略...

elif 条件三:

    满足条件三的执行语句1

    满足条件三的执行语句2

    ...省略...

else:

    不满足条件的执行语句1

    不满足条件的执行语句2

    ...省略...

year = input("请输入一个年份: ")
year = int(year)if year % 4 == 0 and year % 100 != 0:print("%d 是一个普通闰年" %(year))
elif year % 400 == 0:print("%d 是世纪闰年" % (year))
else:print("%d 不是闰年" % (year))

 语句嵌套:

就是在if 语句里面也可以嵌套if..else..或者if ..elif...else,同理在if..else里面也可以嵌套if 和if ..elif...else

age = 18
university = None
total_score = 700
if age > 16:if total_score > 680:print('你可以选择c9大学')university = '北京大学'if university is None:print('很遗憾,你没有考上大学')else:print(f'恭喜你啦,成功考上了 {university}')elif total_score > 600:print('你有机会上211')elif total_score > 500:print('你有机会上一本')elif total_score > 380:print('你有机会上二本')else:print('很遗憾,你的选择很有限,只能上专科和技校')

Python的循环语句

while循环 (和java的用法几乎一样)

语法:

while 条件:

    执行语句1

    执行语句2

    ...省略...

  • 执行顺序: 判断条件   ——》 条件成立  -》 执行语句1 -》执行语句2 ->在重新判断条件
  •  每次进入循环后,将执行语句全部执行完毕后再次来到判断,如果条件依然成立,则继续进入循环,以此类推,直到条件不成立,跳出循环

注意:

• 条件需提供布尔类型结果, True 继续, False 停止

• 空格缩进不能忘

• 请规划好循环终止条件,否则将无限循环

 

for循环(用法和java有点区别)

语法:

for  临时变量  in 迭代数据集:

        执行语句

java版: for (int i = 0 ;i<100;i++){执行语句} 

迭代数据集可以只字符串,也可以列表,字典,元组等

# 打印99乘法表
for i  in range(1,10):for j in range(1,i+1):print(str(j)+"*"+str(i)+"="+str(i*j)+" ",end="\t")print()

 

continue

continue关键字用于:中断本次循环,直接进入下一次循环

continue可以用于:    for循环和while循环,效果一致

break

 可以直接跳出本次循环

函数(重点)

什么是函数?

函数其实就是一段为了实现特定功能且可以重复使用的代码块

语法

 def 函数名 (参数):

     函数体

     return 返回值

 注意:

  •  参数如不需要,可以省略
  •  返回值如不需要,可以省略
  •  函数必须先定义后使用
  • 如果函数没有定义返回值类型,默认返回None这个类型
# 定义函数
def sum(num1,num2):return num1+num2# 使用函数
print(sum(6,8))

 知识扩展:

Python中有一个特殊的字面量:None,其类型是:<class 'NoneType'>

无返回值的函数,实际上就是返回了:None这个字面量

None表示:空的、无实际意义的意思

函数返回的None,就表示,这个函数没有返回什么有意义的内容。

也就是返回了空的意思。

函数的说明文档

简单点说就是函数的说明文档,表明函数如何使用,有怎么左右,鼠标悬停时可以看到的内容

通过多行注释的形式,对函数进行说明解释

# 定义带说明文档的函数
def calculate(num1,num2,operation):"""num1: 数字1  (一个number类型)num2: 数字2  (一个number类型)operation: 字符串操作类型,支持  + - * / 这四种类型retuen: 返回一个计算结果"""result = Noneif operation == '+':result = num1+ num2if operation == '-':result = num1- num2if operation == '*':result = num1* num2if operation == '/':result = num1/ num2return resultprint(calculate(6,6,'-'))

 

 

变量的作用域(重点):

变量的作用域:简单说就是变量可以被访问的范

注意:变量的作用域这个其实是非常重点的,难度也不低,需要注意的地方很多,细节也很多,需要自己不断积累的;不管是哪一门编程语言,我们都应该对变量的访问范围有清晰的认知,这样我们才可以更好的掌控程序

局部变量

所谓局部变量是定义在函数体内部的变量,即只在函数体内部生效

局部变量的作用:在函数体内部,临时保存数据,即当函数调用完成后,则销毁局部变量

细节:python中有一个特点,就是定义在函数中的变量在整个函数内都是可以被访问到的,这个和java有点不一样,java的变量的访问范围受修饰符(publish,private...)和块决定

try{

int  xx = 100

// 可能会发生异常的逻辑 throw new Exception();

}

catch(IOException e){

       system.out.println(xx)   //在这里是无法访问xx的

// 发生IOException时,执行此代码块

}

全局变量

 所谓全局变量,指的是在函数体内、外都能生效的变量

在python中,全局变量其实就是定义在脚本最外层的变量(类似于java中的类属性)

 

 就近原则:当全局变量和局部变量发生冲突时,优先使用局部变量 

global 关键字

使用 global关键字 可以在函数内部声明变量为全局变量, 如下所示

 若不声明,则num = 100 因为: 当全局变量和局部变量发生冲突时,优先使用局部变量

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/75269.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/75269.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MD编辑器中的段落缩进怎么操作

在 Markdown&#xff08;MD&#xff09;编辑器中&#xff0c;段落的缩进通常可以通过 HTML 空格符、Markdown 列表缩进、代码块缩进等方式 实现。以下是几种常见的段落缩进方法&#xff1a; 1. 使用全角空格 ( ) 在一些 Markdown 编辑器&#xff08;如 Typora&#xff09;中&…

8.neo4j图数据库python操作

使用图数据库的原因 图数据库使用neo4j的原因&#xff1a;neo4j使用率高&#xff0c;模板好找&#xff0c;报错能查。 红楼梦人物关系图地址 GraphNavigator neo4j学习手册 https://www.w3cschool.cn/neo4j/neo4j_need_for_graph_databses.html CQL代表的是Cypher查询语言…

[Lc6_记忆化搜索] 扫雷游戏 | 理解 递归vs记忆化搜索vs dp

目录 ⭕1.扫雷游戏 题解 1.记忆化搜索 解法一&#xff1a;递归 解法二&#xff1a;记忆化搜索 解法三&#xff1a;动态规划 ⭕1.扫雷游戏 (暴力模拟&#xff09; 链接&#xff1a;529. 扫雷游戏 让我们一起来玩扫雷游戏&#xff01; 给你一个大小为 m x n 二维字符矩阵…

云原生周刊:Kubernetes v1.33 要来了

开源项目推荐 Tekton Tekton 是一个开源的 K8s 原生 CI/CD 系统&#xff0c;它为构建、测试和部署自动化工作流提供了强大而灵活的框架。Tekton 提供了一套标准化的 API 和自定义资源&#xff08;CRDs&#xff09;&#xff0c;使得开发者能够在 K8s 集群中定义和管理 CI/CD 管…

服务新增节点、迁移笔记

文章目录 基础配置部分基础配置-hosts基础配置-jdk包准备基础配置-jdk环境变量配置基础配置-skywalking包 基础配置-apollo配置。 # 文件夹及配置基础配置-tomcat基础配置-nginx基础配置部分-磁盘挂载(这个也差点漏掉)。 防火墙部分防火墙部分-数据库及脚本防火墙部分-redis防火…

第十一章:Python PIL库-图像处理

一、PIL库简介 PIL&#xff08;Python Imaging Library&#xff09;是一个功能强大的图像处理库&#xff0c;它提供了丰富的图像处理功能&#xff0c;包括图像的打开、处理和保存等操作。PIL支持多种图像文件格式&#xff0c;如JPEG、PNG、BMP等&#xff0c;并且可以完成对图像…

【编译、链接与构建详解】Makefile 与 CMakeLists 的作用

【编译、链接与构建详解】Makefile 与 CMakeLists 的作用 前言源代码&#xff08;.c、.cpp&#xff09;编译编译的本质编辑的结果编译器&#xff08;GCC、G、NVCC 等&#xff09; 目标文件&#xff08;.o&#xff09;什么是 .o 目标文件为什么单个 .o 目标文件不能直接执行&…

Ubuntu / Debian 创建快捷方式启动提权

简述 在 Linux 系统中&#xff0c;.desktop 文件是 桌面入口文件&#xff0c;用于在桌面环境&#xff08;如 GNOME、KDE&#xff09;中定义应用程序的启动方式、图标、名称等信息。当你执行 touch idea.desktop 时&#xff0c;实际上创建了一个空的 .desktop 文件&#xff08;…

ISIS报文

IS-IS 报文 目录 IS-IS 报文 一、报文类型与功能 二、报文结构解析 三、核心功能特性 四、典型应用场景 五、抓包数据分析 六、总结 IS-IS&#xff08;中间系统到中间系统&#xff09;协议报文是用于链路状态路由协议中网络设备间交换路由信息的关键载体&#xff0c;其设…

beikeshop多商户跨境电商独立站最新版v1.6.0版本源码

一.介绍 beikeshop跨境电商独立站最新版V1.6.0源码 多商户 多商家 多语言 多币结算 本博主亲测搭建代码全开源质量相对来说很稳定的 二.服务器环境 系统&#xff1a;CentOS、 环境&#xff1a;PHP7.4 Nginx 1.21 MySQL 5.6 常见插件&#xff1a;fileinfo &#xff1b; re…

Redis批量操作详解

一、原生批量命令&#xff08;MSET&#xff09; 适用场景&#xff1a;所有键的过期时间相同或无过期设置&#xff0c;且无需条件判断。 方法&#xff1a; 将多个SET命令合并为MSET命令&#xff0c;但需要注意MSET的局限性&#xff08;无法设置过期时间&#xff0c;且所有键值对…

Spring Boot 集成实战:AI 工具如何自动生成完整微服务模块

在数字化转型的浪潮中&#xff0c;开发效率和质量是企业竞争力的关键要素。飞算 JavaAI 作为一款创新的 AI 工具&#xff0c;能在 Spring Boot 开发中&#xff0c;自动生成完整微服务模块&#xff0c;极大提升开发效率。下面&#xff0c;我们就详细介绍如何借助飞算 JavaAI&…

算法 | 2024最新算法:斑翠鸟优化算法原理,公式,应用,算法改进研究综述,matlab代码

基于斑翠鸟优化算法的原理、应用及改进研究综述 一、算法原理 斑翠鸟优化算法(Pied Kingfisher Optimizer, PKO)是2024年由Bouaouda等人提出的一种新型仿生智能优化算法,其灵感来源于斑翠鸟的捕食行为与共生关系。算法通过模拟斑翠鸟的栖息悬停、潜水捕鱼及与其他生物的共生…

RabbitMQ高级特性--重试特性

目录 1.重试配置 2.配置交换机&队列 3.发送消息 4.消费消息 5. 运行程序观察结果 6. 手动确认 注意&#xff1a; 在消息传递过程中, 可能会遇到各种问题, 如网络故障, 服务不可用, 资源不足等, 这些问题可能导致消息处理失败. 为了解决这些问题, RabbitMQ 提供了重试机制, …

Vue 组件通信 - 中央事件总线

Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue组件通信 - 中央事件总线 目录 中央事件总线 图示 准备工作 设置页面元素 创建组件 总结 中央事件总线 使用vue的监听和触发来实现中央事件总线方式。 on监听 emit触发&#xff0c;组件按钮绑定点击事件&#xff0c…

5.0 WPF的基础介绍1-Grid,Stack,button

WPF: Window Presentation Foundation. WPF与WinForms的对比如下&#xff1a; 特性WinFormsWPF技术基础基于传统的GDI&#xff08;图形设备接口&#xff09;基于DirectX&#xff0c;支持硬件加速的矢量渲染UI设计方式拖拽控件事件驱动代码&#xff08;简单但局限&#xff09;…

QT软件设计可考虑回答

在Qt应用中是否引入抽象类需要根据具体场景权衡&#xff0c;以下是分层建议&#xff1a; 建议采用抽象类的3个典型场景&#xff1a; 传感器系统抽象&#xff08;强推荐&#xff09; class AbstractSensor { public:virtual ~AbstractSensor() default;virtual QVector<L…

pytorch学习(b站小土堆学习)

1 环境配置 参考链接 2. dir 和 help函数 dir()&#xff1a;用于查看某一模块函数的方法 help()&#xff1a; 用于查看某方法的使用方法 3. dataset类实战 利用Image对象打开图片&#xff0c;利用os模块的地址拼接组成图片路径 当我们用方括号访问元素对象时&#xff0c;…

Unity TextMeshPro 实现文本逐字淡出效果

Unity TextMeshPro 实现文本逐字淡出效果 前言项目思路场景布置代码编写 前言 在处理角色对话时经常会用到一些文本动画&#xff0c;正好记录一下。使用 TextMeshPro&#xff0c;我们可以直接操作文本的顶点数据&#xff0c;实现诸如渐变、动画等效果&#xff0c;为游戏界面和…

Mathtype无法插入到Word中

在word工具栏上有没有出现Mtahtype&#xff0c;会出现以下两种情况&#xff1a; 1. 没有出现Mtahtype 2. 出现Mtahtype&#xff0c;但是点击会出现弹窗 “ Couldnt find the MathPage.wll ” 解决方案 首先查看word版本是32位还是64位&#xff0c;这个位数是office安装位数…