Python小白入门指南➖基础语法

Python小白入门指南➖基础语法

关于作者

  • 作者介绍

🍓 博客主页:作者主页

🍓 简介:JAVA领域优质创作者🥇、一名初入职场小白👨‍💻、在校期间参加各种省赛、国赛,斩获一系列荣誉 🏆、阿里云专家博主51CTO专家博主

🍓 关注我:关注我学习资料、文档下载统统都有,每日定时更新文章,励志做一名JAVA资深程序猿👨‍💻


Python安装

想要使用Python语言编写程序,我们必须下载Python安装包并配置Python环境, Python版本是:3.10.4(发布于2022年3月24日) 本次笔记就基于3.10.4版本进行学习

windows安装

www.python.org/downloads/w...

下载完成后,安装后验证,在命令提示符程序内,输入:python 并回车

Linux安装

www.python.org/downloads/s...

找到Gzipped source tarball按钮,点击右键,选择复制链接。

进入到Linux系统内,使用wget命令,粘贴复制的下载链接,进行下载: 执行下载:

SHELL 复制代码
cd ~
wget https://www.python.org/ftp/python/3.11.7/Python-3.11.7.tgz
# 解压安装包,执行:
tar -xvf Python-3.11.7.tgz
# 切换目录到解压后的Python安装文件夹:
cd Python-3.11.7
# 配置
./configure --prefix=/usr/local/python-3.11.7
# 编译
make && make install
# 编译完成后,可以配置软链接,方便快速使用python
# 删除系统自带的老版本(python2)的软链接
rm -f /usr/bin/python

# 创建软链接
ln -s /usr/local/python-3.11.7/bin/python-3.11 /usr/bin/python
# 创建软链接后,会破坏yum程序的正常使用(只能使用系统自带的python2)
# 修改如下2个文件:
/usr/bin/yum
/usr/libexec/urlgrabber-ext-down

# 使用vi编辑器,将这2个文件的第一行,从
#!/usr/bin/python  修改为------》  #!/usr/bin/python2

Hello World

常见问题

命令提示符内,输入python出现 =='python' 不是内部或外部命令,也不是可运行的程序或批处理文件。==

问题解答:安装python的时候,没有勾选:add python 3.10 to PATH的选项。卸载Python,重新安装python,勾选这个选项。然后重新打开命令提示符程序,即可


命令提示符内,出现无法初始化设备 PRN

问题解答:这是因为没有进入到python解释器环境内执行代码。应该在命令提示符内:


执行出现:SyntaxError: invalid character '"' (U+201C)

问题解答:代码中的符号是中文符号。请检查代码中的:双引号、小括号,这两个符号,应该是英文符号。

Python解释器程序

Python解释器是执行Python代码的程序。它将Python源代码转换为计算机可以理解和执行的机器代码。Python有多个解释器可用,包括官方的CPython解释器、Jython、IronPython和PyPy等。

CPython是Python的官方解释器,它是用C语言实现的,是最常用的解释器。CPython解释器执行Python代码的步骤包括词法分析、语法分析、编译和执行。

除了CPython,还有其他的Python解释器。Jython是一个用Java实现的Python解释器,可以在Java虚拟机(JVM)上运行Python代码。IronPython是一个用C#实现的Python解释器,可以在.NET平台上运行Python代码。PyPy是一个使用JIT(即时编译)技术的Python解释器,它可以提供更高的执行速度。

基础语法

字面量

字面量是在程序中直接使用的固定值或数据。以字面的形式出现,表示了自身的值,而无需进行进一步的计算或解释。

在各种编程语言中,字面量可以表示不同类型的数据。以下是一些常见类型的字面量示例:

  • 整数字面量:如 10、-10、0。
  • 浮点数字面量:如 1.7777、-0.1、3.1415926等。
  • 字符串字面量:用引号括起来的字符序列,如 "Hello"、'World'。
  • 布尔字面量:表示真或假的值,如 True、False、Null。
  • 列表字面量:用方括号括起来的项的序列,如 [1, 2, 3, 4, 5]、['a', 'b', 'c', 'd', 'e']。
  • 字典字面量:用花括号括起来的键值对的集合,如 {'name': 'java厂长', 'age': 18, 'sex': 'man'}。
  • 元组字面量:用圆括号括起来的项目的有序序列,如 (1, 2, 3, 4, 5)、('a', 'b', 'c', 'd', 'e')。

字面量提供了一种直观和直接的方式来表示数据,使得代码有更好的阅读性和理解。通过使用字面量,开发人员可以直接在代码中使用数据,而无需额外的变量或表达式来表示它们。

类型 描述 说明
数字(Number) 支持 整数(int) 浮点数(float) 复数(complex) 布尔(bool) 整数(int),如:10、-10 浮点数(float),如:13.14、-13.14 复数(complex),如:4+3j,以j结尾表示复数 布尔(bool)表达现实生活中的逻辑,即真和假,True表示真,False表示假。True本质上是一个数字记作1,False记作0
字符串(String) 描述文本的一种数据类型 字符串(string)由任意数量的字符组成
列表(List) 有序的可变序列 Python中使用最频繁的数据类型,可有序记录一堆数据
元组(Tuple) 有序的不可变序列 可有序记录一堆不可变的Python数据集合
集合(Set) 无序不重复集合 可无序记录一堆不重复的Python数据集合
字典(Dictionary) 无序Key-Value集合 可无序记录一堆Key-Value型的Python数据集合

注释

注释:在程序代码中对程序代码进行解释说明的文字。 作用:注释不是程序,不能被执行,只是对程序代码进行解释说明,让别人可以看懂程序代码的作用,能够 大大增强程序的可读性。

单行注释:以 #开头,#右边 的所有文字当作说明,而不是真正要执行的程序,起辅助说明作用

多行注释: 以 一对三个双引号 引起来 (=="""注释内容"""==)来解释说明一段代码的作用使用方法

python 复制代码
name = '数字企业'#公司名
stock_price = 19.99    #当前股价
stock_code = 1025895     #股票代码
stock_price_daily_growth_factor = 1.2 #股票每日增长系数,浮点数类型,比如1.2
growth_days = 7     #增长天数

print(f"公司:{name},股票代码:{stock_code},当前股价:{stock_price}")
print("每日增长系数是:%1.1f,经过%4d天的增长后,股价达到了: %3.2f" %(stock_price_daily_growth_factor, growth_days, stock_price*stock_price_daily_growth_factor**growth_days)) # **在python为幂运算 2^3=8

变量

变量:在程序运行时,能储存计算结果或能表示值的抽象概念。 简单的说,变量就是在程序运行时,记录数据用的

变量的定义格式

变量的特征:变量,从名字中可以看出,表示"量"是可变的。所以,变量的特征就是,变量存储的数据,是可以发生改变的。

数据类型

学习字面量的时候,我们了解到:数据是有类型的。 现在属于入门阶段,我们主要接触如下三类数据类型:

类型 描述 说明
string 字符串类型 用引号引起来的数据都是字符串
int 整型(有符号) 数字类型,存放整数 如 -1,10, 0 等
float 浮点型(有符号) 数字类型,存放小数 如 -3.14, 6.66

string、int、float这三个英文单词,就是类型的标准名称。

如何验证数据的类型呢?

通过type()语句来得到数据的类型,语法:type(被查看类型的数据)

python 复制代码
string_type = type("java厂长")
int_type = type(777777)
float_type = type(3.1415926)
print(string_type)
print(int_type)
print(float_type)

<class 'str'>
<class 'int'>
<class 'float'>

数据类型转换

数据类型之间,在特定的场景下,是可以相互转换的,如字符串转数字、数字转字符串等。那么,我们为什么要转换它们呢?

数据类型转换,将会是我们以后经常使用的功能。

  • 从文件中读取的数字,默认是字符串,我们需要转换成数字类型
  • 后续学习的input()语句,默认结果是字符串,若需要数字也需要转换
  • 将数字转换成字符串用以写出到外部系统

常见的转换语句:

语句(函数) 说明
int(x) 将x转换为一个整数
float(x) 将x转换为一个浮点数
str(x) 将对象 x 转换为字符串

这三个语句,都是带有结果的(返回值),可以用print直接输出或用变量存储结果值。

注意:类型转换不是万能的,毕竟强扭的瓜不会甜。

  1. 任何类型,都可以通过str(),转换成字符串
  2. 字符串内必须真的是数字,才可以将字符串转换为数字

标识符

在Python中,标识符是用于标识变量、函数、类、模块或其他对象的名称。标识符需要遵循以下规则:

  1. 标识符由字母(大小写敏感)、数字和下划线(_)组成。
  2. 标识符必须以字母或下划线开头,不能以数字开头。
  3. 标识符不能是Python的关键字,如if、for、while等。你可以使用keyword模块来检查一个标识符是否是关键字。
  4. 标识符可以任意长,但建议保持标识符的长度适中,以提高代码的可读性。
  5. 标识符是大小写敏感的,例如myVariablemyvariable是不同的标识符。

标识符命名规则 - 不可使用关键字

运算符

算术(数学)运算符

运算符 描述 实例
+ 两个对象相加 a + b 输出结果 30
- 得到负数或是一个数减去另一个数 a - b 输出结果 -10
* 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
/ b / a 输出结果 2
// 取整除 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
% 取余 返回除法的余数 b % a 输出结果 0
** 指数 a**b 为10的20次方, 输出结果 100000000000000000000

赋值运算符

运算符 描述 实例
= 赋值运算符 把 = 号右边的结果 赋给 左边的变量,如 num = 1 + 2 * 3,结果num的值为7

复合赋值运算符

运算符 描述 实例
+= 加法赋值运算符 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

字符串扩展

字符串的三种定义方式

  • 单引号定义法:name = 'java厂长'
  • 双引号定义法:name = "java厂长"
  • 三引号定义法:name = """java厂长"""

三引号定义法,和多行注释的写法一样,同样支持换行操作。使用变量接收它,它就是字符串。不使用变量接收它,就可以作为多行注释使用。

字符串拼接

如果我们有两个字符串(文本)字面量,可以将其拼接成一个字符串,通过+号即可完成。

python 复制代码
v_str = "java厂长"
v1_str = "学习Python"
print(v_str + v1_str)

字符串无法和非字符串变量进行拼接,因为类型不一致,无法接上,就像接力赛一样,不是队友,不能接力的。

字符串格式化

%s ,% 表示:我要占位;s 表示:将变量变成字符串放入占位的地方

python 复制代码
v_str = "java厂长"
v_str_python = "python"
v1_str = "学习 %s" % v_str_python
print(v_str + v1_str)

数字也能用%s占位吗?可以的哦,这里是将数字 转换成了 字符串哦,也就是数字18,变成了字符串"18"被放入占位的地方。

python 复制代码
v_str_python = "python"
num = 18
message = "java厂长,年龄:%s, 学习 %s" %(num, v_str_python)
print(message)

Python中,其实支持非常多的数据类型占位,最常用的是如下三类:

格式符号 转化
%s 将内容转换成字符串,放入占位位置
%d 将内容转换成整数,放入占位位置
%f 将内容转换成浮点型,放入占位位置

格式化的精度控制

可以使用辅助符号"m.n"来控制数据的宽度和精度

  • m,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效
  • .n,控制小数点精度,要求是数字,会进行小数的四舍五入

示例:

  • %5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成:[空格][空格][空格]11,用三个空格补足宽度。
  • %5.2f:表示将宽度控制为5,将小数点精度设置为2小数点和小数部分也算入宽度计算。如,对11.345设置了%7.2f 后,结果是:[空格][空格]11.35。2个空格补足宽度,小数部分限制2位精度后,四舍五入为 .35
  • %.2f:表示不限制宽度,只设置小数点精度为2,如11.345设置%.2f后,结果是11.35
python 复制代码
name = 'java厂长'
set_up_age = 2001
stock_price = 19.99
# m,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效
# .n,控制小数点精度,要求是数字,会进行小数的四舍五入
message = '我是:%s,我的生日是:%7d,今天的股票价格:%10.2f' %(name , set_up_age, stock_price)
print(message)
# 通过语法:f"内容{变量}"的格式来快速格式化
print(f"我是:{name},我的生日是:{set_up_age},今天的股票价格:{stock_price}")

字符串格式化方式2

语法:f"内容{变量}"的格式来快速格式化

print(f"我是:{name},我的生日是:{set_up_age},今天的股票价格:{stock_price}")

对表达式进行格式化

txt 复制代码
定义如下变量:
name,公司名
stock_price,当前股价
stock_code,股票代码
stock_price_daily_growth_factor,股票每日增长系数,浮点数类型,比如1.2
growth_days,增长天数
计算,经过growth_days天的增长后,股价达到了多少钱
使用字符串格式化进行输出,如果是浮点数,要求小数点精度2位数。

提示,可以使用: 当前股价 * 增长系数 ** 增长天数, 用来计算最终股价哦
python 复制代码
name = '数字企业'#公司名
stock_price = 19.99    #当前股价
stock_code = 1025895     #股票代码
stock_price_daily_growth_factor = 1.2 #股票每日增长系数,浮点数类型,比如1.2
growth_days = 7     #增长天数

print(f"公司:{name},股票代码:{stock_code},当前股价:{stock_price}")
print("每日增长系数是:%1.1f,经过%4d天的增长后,股价达到了: %3.2f" %(stock_price_daily_growth_factor, growth_days, stock_price*stock_price_daily_growth_factor**growth_days)) # **在python为幂运算 2^3=8

数据输入

学习过print语句(函数),可以完成将内容(字面量、变量等)输出到屏幕上。 在Python中,与之对应的还有一个input语句,用来获取键盘输入。

  • 数据输出:print
  • 数据输入:input

使用上也非常简单:

  • 使用input()语句可以从键盘获取输入
  • 使用一个变量接收(存储)input语句获取的键盘输入数据即可
python 复制代码
user_name = input("您好:")
user_type = input("您是尊贵的: ")
print(f'您好:{user_name},您是尊贵的: {user_type} 用户,欢迎您的光临!')
相关推荐
幽兰的天空12 分钟前
Python 中的模式匹配:深入了解 match 语句
开发语言·python
网易独家音乐人Mike Zhou4 小时前
【卡尔曼滤波】数据预测Prediction观测器的理论推导及应用 C语言、Python实现(Kalman Filter)
c语言·python·单片机·物联网·算法·嵌入式·iot
安静读书4 小时前
Python解析视频FPS(帧率)、分辨率信息
python·opencv·音视频
小二·5 小时前
java基础面试题笔记(基础篇)
java·笔记·python
qq_17448285756 小时前
springboot基于微信小程序的旧衣回收系统的设计与实现
spring boot·后端·微信小程序
小喵要摸鱼7 小时前
Python 神经网络项目常用语法
python
锅包肉的九珍7 小时前
Scala的Array数组
开发语言·后端·scala
心仪悦悦7 小时前
Scala的Array(2)
开发语言·后端·scala
2401_882727577 小时前
BY组态-低代码web可视化组件
前端·后端·物联网·低代码·数学建模·前端框架
心仪悦悦7 小时前
Scala中的集合复习(1)
开发语言·后端·scala