python基本语句及其意思_Python语法基础(1),一
一、Python的对象模型
对象是Python语言中最基本的概率,在Python中处理的一切都是对象。Python中许多内置对象可提供编程者使用,
内置对象可直接使用,如数字、字符串、列表 、del等;非内置对象需要导入模块才能使用,如正弦函数sin(x),
随机产生函数random()等;
常用内置对象如下:
二、Python变量(不需要事先声明变量名及其类型)
如
>>>x = 3 创建整型变量x,并赋值为3
>>> x = 'hello world. ' 创建字符串变量x,并赋值为‘hello world.’
如果这两个创建是在一起的时候,x的值已经不是3了,改为hello word.
如下:
x = 3
print(x)
x = 'hello world'
print(x)
运行结果:
E:\project\Python\python\python.exe E:/project/Python/Process/Test1/Test.py
3
hello world
Process finished with exit code 0
x = 3
#print(x) (#注释符号)
x = 'hello world'
print(x)
运行结果:
E:\project\Python\python\python.exe E:/project/Python/Process/Test1/Test.py
hello world
Process finished with exit code 0
Python属于强类型编程语言,Python解释器会根据**赋值或运算**来自动推断变量类型。
Python还是一种动态类型语言,变量的类型也是可以随时变化的。
如:
x = 3
print(type(x))
输出结果:
x = 'hello world.'
print(type(x))
输出结果:
x = [1,2,3]
print(type(x))
x = isinstance(3,int)
print(type(x))
输出结果:
课外补充:
isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。
isinstance() 与 type() 区别:
type() 不会认为子类是一种父类类型,不考虑继承关系。
isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。
重点:
如果变量出现在赋值运算符或复合赋值运算符(例如+=、*=等)的左边,则表示创建变量或修改变
量的值,否则表示应用该变量的值。
x = 3
print(x**2) #**2 表示x的二次方
x += 6 #等价于x = x(3)+6
print(x)
x = [1,2,3]
x[2] = 5
print(x) #print 可以直接输出x这个列表
print(x[2])
运行结果:
9
9
[1, 2, 5]
5
**特别注意: 字符串和元组属于不可变序列,不能通过下标的方式来修改其中的元素值
#(tuple)元组:
x = (1,2,3)
print(x)
x[1] = 3
输出结果:
Traceback (most recent call last):
File "E:/project/Python/Process/Test1/Test.py", line 3, in
x[1] = 3
(1, 2, 3)
TypeError: 'tuple' object does not support item assignment
#元组对象不支持不支持项目分配
#(stirng)字符串:
x = 'hello world'
print(x)
x[1] = 3
输出结果:
hello world
Traceback (most recent call last):
File "E:/project/Python/Process/Test1/Test.py", line 3, in
x[1] = 3
TypeError: 'str' object does not support item assignment
#字符串对象不支持项目分配
**在Python中,准许多个变量指向同一个值(**补充:id()函数用于获取对象的内存地址。id(object返回对象的“身份”。这是一个整数(或长整数),在该对象的生存期内,此整数保证是唯一且恒定的。具有不重叠生存期的两个对象可能具有相同的id()值。在CPython实现细节:这是对象在内存中的地址。)
x = 3
print(id(x))
y = x
print(id(y))
**输出结果:**
E:\project\Python\projectTopy\venv\Scripts\python.exe E:/project/Python/projectTopy/Test.py
140734928023872
140734928023872
Process finished with exit code 0
如图:
如果当其中一个变量改值以后,其内存地址将会变化,但这并不影响另一个变量
x = 3
y = x
x += 6
print(x)
print(id(x))
print(id(y))
输出结果:
E:\project\Python\projectTopy\venv\Scripts\python.exe E:/project/Python/projectTopy/Test.py
9
140735356760576
140735356760384
Process finished with exit code 0
如图:
所以我们得出,
Python采用的是
基于值得内存管理方式
,如果为不同变量赋值为相同值,这个值在内存中只有一份,多个变量指向同一个内存地址。
x = 3
y = 3
z = 3
k = x
j = y
l = z
print(id(x),id(y),id(z),id(k),id(j),id(l))
运行结果:
E:\project\Python\projectTopy\venv\Scripts\python.exe E:/project/Python/projectTopy/Test.py
140735356760384 140735356760384 140735356760384 140735356760384 140735356760384 140735356760384
Process finished with exit code 0
在我们验证结论过程中,我们使用到了变量的赋值,其实Python变量的赋值与一般的其他语言有一些差别。
Python变量语句的执行过程:
1、首先把等号右侧表达式的值计算出来,然后在内存中寻找一个位置把值存放进去,最后创建变量指
向这个内存地址。Python中的变量并不直接存储值,而是存储了值得内存地址或者应用,这也是变量类
型随时可以更改的原因
2、同时Python具有自动存储管理功能,对于没有任何变量指向的值,Python自动将其删除,Python跟
踪所有的值,并自动删除不再有变量指向的值。因此,Python程序猿一般情况下不需要太多考虑内存管
理的问题。
3、显示使用del命令删除不需要的值或显示关闭不再需要访问的资源,乃是一个好的习惯,同时也是一个优秀程序员的基本素养之一。
Python变量的定义注意事项:
1、变量名必须以字母或下划线开头,但以下划线开头的变量在Python中有特性含义
2、变量名中不能有空格以及标点符号(括号、引号、逗号、斜线、反斜线、冒号、句号、问号等)
3、不能使用关键字作为变量名,
可以导入keyword模块后使用print(keyword.kwlist)查看所有PythoN
关键字
4、不建议使用系统内置的模块名、类型名或函数名以及已导入的模块名及其成员名作变量名,这将会
改变其类型和含义,
可以通过dir(_ builtins_ )查看所有内置模块、类型和函数;
5、变量名对英文字母的大小写敏感,如x与X不是同一个变量。
三、数字
数字的特性:
1、数字是不可变对象,可以表示任意大小的数字
2、整数类型可以分为:十进制(我们平时使用的整数)、十六进制整数(利用十六个数字
(1,2,3,4,5,6,7,8,9,a,b,c,d,e,f)来表示整数,数字前面必须以0x开头,如0xc)、八进制整数(与十六进制类似,必须以0o开头)、二进制整数(必须以0b开头)
3、浮点数(小数)
4、Python内置支持
复数类型
a = 1 + 12j
b = 12 + 1j
c = a + b
print(c)
运行结果:
E:\project\Python\projectTopy\venv\Scripts\python.exe E:/project/Python/projectTopy/Test.py
(13+13j)
Process finished with exit code 0
/**使用c.real ---> 查看复数实部
c.imag ----> 查看复数虚数
c.conjugate() ---->返回共轭复数
a*b---->复数乘法
a/b---->复数除法
*/
5、Python3.6.X支持数字中间位置使用单个下划线作为分割来提高数字的可读性,类似于数学上使用逗号作为千分位分隔
符。
>>>x = 1_000_000
>print(x)
1000000
四、字符串
性质:
1、用单引号、双引号或三引号界定的符号系列称为字符串
2、 单引号、双引号、三单引号、三双引号可以互相嵌套, 用来表示复杂字符串 ‘abc’、‘123’、‘中国
‘、“Python”、’’‘Tom said, “Let’s go”’’’
print("janry")
print('seri')
print('xx'"x")
print('''tomm''')
运行结果:
E:\project\Python\projectTopy\venv\Scripts\python.exe E:/project/Python/projectTopy/Test.py
janry
seri
xxx
tomm
Process finished with exit code 0
3、 字符串属于不可变序列 空字符串表示为’‘或 “”
4、 三引号’’'或"""表示的字符串可以换行,支持排版较为复 杂的字符串;三引号还可以在程序中表示较长的注
字符串的运算:
1、字符串合并
a = "xiha"
b = "haxi"
c = a + b
d = "hshsh""xjjjx"
print(c)
print(d)
运行结果:
E:\project\Python\projectTopy\venv\Scripts\python.exe E:/project/Python/projectTopy/Test.py
xihahaxi
hshshxjjjx
Process finished with exit code 0
#注意 :不准许如此连接字符串
d = ab # 错误 NameError: name 'ab' is not defined
2、字符串格式化
%d、%i转换为带符号的十进制整数
%o转换为带符号的八进制整数
%x、%X转换为带符号的十六进制整数
%e转化为科学计数法表示的浮点数(e 小写)
%E转化为科学计数法表示的浮点数(E 大写)
%f、%F转化为十进制浮点数
%g智能选择使用 %f 或 %e 格式
%G智能选择使用 %F 或 %E 格式
%c格式化字符及其 ASCII 码
%r使用 repr() 函数将表达式转换为字符串
%s使用 str() 函数将表达式转换为字符串
%10d 表示输出的整数宽度至少为 10;
%20s 表示输出的字符串宽度至少为 20。
%m.nf 、 %.nf (对于小数(浮点数),print() 还允许指定小数点后的数字位数,也即指定小 数的
输出精度。精度值需要放在最小宽度之后,中间用点号.隔开;也可以不写最小宽度,只写精度。
print('%1.3f'%12.22222) #输出数字的编写形式,注意引号的个数
print("%d:%c"%(65,65))#输出字符
#print("%1.3"%12.111)
print("""my name is %s ,and age is 12 %d"""%('xixi',39)) #输出字符串
print()
运行结果:
E:\project\Python\projectTopy\venv\Scripts\python.exe E:/project/Python/projectTopy/Test.py
12.222
65:A
my name is xixi ,and age is 12 39
Process finished with exit code 0
3、常用转义字符
转义字符用法
:
print('hello \n world') #\n转行符
print('\101') #三位八位进制对应的字符
print('\x41') #两位十六进制数对应的字符
print('我是\u5f20\u4e09') #四位十六进制数表示Unicode字符
运行结果:
E:\project\Python\projectTopy\venv\Scripts\python.exe E:/project/Python/projectTopy/Test.py
hello
world
A
A
我是张三
Process finished with exit code 0
补充:
字符串界定符前面加字母r或R表示
原始字符串
,其中的特 殊字符不进行转义,但字符串的最后一个
字符不能是\。 原始字符串主要用于正则表达式、文件路径或者URL的场合。
path = 'C :\Windows\notepad.exe' #字符\n被转义为换行符
print(path)
PATH = r'C:\windows\notepad.exe' #原始字符串,任何字符都不转义
print(PATH)
运行结果:
E:\project\Python\projectTopy\venv\Scripts\python.exe E:/project/Python/projectTopy/Test.py
C :\Windows
otepad.exe
C:\windows\notepad.exe
Process finished with exit code 0
继续学习,敬请查看
Python 语法基础(二)
原文链接:https://blog.csdn.net/weixin_43452424/article/details/104519943
python基本语句及其意思_Python语法基础(1),一相关推荐
- [Python从零到壹] 三.语法基础之文件操作、CSV文件读写及面向对象
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
- python创建和控制的实体称为_Python语法基础
Python语法基础 数据对象和组织 对现实世界实体和概念的抽象 简单类型(表示):整数-int.浮点数-float.复数-complex.逻辑值-bool.字符串-str 容器类型(组织):列表-l ...
- [Python从零到壹] 二.语法基础之条件语句、循环语句和函数
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
- python猜数字游戏、在程序中预设一个_python 语法基础练习题
python 语法基础练习题 1. 分别解释"=","==","+="的含义(口述) 2.两个变量值的关系?(口述) n1 = 123456 ...
- python判断语句入门教程_Python中的条件判断语句基础学习教程
if语句用来检验一个条件, 如果 条件为真,我们运行一块语句(称为 if-块 ), 否则 我们处理另外一块语句(称为 else-块 ). else 从句是可选的. 使用if语句: ? 输出: ? 在这 ...
- python 循环语句结果存储_Python条件语句和循环语句
前言 通常都听到别人说,计算机很牛逼,很聪明,其实计算机一点都不聪明,光是你要跟他沟通,都会气 shi 你,聪明的是在写程序的你. 写程序就是跟计算机沟通,告诉它要做什么. 竟然是这样,那么肯定缺少不 ...
- python输出语句print用法_python输出语句print的用法是什么?_后端开发
python输出语句"print()"是式样化输出函数,用于打印输出."print()"函数会自动换行:printf()函数的语法为:"printf( ...
- python的语句有哪些_python基本语句有哪些
Python是一种计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项目的开发.下面我们就为 ...
- python循环语句打印矩形_Python中使用循环语句打印三角形、菱形
原博文 2017-08-19 11:20 − 前言:在学习开发语言循环语句的使用过程中,经常会打印各种形状来验证对循环语句的熟练掌握程度,接下来就使用python来打印多种形状练习. 如下示例中:变量 ...
最新文章
- 2、cocos2d-js引擎的安装和新建
- Spring Boot CMI 使用笔记
- Git上传代码到coding.net
- 10.1 SQ03维护用户组
- 离线语法设置 科大讯飞_科大讯飞智能键盘K710评测 输入速度超级加倍
- Jenkins-FQA
- 服务器网络销售软文,关于云服务器的软文
- 2016 ACM/ICPC 沈阳站 小结
- EMS设置发送连接器和接收连接器邮件大小
- C基础(41——45)
- JSP基础之九九乘法表(利用JSP脚本段制作一张九九乘法表)
- fc安卓模拟器_安卓电视卡丑慢!装上它们,像iOS一样省心易用
- VBS好玩的整人小程序
- android 9.0系统下载地址,安卓9.0正式版下载地址
- 前端CSS核心部分盒子模型
- 解读 | 数据分析领域七大热门职业
- 怎么从头开始构建一个基于web浏览器的云游戏平台--前言——带目录
- C#使用iTextSharp将数据导出成PDF
- C语言中字符串的初始化
- 在linux中连接mysql数据库服务器_Linux下连接Mysql服务器的方式
热门文章
- C++学习 优雅的实现对象到文件的序列化/反序列化 关键字serialize
- 发动机的工作原理,你知道吗?
- OpenGL实用开源代码列表
- AVS解码器在DSP平台上的优化
- 《 Spring 实战 》(第4版) 读书笔记 (未完结,更新中...)
- Git使用教程-idea系列中git使用教程
- C#任务调度——LimitedConcurrencyLevelTaskScheduler
- HDU 5573 Binary Tree 构造
- JSP动态网站环境搭建应用中的详细步骤(Tomcat和Apache/IIS的整合)
- hadoop1常见配置含义