Python小白入门指南➖基础语法
关于作者
- 作者介绍
🍓 博客主页:作者主页
🍓 简介:JAVA领域优质创作者🥇、一名初入职场小白👨💻、在校期间参加各种省赛、国赛,斩获一系列荣誉 🏆、阿里云专家博主 、51CTO专家博主
🍓 关注我:关注我学习资料、文档下载统统都有,每日定时更新文章,励志做一名JAVA资深程序猿👨💻
Python安装
想要使用Python语言编写程序,我们必须下载Python安装包并配置Python环境, Python版本是:3.10.4(发布于2022年3月24日) 本次笔记就基于3.10.4版本进行学习
windows安装
下载完成后,安装后验证,在命令提示符程序内,输入:python 并回车
Linux安装
找到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直接输出或用变量存储结果值。
注意:类型转换不是万能的,毕竟强扭的瓜不会甜。
- 任何类型,都可以通过str(),转换成字符串
- 字符串内必须真的是数字,才可以将字符串转换为数字
标识符
在Python中,标识符是用于标识变量、函数、类、模块或其他对象的名称。标识符需要遵循以下规则:
- 标识符由字母(大小写敏感)、数字和下划线(_)组成。
- 标识符必须以字母或下划线开头,不能以数字开头。
- 标识符不能是Python的关键字,如if、for、while等。你可以使用
keyword
模块来检查一个标识符是否是关键字。 - 标识符可以任意长,但建议保持标识符的长度适中,以提高代码的可读性。
- 标识符是大小写敏感的,例如
myVariable
和myvariable
是不同的标识符。
标识符命名规则 - 不可使用关键字
运算符
算术(数学)运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 两个对象相加 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} 用户,欢迎您的光临!')