Python 基础入门

给我家憨憨写的python教程

——雁丘

Python解释器Pycharm的安装部署

  • 关于本专栏
  • 一 Python简介
    • 1.1 Python优点
    • 1.2 支持的编程方式
    • 1.3 版本兼容问题
    • 1.4 Python的开发环境
      • 1.4.1 常用的 Python 编辑器
      • 1.4.2 常用的 Python IDE
      • 1.4.3 Python IDLE
      • 1.4.4 第三方库安装
    • 1.5 Python 的运行方式
      • 1.5.1 Shell 交互方式
      • 1.5.2 文件执行方式
  • 二 Python 基础语法
    • 2.1 Python 的基本构成
    • 2.2 变量
      • 2.2.1 对象的属性
      • 2.2.3 变量名的命名规则
      • 2.2.4 变量的使用
      • 2.2.4 对象的管理
    • 2.3 Python 的语句风格
      • 2.3.1 行与缩进
      • 2.3.2 赋值
    • 2.4 注释
  • 三 Python 数据类型基础
    • 3.1 数据类型总表
    • 3.2 非二进制数的表示
    • 3.3 数字类型Number
      • 3.3.1 整型(int)
      • 3.3.2 布尔型(bool)
      • 3.3.3 浮点型(float)
      • 3.3.4 复数型(complex)
    • 3.4 序列(Array)
      • 3.4.1 字符串(String)
      • 3.4.2 列表(List)
      • 3.4.3 元组(Tuple)
      • 3.4.4 对象(Range)
    • 3.5 映射(Mapping)/字典(Dictionary)
    • 3.6 数据类型转换

关于本专栏

关于Python安装与环境变量配置请查看本专栏文章Python安装与环境变量配置傻瓜式教程(2023年9月)

关于Pycharm的安装部署和基本使用请查看本专栏文章Python解释器和Pycharm的傻瓜式安装部署

一 Python简介

1.1 Python优点

适用面广、简单易学、开发效率高

1.2 支持的编程方式

支持面向对象、面向函数、函数式编程等多种编程方式,同时还是一种胶水语言,很容易与其他主流设计语言混合编程

1.3 版本兼容问题

  1. Python3不兼容Python2,因为有重要的修正。比如Python3中3/4=0.75而不是0,所有的字符串都是Unicode字符串等
  2. Python 3.9+版本不能在Windows 7或更早版本上使用。

1.4 Python的开发环境

Python 开发环境通常包括两类:Python 编辑器集成开发环境(integrated development environment.IDE)

1.4.1 常用的 Python 编辑器

常用的 Python 编辑器有 Sublime TextVisual Studio Code等,它们首先需要安装好基本的 Python 运行环境,一般都具有自动补全和智能提示等编辑和调试功能。
小巧,定制方便,但功能相对简单。

1.4.2 常用的 Python IDE

Python IDE 如 PyCharmAnaconda 等则功能更丰富,不仅包含基本的 Python 运行环境和编辑器,一般还具有项目管理和版本控制等功能,通常还预装了某些扩展库、文档和教程,可省去安装模块和寻找使用帮助的麻烦。

Anaconda集成了大量流行的科学计算和数据分析第三方库,推荐新手和专供数据处理的人使用

1.4.3 Python IDLE

IDLE是 Python 官方内置的一个简单小巧的 IDE。它包含了编辑器、交互式命令行和调试器等基本组件,可以应付大多数 Python 的简单应用开发。在 Python 官网提供了多个操作系统下的IDLE 安装包。

1.4.4 第三方库安装

可以在 PyPI 页面上搜索和安装、发布 Python 第三方库(模块)
安装其中的第三方库官方推荐使用Python 库管理工具 pip,只要将第三方库下载到本地然后进行安装即可。
举例
安装安卓自动测试库atx,步骤为:

  1. Python 官网下载文件 get-pip.py(目前 Python IDE 中一般都预装了 pip,不需要另外载和安装,直接使用第3步安装即可)
  2. 在命令提示符方式下运行如下命令安装 pip。
python get-pip. py

3 使用 pip 安装 atx 第三方库。

pip install atx

在这里插入图片描述

1.5 Python 的运行方式

无论哪种方式,实质上都是解释执行,代码较短或较多交互操作优先 Shell 交互方式 ;代码较长优先文件执行方式

1.5.1 Shell 交互方式

每输入一条命令就执行,常见于命令提示符和 Python 编辑器
在这里插入图片描述

1.5.2 文件执行方式

创建一个扩展名为.py的文件,每次保存后整体运行
在这里插入图片描述

二 Python 基础语法

2.1 Python 的基本构成

变量表达式语句是 Python 程序的基本要素

2.2 变量

Python 中的变量(variable)是用来标识对象或引用对象的。Python 作为一种面向对象的编程语言,它的实例、函数、方法、类都是对象。

2.2.1 对象的属性

所有的 Python 对象都拥有三个属性,即身份类型

  1. 对象有唯一的身份用于标识自己,可以使用内建函数 id(指向对象的变量)来得到这个身份标识。
  2. 类型决定了该对象可以保存什么类型的值和进行怎样的操作等,可以用内建函数type()查看Python 对象的类型。

2.2.3 变量名的命名规则

Python 中变量名的命名规则也与大多数程序设计语言一样遵循标识符命名规则:

  • 首字符必须字母或下划线
  • 其余字符可以是字母、下划线或是数字
  • 区分大小写

2.2.4 变量的使用

Python 无需声明变量的类型,在第一次赋值由值自动确定变量的类型在这里插入图片描述
在这里插入图片描述

2.2.4 对象的管理

对于内存中的对象 Python 会采用一种称为“引用计数”的方式进行管理
当对象被赋给某个变量时,该变量计数器+1
当计数器为0时,该对象的内存空间被回收

a = 1.2 ; b = 1.2 # 此时a ,b 的id不同
a = 1.2 ; b = a # 此时a ,b 的id相同

但注意,对于小整数[ -5 , 256 ]和仅包含数字、字母和下划线的常量字符串 Python 会缓存和重用,即上述两种情况id均相同
一个函数内部相同的不可变对象id也相同

2.3 Python 的语句风格

2.3.1 行与缩进

  1. 语句出现缩进表示语句块的开始,退出缩进表示语句块的结束
for number in numprog = prog * number
print ('the prog is:',prog)
  1. Python 可以把多个语句写在一行,但需要用分号;隔开,或者换行
  2. 一行长语句可以换行写,但需加上续行符\
  3. 小括号、中括号、花括号、三引号内部可以多行书写且无需续行符

2.3.2 赋值

1.+-*/常规赋值
2. +=-=*=/=%=**=<<=>>=&=^=|=增量赋值

m /= 5   # 相当 m = m / 5
  1. 支持链式赋值
b = a = a + 1  # 相当 a = a + 1 ,b = a
  1. 支持多重复制
a , b =1 , 2
( a , b ) = ( 1 , 2 )

2.4 注释

# 单行注释'''
这是多行注释
'''
  1. #号和注释内容一般建议以一个空格隔开,一般用于单行代码的注释
  2. 单行注释可以嵌套一行的多行注释
  3. 多行注释可以嵌套单行注释
#  ''' 多行注释''''''
# 单行注释
'''

三 Python 数据类型基础

变量没有类型,数据才有类型
如何查看数据类型,通过内置函数type()

type(变量名或数据)

3.1 数据类型总表

Python 数据类型
类型描述举例
数字Number整型(Int)10,-10
浮点型(Float)3.14159,-3.14159
复数型(Complex)5j,(6+3j)
布尔型(Bool)True,False
序列Array字符串String用以存储文本'yanqiu'、"ayu"、'''ahao'''
列表List有序的可变序列[ 1 , 'yanqiu' , 4 ]
元组Tuple有序的不可变数列( 1 , 'yanqiu' , 4 )
对象Range有规律的整数数列range(1,11)
集合Set无序的不重复集合set_a = {'apple', 'banana', 'cherry'}
映射Mapping字典Dictionary无序Key-Value集合favorite_language = { 'jen': 'python', 'phil': 'python'}

3.2 非二进制数的表示

非二进制数的表示
进制举例
二进制0b10
八进制0b10
十六进制0x10

3.3 数字类型Number

3.3.1 整型(int)

>>> a=3
>>>type(a)
<class'int'>
>>>type(-8)
<class'int'>

在 Python3之后,不再严格区分intlong(长整型)

3.3.2 布尔型(bool)

>>> a=True
>>>type(a)
<class'bool'>
>>>int(a)
1
>>>int(False)
0

bool实质是用0、1存储的,True对应1,False对应0,可以用内置函数int()返回布尔型变量的整型值
元素除了是 0、空、False、None外 都算 True;

3.3.3 浮点型(float)

>>> 3.22
3.22
>>>9.8e3
9800
>>> type(-0.48e-2)
<class'float'> 

3.3.4 复数型(complex)

>>> 3+5j
(3+5j)
>>>4j
4j
>>> type(3+5j)
<class'complex'> 

特别地,为了保证数是虚数,0j前的0不能省略

3.4 序列(Array)

这里仅简单介绍,详细的使用方法参见本系列下篇

3.4.1 字符串(String)

字符串(string)用引号引起来的字符集合。字符串创建后不可变,在 Python 中可以使用单引号、双引号、三引号表示字符串。例如:

>>> myStringl = 'Hello, World!'
>>> myString2 = "Hello, World!"
>>>> myString3 = '''Hello, World! '''  #用 print()函数输出这 3个字符串变量的结果都是
"Hello,World!"
"Hello,World!"
"Hello,World!"

单个元素通过索引来访问,索引值从0开始
多个字符通过切片操作来访问。

>>> myStringl[ 0]
'H'

3.4.2 列表(List)

列表是 Python 中有特色的经典数据类型。列表与字符串一样也是序列类型,但是列表是可变的容器。

与传统的数组相比,列表可以存储不同类型的数据对象

列表也同样支持索引和切片操作。

>>> aList = [ 1, 'Maths ', 88]
>>> aList
[1,'Maths',88]
>>> aList[2] = 90  # 改变了索引值为2的元素的值
>>>> aList
[1, ' Maths ',90]

3.4.3 元组(Tuple)

元组列表有很多相似的地方,它们都可以存储不同类型的数据对象,都支持索引和切片操作等。但元组是不可变的

>>> aTuple = (1,'Maths',88)
>>> aTuple
(1,'Maths',88)
>>> aTuple[2] = 90 # 在元组中试图改变元素值会报错Traceback ( most recent call last) :File " <pyshell#1>" , line 1, in <module>aTuple[2] = 90TypeError: 'tuple' object does not support item assignmen

3.4.4 对象(Range)

Python 中使用range()函数生成一个不可变的 range 对象,一个有规律的整数序列。例如

>>> list( range( 1, 11) )
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

range()函数常常用在 for 循环中

3.5 映射(Mapping)/字典(Dictionary)

字典是 Python 中唯一的一种映射类型。字典中每一个元素都由一个和一个构成的键值对组成。

使用不可变对象作为键,常见的是使用字符串作为键去索引一个值

>>> aDict = {'sine ': ' sin ', ' cosine ': ' cos ', ' PI': 3. 14159}

字典通过键来访问值

>>> aDict[' sine ']
'sin '
# 通过键'sine'得到值'sin'。

3.6 数据类型转换

数据类型之间,在特定的场景下,是可以相互转换的,如字符串转数字、数字转字符串等,由于 Python 是一种强类型的语言,所以在运算中变量类型不能自动转换

  1. 格式:语句(函数)
int(x)  # 将x转换为一个整数
float(x) # 将x转换为一个浮点数
str(x)   # 将x转换为字符串
  1. 浮点数转整数丢失小数部分

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

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

相关文章

【云服务器开放端口详细教程~来了】

你不知道我真的会哭 云服务器开放端口详细教程来了 前言 一、常见云服务器端口的认识 ● 云服务器端口一般是指 TCP/IP 协议中的端口&#xff0c;端口号的范围从 0 到 65535&#xff0c;比如用于浏览网页服务的 80 端口&#xff0c;用于 FTP 服务的 21 端口等等。 ● 当一…

基于GBDT+Tkinter+穷举法按排队时间预测最优路径的智能导航推荐系统——机器学习算法应用(含Python工程源码)+数据集(一)

目录 前言总体设计系统整体结构图系统流程图 运行环境Python环境Pycharm 环境Scikit-learnt 模块实现1. 数据预处理1&#xff09;加载数据集2&#xff09;时间划分与保存3&#xff09;处理天气预报数据4&#xff09;增加特征5&#xff09;合并特征值 相关其它博客工程源代码下载…

【Vue入门】语法 —— 插值、指令、过滤器、计算属性、监听器

目录 一、模版语法 1.1 插值 1.1.1 文本 1.1.2 html解析 1.1.3 属性 1.1.4 表达式 1.2 指令 1.2.1 核心指令 1.2.3 动态参数 二、过滤器 2.1 局部过滤器 2.2 全局过滤器 三、计算属性 四、监听器 五、排座案例 小结&#xff1a;计算属性和监听属性的区别 一、模…

无涯教程-JavaScript - RAND函数

描述 RAND函数返回大于或等于0且小于1的均匀分布的随机实数。每次计算工作表时,都会返回一个新的随机实数。 语法 RAND ()争论 RAND函数没有参数。 Notes 您可以在a和b之间生成一个随机实数,其中 RAND ()*(b-a)a 如果要使用RAND生成随机数,但又不想每次计算单元格时都更改…

Android.bp常用语法和预定义属性

介绍 Android.bp是Android构建系统中用于定义模块和构建规则的配置文件&#xff0c;它使用一种简单的声明式语法。以下是Android.bp的一些常见语法规则和约定&#xff1a; 注释&#xff1a; 单行注释使用//符号。 多行注释使用/和/包围。 和go语言相同 // 这是单行注释 /* 这是…

开源分布式存储系统(HDFS、Ceph)架构分析

文章目录 中间控制节点架构-HDFSNameNode节点分析DataNode节点分析SecondNameNode节点分析Client分析 完全无中心架构-CephCeph Monitor分析Ceph OSD分析Ceph Manager分析Ceph Clients分析 小结HDFS优点缺点 Ceph优点缺点 参考 中间控制节点架构-HDFS 以HDFS&#xff08; Hado…

无涯教程-JavaScript - RADIANS函数

描述 RADIANS函数将度数转换为弧度。度和弧度之间的转换是通过以下关系式计算的 180度π弧度 其中π是数学常数,PI3.14159265358979 ... 语法 RADIANS (angle)争论 Argument描述Required/OptionalAngleAn angle in degrees that you want to convert.Required 适用性 E…

Linux 信号相关

int kill(pid_t pid, int sig); -功能&#xff1a;给某个进程pid 发送某个信号 参数sig可以使用宏值或者和它对应的编号 参数pid&#xff1a; >0 &#xff1b;将信号发给指定的进程 0&#xff1b;将信号发送给当前的进程组 -1&#xff1b;发送给每一个有权限接受这个信号的…

C数据结构二.练习题

一.求级数和 2.求最大子序列问题:设给定一个整数序列 ai.az..,a,(可能有负数).设计一个穷举算法,求a 的最大值。例如,对于序列 A {1,-1,1,-1,-1,1,1,1,1.1,-1,-1.1,-1,1,-1},子序列 A[5..9](1,1,1,1,1)具有最大值5 3.设有两个正整数 m 和n,编写一个算法 gcd(m,n),求它们的最大公…

Linux static_key原理与应用

文章目录 背景1. static-key的使用方法1.1. static-key定义1.2 初始化1.3 条件判断1.4 修改判断条件 2、示例代码参考链接 背景 内核中有很多判断条件在正常情况下的结果都是固定的&#xff0c;除非极其罕见的场景才会改变&#xff0c;通常单个的这种判断的代价很低可以忽略&a…

ipad录屏在哪?学会这些方法,轻松找到录屏功能

随着科技的不断发展&#xff0c;ipad已经成为人们日常生活中不可或缺的工具之一&#xff0c;它不仅能够帮助我们处理各种任务&#xff0c;还可以用来记录和分享有趣的瞬间。在本篇文章中&#xff0c;我们将详细介绍ipad录屏在哪里&#xff0c;为您提供更多录制和编辑视频的可能…

【LeetCode热题100】--15.三数之和

15.三数之和 注意&#xff1a;最后答案中不能包含重复的三元组 使用排序双指针 可以使用三重循环枚举三元组&#xff0c;但是需要哈希表进行去重操作&#xff0c;得到不包含重复三元组的最终答案&#xff0c;消耗量大量的时间和空间 对于不重复的本质&#xff0c;保持三重循环…