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.rhkb.cn/news/136072.html

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

相关文章

2023年8月知识复习

物联网总括 物联网即通过网络将客观事物进行智能化互联的网络系统。互联网主要是人与人、人与计算机之间的通信&#xff0c;而物联网主要是物联网设备之间的通信。 注意&#xff1a;数据上传到云端不是物联网的必要条件。物联网可以仅在本地网络和局域网中进行通信和数据处理…

机器学习练习-决策树

机器学习练习-决策树 代码更新地址&#xff1a;https://github.com/fengdu78/WZU-machine-learning-course 代码修改并注释&#xff1a;黄海广&#xff0c;haiguang2000wzu.edu.cn 1&#xff0e;分类决策树模型是表示基于特征对实例进行分类的树形结构。决策树可以转换成一个if…

Docker的基本操作

Docker的基本操作 操作常见指令 # 推送镜像到服务 docker push # 从服务拉去镜像 docker pull # 构建镜像 docker build # 保存镜像为一个压缩包 docker save # 加载镜像 docker load镜像加载、删除等 拉取nginx docker pull nginx查看镜像 docker images # 只查看id doc…

SpringBoot2.0(mybatis-plus常见的增删改查和分页)

目录 一&#xff0c;mybatis-plus常见注解二&#xff0c;创建一个工具类和启动类三&#xff0c;创建实体类四&#xff0c;创建mapper接口五&#xff0c;创建service接口和impl类六&#xff0c;创建配置类七&#xff0c;创建controller八&#xff0c;使用测试工具测试增删改查和…

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),求它们的最大公…

在JavaScript中,什么是尾递归优化(tail call optimization)?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 尾递归优化&#xff08;Tail Call Optimization&#xff09;⭐ 递归和调用栈⭐ 尾递归⭐ 尾递归优化的好处⭐ JavaScript的尾递归优化支持⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链…

Android只需要一分钟生产1到1000的dimens.xml中带命名尺寸

先上效果图&#xff1a;一分钟实现下面的效果&#xff01; 下面是教程&#xff1a; 1、使用下面的方法&#xff1a; private val listDpDimen arrayListOf<String>()private fun initDimen() {listDpDimen.clear()for (i in 1..1000) {val s "<dimen name\&qu…

微服务保护-授权规则/规则持久化

授权规则 基本规则 授权规则可以对调用方的来源做控制&#xff0c;有白名单和黑名单两种方式。 白名单&#xff1a;来源&#xff08;origin&#xff09;在白名单内的调用者允许访问 黑名单&#xff1a;来源&#xff08;origin&#xff09;在黑名单内的调用者不允许访问 点…

科技资讯|苹果虚拟纸可在Vision Pro中为广告、书籍等提供MR内容和动画

近日&#xff0c;美国专利商标局正式授予苹果一项与虚拟纸张相关的专利。这是与虚拟纸张这项发明相关的第二项专利&#xff0c;鉴于苹果 Vision Pro 将于明年上市&#xff0c;那么我们离苹果实现虚拟纸张的发明又近了一步。 虚拟纸张将能够包含 2D、3D 和动画等 MR内容&#…

python使用SMTP发送邮件

SMTP是发送邮件的协议&#xff0c;Python内置对SMTP的支持&#xff0c;可以发送纯文本邮件、HTML邮件以及带附件的邮件。 Python对SMTP支持有smtplib和email两个模块&#xff0c;email负责构造邮件&#xff0c;smtplib负责发送邮件。 首先&#xff0c;我们来构造一个最简单的…

2、ARM处理器概论

一、ARM处理器概述 1、ARM的含义 ARM&#xff08;Advanced RISC Machines&#xff09;有三种含义&#xff0c;一个公司的名称、一类处理器的通称、一种技术 ARM公司&#xff1a; 成立于1990年11月&#xff0c;前身为Acorn计算机公司主要设计ARM系列RISC处理器内核授权ARM内…

Linux安装kafka-manager

相关链接https://github.com/yahoo/kafka-manager/releases kafka-manager-2.0.0.2下载地址 百度云链接&#xff1a;https://pan.baidu.com/s/1XinGcwpXU9YBF46qkrKS_A 提取码&#xff1a;tzvg 一、安装部署 1.把kafka-manager-2.0.0.2.zip拷贝到目录 /opt/app/elk 2.解压…

上四休三,未来的期许

近日“少上一天班&#xff0c;究竟香不香”引发关注&#xff0c;英国媒体2月21日报道&#xff0c;一项全世界目前为止参加人数最多的“四天工作制”试验&#xff0c;不久前在英国取得了成功。很多人表示上过四天班之后&#xff0c;给多少钱也回不去五天班的时代了。 来百度APP畅…

three.js——GUI的使用

GUI的使用 效果图1、导入gui2、创建一个GUI对象3、通过gui调用方法 name:按钮的名称 效果图 1、导入gui // 导入ligui import { GUI } from three/examples/jsm/libs/lil-gui.module.min.js2、创建一个GUI对象 const gui new GUI()3、通过gui调用方法 name:按钮的名称 // 创…

【Java 基础篇】Java标准输入流详解:读取用户输入的完整指南

Java是一门流行的编程语言&#xff0c;常用于开发各种类型的应用程序&#xff0c;包括控制台应用、桌面应用、Web应用等。在这些应用中&#xff0c;与用户进行交互是一项重要的任务。本文将重点介绍Java标准输入流&#xff0c;它是Java程序中用于从用户获取输入的关键组成部分。…

Python变量

变量声明 变量的使用过程一般需要经过声明、初始化和赋值&#xff0c;而Python 是(动态类型语言)解释型脚本语言&#xff0c;不需要编译&#xff0c;即不需要预先声明变量的类型&#xff0c;拿过来就能用。 Python属于解释型脚本语言&#xff0c;不需要编译&#xff0c;变量也不…

利用Pycharm将python程序打包为exe文件(亲测可用)

最近做了一个关于py的小项目&#xff0c;对利用Pycharm将python文件打包为exe文件不是很熟悉&#xff0c;故学习记录之。 目录 一、下载pyinstaller库 二、打开Pycharm进行打包&#xff08;不更改图标&#xff09; 三、打开Pycharm进行打包&#xff08;更改图标&#xff09…

常见入门级进销存系统合集

进销存系统是企业管理中不可或缺的一环&#xff0c;它们可以帮助企业有效管理库存、销售和采购等关键业务。然而&#xff0c;对于初创企业和小型企业来说&#xff0c;选择一个合适的进销存系统可能是一项挑战。在这篇文章中&#xff0c;我们将探讨入门级和资深级进销存系统之间…

递归视角下

def listSum(numbers): if not numbers: return 0 else: (f, rest) numbers return f listSum(rest)myList (1, (2, (3, (4,None))))total listSum(myList)print(total) while循环何时退出&#xff1f; 恐怕是while循环技巧所在&#xff0c;即选择恰…

Linux学习之Redis集群部署

Redis集群部署 准备集群环境 创建集群 # 准备集群环境--配置192.168.88.51(host51) [rootlocalhost ~]# yum install -y redis [roothost51 ~]# vim /etc/redis.conf bind 192.168.88.51 cluster-enabled yes cluster-config-file nodes-6379.conf cluster-node-timeout 5000…