Python语言基础

目录

任务驱动式学习

任务一:输出问候语

一、Python程序的两种编程模式

二、Python程序的执行方式——解释执行

三、基本输入输出函数

任务二:计算圆的周长和面积

一、语句块缩进

二、变量与对象

三、数据类型及转换

四、数字类型及运算

五、字符串及格式化输出

六、生成随机数——使用random模块


任务驱动式学习

学习目标:掌握基本语法知识点,理解迭代式开发方法

任务一:输出问候语

效果:“张三,欢迎来到Python的精彩世界!”

一、Python程序的两种编程模式

1、交互式编程:

2、脚本式编程:

嵌套函数:由内而外执行
字符串:由一对双引号/单引号包围起来

二、Python程序的执行方式——解释执行

1、编译执行:
属于先 (整体) 翻译后 (集中) 执行,类似于笔译
C、C++、Pascal等语言
只有脚本式编程,而无法提供交互式编程

2、解释执行:
属于边 (单独) 翻译边(单独) 执行,类似于同声传译
Python、VB、JavaScript等
存在交互式和脚本式两种编程模式

3、混合模式:
Java程序先由Java编译器编译成.class字节码文件,再由JVM解释执行
Java 9开始提供交互式编程模式

三、基本输入输出函数

1、输入——input()函数

它是Python标准库的内建函数(build-in,即安装后自带的函数),可以直接用,不需要任何声明。
input()函数两种最常见形式:
(1)运行时屏幕没有输入提示信息:input();
(2)运行时屏幕有输入提示信息:input(提示字符串)。
(3)返回值:用户输入的字符串。
(4)一定注意:返回值是字符串类型,如果需要其他类型的数据,要进行类型转换。

2、输出——print()函数

输出:print()函数也是标准库的内建函数。
参数说明:
(1)可以没有任何参数,也可以有多个参数,相互间用英文逗号分隔。
(2)参数可以分为两大类,一类是内容参数,一类是控制参数。

print(1,3,5,7,9,sep=',',end='&');print(1,3,5,7,9)

(3)内容参数必须在控制参数之前
(4)两个常见控制参数:sep和end
        sep:指定输出内容之间的分隔符,默认是空格
        end:指定全部内容输出后的字符,默认是换行符(“\n”)
(5)查看print函数的帮助信息:help(print)

请输出下列输出函数的运行结果:

print()
print('\n')
print(input("请输入要打印的内容:"))
print(1,2,3,4,5)
print(1,2,3,4,5,sep=',')
print(1,2,3,4,5,sep=',',end='#')
print('输出符合你的预期吗? \n如果与预期不一致,说明你还没有真正搞懂,加油哦!')

任务二:计算圆的周长和面积

要求:输入圆的半径,计算并输出圆的周长和面积。

r=input("请输入圆的半径:")
r=int(r)
if r>=0:c=2*3.1415926*rarea=3.1415926*r*rprint("圆的半径:",r,"对应的周长和面积:",c,area)
else:print("圆的半径不能为负数,请重新输入!")

一、语句块缩进

缩进表示的重要性:
(1)反映语句间的层次隶属关系,缩进位置相同的语句构成一个语句块;
(2)缩进尺寸默认是四个空格,也可以不是四个空格,但一个程序文件中必须要统一。

#语句块与语句结进示例
score=int(input("请输入考试分数:"))
if score>=90:print("成绩优秀")print("不要骄傲哦!")
elif score<60:print("成绩不及格")print("多加努力、早日赶上来!")
else:print("成绩正常")print("继续努力,争取更好!")

二、变量与对象

为了程序通用性,应允许计算不同半径下的周长和面积,为此考虑引入变量,分别表示半径、周长、面积。

1、Python变量命名规则

(1)只能包含大小写字母、数字、下划线,只能以字母或下划线开头
(2)变量名是大小写敏感的(area与Area是不同的变量)
(3)标识符不能与33个关键字同名

2、对象的三要素

Python变量没有数据类型,有类型之分的是Python对象。
对象的三要素:标识(identity)、类型(type)、值(value)

      

Python中一切皆对象,因此Python也是一种面向对象的编程语言。

3、变量与对象间的关系:类似于标签与箱子

(1)相互关联:变量通过赋值操作才能引用特定的对象
(2)对变量使用id/type函数,实质是对关联的对象使用这些函数。
(3)变量一定先赋值,再使用,直接访问未引用对象的变量出错。

4、对象同一性与值的相等性判定

(1)is操作符:判断两个变量是否引用同一对象
(2)==运算符:判断两个变量引用的对象的值是否相等

              

5、赋值语句

(1)赋值语句作用:将变量与特定的对象相关联
(2)几种常见的赋值形式:
        允许一条语句同时为多个变量赋值相同的对象
        允许一条语句为多个变量分别关联不同的对象
        交换两个变量的值:x,y=y,x
(3)还可以使用+=、-=、*=等复合赋值运算符进行赋值操作,但注意:
        对于像数字、字符串这样的不可变对象:a+=b与a=a+b是等价的
        而对于像列表一类的可变对象:a+=b与a=a+b并不等价!

#赋值语句示例一:
a=b=c=100    #三个变量指向/引用同一为象
print(id(a))
print(id(a))
print(id(a))
print(a is b)
print(a is c)
print(b is c)

#赋值语句示例二:
x,y,z=2,3.6,"abc"
print("x=",x,"y=",y,"z=",z)
#两个变量交换值:
x,y=y,x
print("x=",x,"y=",y)

三、数据类型及转换

1、Python的6种标准数据类型

2、数字字符串的转换

(1)计算中常涉及数字字符串到数值型数据的转换
        整数字符串转换成整数: int("3")→3
        小数字符串转换成浮点数:float("3.2")→3.2
        无法事先确定是整数还是小数的字符串:eval()函数
(2)eval()函数的作用:
        先去掉字符串最外层的引号,然后对产生的表达式求值
        示例:eval("1+2")的结果是3

3、类型转换

(1)显式转换:转换函数主要包括:int()、float()、str()
转换原则:能转则转
示例:num=int (input("请输入一个整数:"))
           real=float (input("请输入一个小数:"))

m=int(123.99)    #不是四舍五入,而是直接舍去小数部分
n=int('123')
#s=int('123.45)    #无法转换,会报错
print(m,n)r=float(123)
s=float('123')
t=float('123.45')
print(r,s,t)u=str(123)
v=str(123.45)
print(u,v)

(2)隐式转换:例如整数和浮点数混合运算结果就是浮点数

四、数字类型及运算

1、整数

int类型

整数取值范围:任意大,只受到内存大小限制 。

2、逻辑值

bool型是int的子类,只有True和False两个值(注意:只有首字母大写)
True和False属于特殊的整数,可做整数相关运算:True(值等于1),False(值等于0)。

3、浮点数(小数)

float类型常见实例:0.0,-13.26,-12e3,3.14e-5
浮点数的表示范围:

浮点数在计算机内部表示可能存在误差,因此浮点数计算可能不准确:

4、常见运算符

说明:(1)a%b求余数的规则是a-a//b*b,因此-25.5%2.25=-25.5-(-12.0)*2.25=-25.5+27=1.5;
(2)求字符串的长度(字符数)可以使用len()函数,例如len('你好abc')的结果是5。

逻辑运算and和or的计算关键:(1)and优先级高于or;
(2)最后结果由按照计算顺序能最快判断出结果的那个表达式来决定。

分析:等价于 ‘ ’ or 5 or 4 or 0 ,第一个是空串,能最快给出结果的表达式是5,所以结果就是5。

5、运算符的优先级

6、常见的内置数值运算函数

五、字符串及格式化输出

1、字符串表示

是由一对单引号、双引号或三引号包围起来的字符的有序序列,典型
示例:
(1)'Hello,world!’ 或 "Hello, world!"
(2)"I'd like to go to cinema"
(3)三引号包括三个单引号或三个双引号,常用于文档字符串或跨行输出字符串,示例:

print('''Game
Over''')

使用规则说明:
单个字符Python也将其视为一个字符串;中英文字符统一用Unicode编码,都被看成是一个字符。
字符串中间出现单引号,可用一对双引号包围整个字符串。

2、转义字符

顾名思义,就是改变了原有字符的含义,使其表示新的含义。
例如:\n作为转义字符,不再表示原来的\和n两个字符,而是表示换行符

print("hello\nworld")
print('I\'m OK')

3、原始字符串

与转义字符相反,原始字符串则把字符按照字面本来的意思进行处理。要使用原始字符串,需要在字符串的前面加上r或R,例如:r'\n' 就会被看作反斜线和字母n两个字符构成的字符串,而不会被当作一个转义字符。
表示文件路径或正则表达式时,为了表达更清晰、符合使用习惯,常用原始字符串,例如:

print('c:\\nvidia\\program\\demo.txt')
print(r"c:\nvidia\program\demo.txt")

4、字符串的格式化输出

作为print函数的参数,用于控制输出的格式,有三种方法:
(1)%操作符:类似于C中printf()
(2)str.format方法:重点介绍这种方式
(3)f-string方法:Python 3.6版引入,相对更简洁

f-string方法的主要改进是把要输出的变量/表达式直接放入槽中。

字符串对象的format方法——面向对象方法调用

字符串format()方法的基本使用格式是:
<模板字符串>.format(<逗号分隔的参数>)
其中,模板字符串是一个由字符串和槽组成的字符串,用来控制字符串和变量的显示效果。槽用大括号()表示,对应format()方法中逗号分隔的参数。

"{}曰:学而时习之,不亦说乎。".format("孔子")

5、format方法的基本用法

(1)如果模板字符串有多个槽,且槽内没有指定序号,则按照槽出现的顺序分别对应.format()方法中的不同参数。

"{}曰:学而时习之,不亦{}。".format("孔子","说乎")

注意:format方法返回的字符串用print函数输出时,字符串两边的单引号或双引号并不输出!

(2)可以通过format()参数的序号在模板字符串槽中指定参数的使用,参数从0开始编号。

"{1}曰:学而时习之,不亦{0}。".format("说乎","孔子")

"{1}曰:{{学而时习之,不亦{0}}}。".format("说乎","孔子")

注意:如果输出的模板字符串本身包含花括号,则需要两层花括号才行!

6、format方法的格式控制

(1)format()方法中模板字符串的槽除了包括参数序号,还可以包括格式控制信息。
{<参数序号>:<格式控制标记>}
其中,格式控制标记用来控制参数显示时的格式。格式控制标记包括:<填充><对齐><宽度>,<.精度><类型>6个字段,这些字段都是可选的,可以组合使用。

助记:填对宽,千点泪(类)。只有宽度和精度是数字,其他都是符号。

(2)<填充>、<对齐>和<宽度>主要用于对显示格式的规范。
宽度指当前槽的设定输出字符宽度,如果该槽参数实际值比宽度设定值大,则使用参数实际长度。如果该值的实际位数小于指定宽度,则按照对齐指定方式在宽度内对齐,默认以空格字符补充。
对齐字段分别使用<、>和^三个符号表示左对齐、右对齐和居中对齐。
填充字段可以修改默认填充字符,填充字符只能有一个。

s="等级考试""{:25}".format(s)    #左对齐,默认"(:^25)".format(s)    #居中对齐"{:>25}".format(s)    #右对齐"{:*^25}".format(s)    #居中对齐且填充*号"{:+^25}".format(s)    #居中对齐且填充+号"{:十^25}".format(s)    #居中对齐且填充汉字“十”"{:^1}".format(s)    #指定宽度为1,不足变量s的宽度

(3)<.精度><类型>主要用于对数值本身的规范。
<.精度>由小数点 (.) 开头。对于浮点数,精度表示小数部分输出的有效位数。对于字符串,精度表示输出的最大长度。小数点可以理解为对数值的有效截断。

"{:.2f}".format(12345.67890)
"{:>25.3f}".format(12345.67890)
"{:.5}".format("全国计算机等级考试")

(4)<类型>表示输出整数和浮点数类型的格式规则。
对于整数类型,输出格式包括6种:
b:输出整数的二进制方式;
c:输出整数对应的Unicode字符;
d:输出整数的十进制方式;
o:输出整数的八进制方式;
x:输出整数的小写十六进制方式;
X:输出整数的大写十六进制方式;

"{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425)

(5)对于浮点数类型,输出格式包括4种。
e:输出浮点数对应的小写字母e的指数形式;
E:输出浮点数对应的大写字母E的指数形式;
f:输出浮点数的标准浮点形式;
%:输出浮点数的百分形式。

"{O:e},{0:E},{0:f},{0:%}".format(3.14)
"{0:.2e},{0:.2E},{0:.2f},{0:.2%}".format(3.14) # 对比输出

f-string方法也可以使用上述格式控制标记,其形式为:{变量/表达式:格式控制标记}

print(f'{"PYTHON":-^10}')

六、生成随机数——使用random模块

使用随机数,需要导入Python标准库中的random模块。模块一个以.py结尾的python程序文件,把逻辑上相关函数、变量等组织在一起。

import导入语句说明:

与随机数相关的函数:

产生随机数示例:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/613007.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在 WinForms 应用程序中实现 FTP 文件操作及模式介绍

在 WinForms 应用程序中实现 FTP 文件操作及模式介绍 简介 在许多应用程序中&#xff0c;能够从远程服务器获取文件是一个非常有用的功能。本文将详细介绍如何在 Windows Forms (WinForms) 应用程序中使用 FTP 协议进行文件操作&#xff0c;包括连接到 FTP 服务器、列出目录、…

高并发下的计数器实现方式:AtomicLong、LongAdder、LongAccumulator

一、前言 计数器是并发编程中非常常见的一个需求&#xff0c;例如统计网站的访问量、计算某个操作的执行次数等等。在高并发场景下&#xff0c;如何实现一个线程安全的计数器是一个比较有挑战性的问题。本文将介绍几种常用的计数器实现方式&#xff0c;包括AtomicLong、LongAd…

3.4 在开发中使用设计模式

现在&#xff0c;我们应该对设计模式的本质以及它们的组织方式有了初步的认识&#xff0c;并且能够理解ROPES过程在整体设计中的作用。通过之前章节对“体系结构”及其五个视图的探讨&#xff0c;我们打下了坚实的基础。初步了解了UML的基本构建模块后&#xff0c;我们现在可以…

gem5学习(11):将缓存添加到配置脚本中——Adding cache to the configuration script

目录 一、Creating cache objects 1、Classic caches and Ruby 二、Cache 1、导入SimObject(s) 2、创建L1Cache 3、创建L1Cache子类 4、创建L2Cache 5、L1Cache添加连接函数 6、为L1ICache和L1DCache添加连接函数 7、为L2Cache添加内存侧和CPU侧的连接函数 完整代码…

适用于安防 音响 车载等产品中中的音频接口选型分析

在人工智能兴起之后&#xff0c;安防市场就成为了其全球最大的市场&#xff0c;也是成功落地的最主要场景之一。对于安防应用而言&#xff0c;智慧摄像头、智慧交通、智慧城市等概念的不断涌现&#xff0c;对于芯片产业催生出海量需求。今天&#xff0c;我将为大家梳理GLOBALCH…

自动化测试框架pytest系列之强大的fixture功能,为什么fixture强大?一文拆解它的功能参数。(三)

自动化测试框架pytest系列之基础概念介绍(一)-CSDN博客 自动化测试框架pytest系列之21个命令行参数介绍(二)-CSDN博客 接上两篇文章继续 &#xff1a; 3.3 pytest支持的初始化和清除函数 学过unittest的都知道 &#xff0c;unittest有四个函数 &#xff0c;分别是 &#xff…

PPT插件-大珩助手-快速构建自己的图形

绘图板-快速构建自己的图形 通过手绘的方式&#xff0c;快速构建自己的想法和创意&#xff0c;通过在PPT中插入绘图&#xff0c;植入背景透明的绘图&#xff0c;点击画笔可切换橡皮擦&#xff0c;可以清空画板重新绘制。 素材库-存储图形 通过素材库存储自己的图形 图形调整…

操作系统期末考复盘

简答题4题*5 20分计算题2题*5 10分综合应用2题*10 20分程序填空1题10 10分 1、简答题&#xff08;8抽4&#xff09; 1、在计算机系统上配置OS的目标是什么&#xff1f;作用主要表现在哪个方面&#xff1f; 在计算机系统上配置OS&#xff0c;主要目标是实现:方便性、有…

如何把123转换成字符串的123

在许多编程语言中&#xff0c;将数字123转换为字符串的"123"是非常直接的。以下是几种常见编程语言的示例&#xff1a; Python num 123 str_num str(num) print(str_num) # 输出: 123 JavaScript let num 123; let str_num num.toString(); console…

three.js 学习笔记(学习中1.10更新) |

文章目录 three.js 学习笔记基础概念透视相机 第一个three.js应用threejs画布尺寸和布局canvas画布宽高度动态变化 坐标辅助器 THREE.AxesHelper实现动画效果requestAnimationFrame时间相关属性和方法 THREE.Clock类 相机控件 轨道控制器OrbitControls 灯光点光源点光源辅助观察…

m1 + swoole(hyperf) + yasd + phpstorm 安装和debug

参考文档 Mac M1安装报错 checking for boost... configure: error: lib boost not found. Try: install boost library Issue #89 swoole/yasd GitHub 1.安装boost库 brew install boostbrew link boost 2.下载yasd git clone https://github.com/swoole/yasd.git 3.编…

轻量化神奇!看3D模型格式转换工具HOOPS Exchange如何轻松实现减面操作?

现在很多CAD模型都比较复杂&#xff0c;有时候为了一些特殊用途&#xff08;轻量化显示、布尔运算、CAE网格剖分等&#xff09;&#xff0c;需要到对原始模型进行减面操作。在HOOPS Exchange中&#xff0c;就提供了对模型进行减面操作支持&#xff0c;以下内容就是HOOPS Exchan…

亚信安慧AntDB数据库容灾复制原理

AntDB数据库作为通信运营商领域的杰出的数据服务提供者&#xff0c;一直以来都十分重视数据安全问题&#xff0c;不断通过技术进步、方案创新等方式提升数据容灾能力。在信息化的时代&#xff0c;数据已经成为了重要的资源&#xff0c;对于企业来说&#xff0c;如何存储和管理这…

docker微服务案例

文章目录 建立简单的springboot项目(boot3)boot2建立通过dockerfile发布微服务部署到docker容器编写Dockerfile打包成镜像运行镜像微服务 建立简单的springboot项目(boot3) 1.建立module 2. 改pom <?xml version"1.0" encoding"UTF-8"?> <…

python爬虫实战(7)--获取it某家热榜

1. 需要的类库 import requests from bs4 import BeautifulSoup import pandas as pd2. 请求榜单 def fetch_ranking_data():url "https://m.xxx.com/rankm/" #某家response requests.get(url)if response.status_code 200:return response.contentelse:print(f…

计算机网络期末复习(二)

物理层 解决&#xff1a;如何在连接各种计算机的传输媒体上传输比特流&#xff0c;而不是具体的传输媒体。 传输媒体&#xff1a;比如双绞线、同轴电缆、光纤等等。 主要任务&#xff1a;确定于传输媒体接口有关的一些特性。 传输媒体 导向形 非导向形 调制解调器 数字信号 和…

CSGO服务器搭建细节

在搭建CSGO服务器之前&#xff0c;我们首先需要确保电脑上已经安装好了所需的软件环境。这里我们需要安装SteamCMD和HLDSUpdateTool工具&#xff0c;并在安装之后进行相关的配置&#xff0c;才能顺利地跑起服务器。同时&#xff0c;在准备环境的同时&#xff0c;我们还要考虑服…

贝锐蒲公英云智慧组网解读:实现工业设备远程调试、异地PLC互联

这个时候&#xff0c;使用异地组网是非常有效的解决方案。在12月28日贝锐官方的直播中&#xff0c;请到了贝锐蒲公英的技术研发经理&#xff0c;为大家分享了贝锐蒲公英云智慧组网解决方案&#xff0c;以及蒲公英二层组网相关的技术和应用。 搜索“贝锐”官方视频号&#xff0c…

XCTF:再见李华[WriteUP]

从题目中下载到图片 md5&#xff1a;1a4fb3fb5ee12307 十六位的哈希数&#xff0c;但没任何意义(只有迷惑作用) 扔进binwalk中分析有没有隐藏的文件 发现有个ZIP文件 使用foremost尝试提取 foremost mail2LiHua.jpg 提取成功 但是这个zip文件开了密码 里面的key应该就是…

【图解面试】JS系列 - 如何回答数据类型相关问题(上)

1. JS中的数据类型有哪些&#xff0c;他们的区别是什么&#xff1f; 知识点大纲 语言组织&#xff08;示例&#xff09; 要点&#xff1a;数量 → 种类 → 区别 JS中的数据类型主要有 8 种&#xff0c;分为两大类 基础数据类型 和 引用数据类型 基础数据类型中主要有 Numbe…