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

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

Python安装

想要使用Python语言编写程序,我们必须下载Python安装包并配置Python环境

windows安装

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

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

Linux安装

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

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

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

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数据集合

注释

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

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

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

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(被查看类型的数据)

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厂长"""

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

字符串拼接

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

v_str = "java厂长"
v1_str = "学习Python"
print(v_str + v1_str)

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

字符串格式化

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

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

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

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

    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}")

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

提示,可以使用: 当前股价 * 增长系数 ** 增长天数, 用来计算最终股价哦

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语句获取的键盘输入数据即可

    user_name = input("您好:")
    user_type = input("您是尊贵的: ")
    print(f'您好:{user_name},您是尊贵的: {user_type} 用户,欢迎您的光临!')

如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
Python全套学习资料

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图 。可以说是最科学最系统的学习路线 ,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!

2️⃣国内外Python书籍、文档

① 文档和书籍资料

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

上述所有资料 ⚡️ ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓

相关推荐
宅小海2 分钟前
scala String
大数据·开发语言·scala
小喵要摸鱼4 分钟前
Python 神经网络项目常用语法
python
qq_327342735 分钟前
Java实现离线身份证号码OCR识别
java·开发语言
锅包肉的九珍6 分钟前
Scala的Array数组
开发语言·后端·scala
心仪悦悦9 分钟前
Scala的Array(2)
开发语言·后端·scala
yqcoder32 分钟前
reactflow 中 useNodesState 模块作用
开发语言·前端·javascript
baivfhpwxf202342 分钟前
C# 5000 转16进制 字节(激光器串口通讯生成指定格式命令)
开发语言·c#
许嵩661 小时前
IC脚本之perl
开发语言·perl
长亭外的少年1 小时前
Kotlin 编译失败问题及解决方案:从守护进程到 Gradle 配置
android·开发语言·kotlin
直裾1 小时前
Scala全文单词统计
开发语言·c#·scala