Python学习 —— 初步认知
写在前面
Python是一种流行的高级编程语言,具有简单易学、代码可读性高、应用广泛等优势。它是一种解释型语言,可以直接在终端或集成开发环境(IDE)中运行,而无需事先编译。
Python的安装
Python的安装过程非常简单。首先,你可以从Python的官方网站(https://www.python.org)下载安装包。根据操作系统的不同,你需要选择相应的安装包。一般来说,64位的系统选择“Windows installer”下载,32位的系统选择“Windows x86 installer”下载。
下载完成后,双击安装包开始安装。你可以选择自定义安装,将Python添加到系统环境变量中。记得在“Add Python to PATH”选项中打勾,以便在命令行中直接运行Python。
Python开发环境
搭建Python开发环境,你需要一款合适的代码编辑器和一个Python解释器。VS Code是一款轻量级但功能强大的代码编辑器,它支持多种编程语言,包括Python。
VS Code编辑器
首先,你需要从VS Code官网(https://code.visualstudio.com)下载并安装VS Code编辑器。安装完成后,打开VS Code,在右下角可以找到“Python”插件,点击“Install”进行安装。
Python插件管理器
VS Code中的Python插件管理器可以方便地管理你的Python插件。打开VS Code,在左侧工具栏找到“Extensions”(扩展)图标,点击后在搜索框中输入“Python”,选择“Python”插件进行安装。
Python解释器
在安装Python插件后,VS Code会自动为你配置Python解释器。你可以在VS Code的左下角查看当前使用的Python解释器版本。如果你的VS Code中没有显示Python解释器,可以依次点击“File” -> “Preferences” -> “Settings”,在搜索框中输入“python”,然后在“Python”设置项中检查“Python:Default Interpreter”选项是否已经配置了Python解释器。
输入输出
首先,我们需要明确一下输入的方式。根据输入设备的不同,输入可以分为两类:
- 物理设备:键盘、鼠标、传感器、雷达和摄像头等。这些设备可以通过相应的接口与计算机连接,从而将用户的行为转化为电信号输入到计算机中。
- 逻辑概念:终端、文件、程序和可视化窗口等。这些概念性的事物通过程序代码来实现输入操作。
如何输入
接下来,我们介绍如何使用 Python 输入代码。有两种方式可以实现 Python 代码的输入:
- 交互式模式输入:在终端或命令行界面中输入代码并执行。这种方式可以实现边输入边执行的效果,适合于对代码进行调试和测试。
- 非交互式模式输入:将代码写在一个文件中,通过 Python 解释器执行该文件。这种方式适合于批量执行代码或者在自动化脚本中运行代码。
例如,我们可以将以下代码保存在一个名为“input.py”的文件中:var1 = "Hello"
var2 = "World"
print(var1)
print(var2)
然后在终端中运行该脚本,即可看到输出结果
如何输出
Input()、print()是python中的内置函数
变量
在Python中,我们可以使用赋值操作符(=)来为变量赋值。比如,我们可以使用input()函数获取用户输入的文本,并将其赋值给一个名为text的变量:
text = input()
在这个例子中,我们使用input()函数来获取用户输入的内容,并将其赋值给名为text的变量。这样,我们就可以在程序中使用这个变量来表示用户输入的文本了。
除了使用input()函数输入外,我们也可以直接为变量赋值。比如,我们可以将一个整数赋值给一个名为x的变量,将一个字符串赋值给一个名为y的变量:
x = 1
y = 'abc'
在这个例子中,我们将整数1和字符串'abc'分别赋值给了变量x和y。这样,我们就可以在程序中使用这些变量来表示这些值了。
有时候,我们还可以使用多个赋值语句一次性为多个变量赋值。比如,我们可以使用以下代码同时为三个变量a、b、c赋值:
a, b, c = 1, 2, 3
在这个例子中,我们将整数1、2、3分别赋值给了变量a、b、c。这样,我们就可以在程序中使用这些变量来表示这些值了。
另外,我们还可以将多个变量赋值给同一个值。比如,我们可以使用以下代码将变量x、y、z同时赋值为整数3:
x = y = z = 3
在这个例子中,我们将整数3分别赋值给了变量x、y、z。这样,我们就可以在程序中使用这些变量来表示这个值了。
变量的命名规范
合法的变量命名规则:
变量命名要遵循以下规则:
变量名只能由字母、数字和下划线组成,且必须以字母或下划线开头;
变量名不能包含空格,可以用“_”来连接多个单词,使其更易读;
变量名不应与Python的内置关键字冲突,如False,None,True,and,break,class,continue等。
学习变量命名规范的重要性:
当代码行数增多时,有意义的变量名可以帮助你和其他人更快地理解代码逻辑;
通过规范化的变量名来区分不同的变量和其代表的实体,如函数、类等;
正确的变量命名可以降低程序出错的概率。
好的命名习惯:
变量名应简短明了;
变量名应具有描述性,能够清晰表达变量的含义;
大小写敏感,多个单词用下划线“_”连接;
应尽量避免使用不常用的字符或中文。
Python中的关键字:
await
、else
、import
、pass
、break
、except
、in
、raise
、class
、finally
、is
、return
、and
、continue
、for
、lambda
、try
、del
、global
、not
、with
、elif
、if
、or
、yield
。
字符串
字符串是如何定义的
在Python中,字符串可以通过以下方式定义:
- 使用单引号:只需在字符之间添加单引号即可定义一个字符串。
- 使用双引号:您也可以使用双引号来定义字符串。
- 使用三重引号:还可以通过在字符串前后添加三个单引号或三个双引号来定义多行字符串。
# 单引号定义字符串
s1 = 'hello'
# 双引号定义字符串
s2 = "world"
# 三重引号定义多行字符串
s3 = '''This is a
multi-line
string.'''
如何对字符串进行操作
成员运算
使用 in
和 not in
来检查一个值是否存在于字符串中。
s = 'hello'
print('e' in s) # 输出: True
print('x' not in s) # 输出: True
连接运算
使用 +
运算符连接两个字符串,也可以使用乘法运算符 *
来重复字符串。
s1 = 'hello'
s2 = 'world'
print(s1 + ' ' + s2) # 输出: hello world
print(s1 * 3) # 输出: hello hello hello
切片运算
使用切片可以获取字符串的某一部分或以某种步长进行截取。
s = 'hello world'
print(s[0]) # 输出: h
print(s[1:5]) # 输出: ello
print(s[3:9:2]) # 输出: llo
在字符串中使用变量
在字符串中插入变量的值,可以使用 f-strings
,需要Python 3.6及以上的版本。
name = 'Alice'
print(f"Hello, {name}") # 输出: Hello, Alice
字符串的常用方法
str.count(sub[, start[, end]])
返回子字符串 sub 在 [start, end] 范围内非重叠出现的次数。
s = 'hello world'
print(s.count('l')) # 输出: 3
str.isalnum()
如果字符串中的所有字符都是字母或数字,且至少有一个字符,那么返回 True,否则返回 False。
s = 'hello123'
print(s.isalnum()) # 输出: True
str.isalpha()
如果字符串中的所有字符都是字母,且至少有一个字符,那么返回 True,否则返回 False。
s = 'hello'
print(s.isalpha()) # 输出: True
str.join(iterable)
返回一个由 iterable 中的字符串拼接而成的字符串。
s = ['hello', 'world']
print(' '.join(s)) # 输出: hello world
str.split(sep=None, maxsplit=-1)
返回一个由字符串以指定的 sep
开始,到 maxsplit
个分隔符或到末尾为止分割成的列表。默认分隔符是任何空白字符。当 sep
为 None
时,使用空格进行分割。 maxsplit
为一个非负整数,表示最大的分割次数。如果 maxsplit
大于0,它将在最少的 maxsplit
次数的分隔符处进行分割。如果 maxsplit
为 -1 或省略,表示分割所有可能的子串。结果是一个列表,包含按指定分隔符分割的子串。如果没有找到分隔符或 maxsplit
为0,则返回一个包含单个元素的列表,其中包含原始字符串。当 sep
为 None
时,空字符串(不包含任何分隔符)被视为分隔符。如果 sep
为 None
且 maxsplit
为 -1,则除了保留最后的分隔符之外,还将保留所有分隔符。如果 sep
为 None
且 maxsplit
大于0,则除了保留最后的分隔符之外,还将保留所有分隔与 maxsplit
次数的分隔符。如果 sep
为 None
且 maxsplit
为0或省略,则不会保留最后的分隔符。如果 sep
为 None
且 maxsplit
为1或省略且没有分隔符,则返回原始字符串。如果 sep
为 None
且 max
数字
在Python中,数字类型经常被用于数学计算和数据处理。Python的数字类型包括整数、浮点数和复数。这些数字类型可以由字面量或内置函数与运算符的结果创建。
强制类型转换
Python是一种强类型语言,意味着一旦一个变量被赋予某种类型,就不能再自动转换为其他类型。如果你需要将一个数字从一种类型转换为另一种类型,可以使用内置的int()
、float()
函数进行转换。
转换函数可以用于将数字从一种类型转换为另一种类型,例如:
makefile
x = 10 # 整数
y = 3.14 # 浮点数
z1 = int(y) # 将浮点数转为整数
z2 = float(x) # 将整数转为浮点数
字符串与数字的互相转换
Python提供了内置函数 str()
和 int()
以及 float()
,可以将数字转换为字符串或者将字符串转换为数字。
例如:
x = 10 # 整数
y = str(x) # 将整数转为字符串
print(y) # 输出:"10"
z = int('10') # 将含有整数的字符串转为整数
print(z) # 输出:10
如果字符串不能被解析为整数,int()函数会报错。
数字类型的常见运算
Python中的数字类型支持多种运算,包括加法、减法、乘法、除法等。以下是一些常见的表达式:
x = 10 # 整数
y = 3.14 # 浮点数
# 加法
print(x + y) # 输出:13.14
# 减法
print(x - y) # 输出:6.86
# 乘法
print(x * y) # 输出:31.4
# 除法
print(x / y) # 输出:3.13999999999999995
此外,还有整除(//)、取模(%)等运算:
# 整除(//)
print(x // y) # 输出:3.0000000000000004
# 取模(%)
print(x % y) # 输出:2.1400000000000001
此外,Python还支持一元负号、正号运算符以及abs()
、int()
、float()
、complex()
等内置函数,这些函数可以让你对数字进行更为复杂的运算。
例如,abs(x)函数返回x的绝对值,而int(x)和float(x)函数可以将x转换为整数或浮点数。如果你需要创建一个复数,可以使用complex(re, im)函数,其中re和im分别代表实部和虚部。
此外,divmod()函数返回一个元组,其中包含x除以y的商和余数。pow(x, y)和x ** y函数可以用来计算x的y次幂。如果你需要求一个复数的共轭,可以使用c.conjugate()函数。
字符串与数字的使用
数据类型在编程中十分重要,不同的数据类型有着不同的属性和用法。
Python是强类型语言,这些语言要求程序员在定义变量时必须指定数据类型。比如:
a = 10 # 整数类型
b = "hello" # 字符串类型
一旦确定了数据类型,就不能够随意更改。比如:
a = 10 # 整数类型
b = "hello" # 字符串类型
c = a + b # 这行代码会报错,因为无法将字符串和整数相加
在强类型语言中,如果想要将不同类型的数据进行操作,就需要进行显式的数据类型转换。比如:
a = 10 # 整数类型
b = "10" # 字符串类型
c = int(b) # 将字符串转换为整数
d = a + c # 相加
数据类型能够让程序员更好地组织代码,提高代码的可读性和执行效率。在强类型语言中,数据类型的转换需要显式声明,这能够让程序员更好地理解并控制程序的执行过程。
字符串和数字在编程中有着不同的用途:
字符串通常用于文本处理、自然语言处理等领域,比如统计词频、文本分类等。
数字则用于数值计算,比如数学计算、数据分析等。
不同类型的数据可以使用不同的运算符,比如:
a = 100 # 整数类型
b = 200 # 整数类型
c = a + b # 加法运算
不同类型的数据之间无法直接相互操作,比如:
a = 123 # 整数类型
b = "456" # 字符串类型
c = a + b # 这行代码会报错,因为无法将整数和字符串相加
如果想要在不同类型的数据之间进行操作,需要将其转换为同一类型。比如:
a = 123 # 整数类型
b = "456" # 字符串类型
c = int(b) # 将字符串转换为整数
d = a + c # 加法运算
注释
注释是编程中非常重要的一个环节,主要作用是解释代码的意义和用途,以及方便他人阅读和理解代码。下面介绍如何编写注释。
注释的标识符是井号“#”
在 Python 中,注释的标识符是井号“#”。在井号后面的内容,Python 解释器将会忽略掉,不会执行。
例如:
# 这是一个注释
print("Hello, world!") # 这也是一个注释
注释可以在代码行的开头或者结尾,也可以在代码的中间。一般来说,在代码的开头或者结尾添加注释比较常见。
例如:
# 这是一个注释
x = 10 # 这也是一个注释
注释的内容应该简洁明了,能够清晰地表达代码的意义和用途。一般来说,注释应该包括以下信息:
- 变量名和变量的作用。例如:
x
是用来表示盒子的宽的变量。 - 函数名和函数的返回值。例如:box_area() 函数用来计算盒子的面积,返回盒子的面积。
- 程序的作用和逻辑。例如:下面的代码用来实现一个简单的加法计算器,接受用户输入的两个数字并输出它们的和。
num1 = float(input("请输入第一个数字:"))
num2 = float(input("请输入第二个数字:"))
result = num1 + num2
print("结果为:", result)
注释的目的:
- 解释代码的意义和用途,方便他人阅读和理解代码。
- 提高代码的可读性和可维护性。通过添加注释,可以让其他人更容易地理解代码的作用和逻辑,减少阅读代码的时间和工作量。同时,也可以让自己在以后阅读代码时更容易理解和修改。
- 提高代码的质量和可靠性。通过添加注释,可以帮助开发人员更好地理解代码的作用和逻辑,减少错误和漏洞的出现概率。同时,也可以让自己在以后阅读代码时更容易发现和修复错误。
Python学习 —— 初步认知的更多相关文章
- Python学习之认知(二)
第二章(二) 2.1.5 变量 变量:将运算的中间结果暂存到内存,以便后续程序调⽤. 变量的命名规则: 1.变量由字母, 数字,下划线搭配组合⽽成 2.不可以⽤数字开头,更不能是全数字 ...
- Python学习之认知(一)
第二章(一) 2.1 python介绍 2.1.1 python是一种什么样的语言 编程语⾔主要从以下几个⻆度为进行分类,编译型和解释型.静态语言和动态语⾔.强类型定义语言和弱类型定义语言. 编译 ...
- Mybatis学习-初步认知与使用
Mybatis是一款优秀的持久层框架.且支持定制化SQL,存储过程以及高级映射 Mybatis几乎免除了所有的JDBC代码以及设置参数和获取结果集的工作,它使用简单的XML或注解来配置原始类型.接口和 ...
- 优秀Python学习资源收集汇总(强烈推荐)
Python是一种面向对象.直译式计算机程序设计语言.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块.与Scheme.Ruby.Perl ...
- [转]优秀Python学习资源收集汇总
Python是一种面向对象.直译式计算机程序设计语言.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块.与Scheme.Ruby.Perl ...
- python 学习资料
Python是一种面向对象.直译式计算机程序设计语言.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块.与Scheme.Ruby.Perl ...
- 优秀Python学习资源
优秀Python学习资源收集汇总(强烈推荐) Python是一种面向对象.直译式计算机程序设计语言.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮 ...
- Python 学习教程汇总
Python快速教程http://www.cnblogs.com/vamei/archive/2012/09/13/2682778.html简明Python教程https://bop.molun.ne ...
- Python学习笔记之--我又开始学习Python了(随时更新)
2019.02.09 更新 Python 学习计划已经开始几天了,跟着一本叫<Django for beginner>的书籍在学习用Django搭建自己的第一个网站,目前已经进行到第三章, ...
- python学习: 优秀Python学习资源收集汇总--转
Python是一种面向对象.直译式计算机程序设计语言.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块.与Scheme.Ruby.Perl ...
随机推荐
- 2023-06-19:讲一讲Redis分布式锁的实现?
2023-06-19:讲一讲Redis分布式锁的实现? 答案2023-06-19: Redis分布式锁最简单的实现 要实现分布式锁,确实需要使用具备互斥性的Redis操作.其中一种常用的方式是使用SE ...
- 【python基础】类-初识类
1.面向对象思想 在认识类之前,我们需要理解面向对象思想和面向过程思想. 面向过程思想:要拥有一间房屋,面向过程像是自己来修盖房屋,如果需要经过选址.购买材料.砌墙.装修等步骤,面向过程编程,就相当于 ...
- 有哪些ASIC加速技术可以实现低功耗运行?
目录 文章主题: 10. 有哪些ASIC加速技术可以实现低功耗运行? 背景介绍:随着移动设备.物联网.云计算等应用场景的不断增长,功耗成为了一个日益重要的技术问题.为了在移动设备上实现更长时间的运行, ...
- 1 opencv-python图像读写模块
这个分类记录自己学习opencv的随笔文档,方便以后查询和复习.python-opencv环境配置网上教程很多,此处就不做赘述了,该文档记录opencv最基础的图像读写和显示,工具是jupyter n ...
- CF1794C Scoring Subsequences题解
文中 \(a\) 为题目中给的 \(a\). 如果我们要求 \(a_1, a_2, a_3, \dots, a_m\) 的结果, 那么我们可以把 \(a\) 数组从后往前依次除以 \(i\),\(i\ ...
- sshpiper 在 Kubernetes 上的应用
sshpiper 在 Kubernetes 上的应用 介绍 GitHub Repo 一个反向代理目标服务器的 proxy,客户端想请求某个 ssh 服务器,直接请求的是 sshpiper 服务,再经由 ...
- MybatisPlus的各种查询方法
MybatisPlus的各种查询方法 合并转载于https://my.oschina.net/u/241218/blog/1838534/和https://my.oschina.net/u/24275 ...
- bitfield
bitfield 作用 位域修改 溢出控制 原理 通过对redis字符串二进制形式进行操作,通过改变其值的作用 更具体 将一个Redis字符串看作是一个由二进制位组成的数组. 并能对变长位宽和任意没有 ...
- == 与 equals 的区别?
一. 介绍: Java中的 "==" 是一个运算符,是用于比较两个对象地址值或基本数据类型之间的值是否相等.它的来源可以追溯到C语言,以及受C语言影响的许多其他编程语言. Jav ...
- 如何编写难以维护的React代码?——滥用useEffect
如何编写难以维护的React代码?--滥用useEffect 在许多项目中,我们经常会遇到一些难以维护的React代码.其中一种常见的情况是滥用useEffect钩子,特别是在处理衍生状态时.让我们来 ...