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

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

相关推荐
修己xj8 小时前
三月,我只想做好这四件事
程序员
不要秃头啊14 小时前
别再谈提效了:AI 时代的开发范式本质变了
前端·后端·程序员
AI探索者15 小时前
LangGraph StateGraph 实战:状态机聊天机器人构建指南
python
AI探索者15 小时前
LangGraph 入门:构建带记忆功能的天气查询 Agent
python
jonjia15 小时前
引入新维度化解权衡难题
程序员
jonjia15 小时前
优秀的工程师如何打破规则
程序员
jonjia15 小时前
在大厂交付大型项目的策略
程序员
jonjia15 小时前
RFC 与设计文档
程序员
jonjia15 小时前
为什么你(或任何人)应该成为一名研发经理?
程序员
jonjia15 小时前
管理技术质量 (Manage Technical Quality)
程序员