Python变量

1.不需要事先声明变量名及其类型,直接赋值即可。

2.强类型编程语言,根据赋值或运算来推断变量类型。

3.动态类型语言,变量的类型也是可以随时变化的。

>>>  x='Hello world'

>>>  print(type(x))  结果为Hello world

x中存储的不是‘Hello world’,而是'Hello world'的地址。

可以使用下标来访问修改列表、字典等可变序列以及其他自定义对象的元素

>>>  x=[1,2,3]

>>>  print(type(x))  结果为[1,2,3]

>>>  x[1]=5

>>>  print(type(x))  结果为[1,5,3]

字符串和元组属于不可变序列,不能通过下标的方式来修改其中的元素值,试图修改元组中元素的值时会抛出异常

>>>  x=(1,2,3)

>>>  print(type(x))  结果为(1,2,3)

>>>  x[1]=5  #元组是不可变序列,不支持元素值的修改

Python采用基于值的内存管理方式,不同变量的值相同且为不大于256的整数时,该值在内存中只有1份

>>>  x=3

>>>  id(x) 结果为10417624

>>>  y=3

>>>  id(y) 结果为10417624

由上可知 Python变量不直接存储值,而是存储值对象的引用

为变量修改值后其内存地址将会改变。

>>>  x=3     //y=3

>>> id(x)     //id(y)  结果为1786684560

>>>  x+=3

>>>id(x)  结果为1786684752

Python具有自动内存存储管理功能,对于没有任何变量指向的值,Python自动将其删除。

Python变量命名

变量命名同java是一样的必须以字母或下划线开头,大小写敏感,不能有空格及标点符号。

以下划线开头的变量在Python中有特殊含义;不能使用关键字作变量。

拓展   isidentifier()可以用来判断指定字符串是否可作为变量名、函数名。类名等识别符。

例如:  ‘abc3’.isidentifier()  结果为True。

数字

数字是不可变对象,可以表示任意大小的数字,Python的IDLE交互界面可以当做简便计算器来使用。

整数与小数

十进制整数:0 1 2..

十六进制:必须以0x开头

八进制:必须以0o开头

二进制必须以0b开头

浮点数又称小数

复数:Python中支持复数类型

>>>  a=3+4j

>>>  a.real  结果为3.0

除此之外还有乘除,共轭(需要特定的函数)

 数字的可读性

Python3.6x开始支持在数字中间位置使用单个下划线作为分隔来提高数字的可读性。

>>>  1_000_000    等同于1000000

>>>   1_2+3_4j       等同于(12+34j)

分数

标准库fractions的Fraction对象支持分数

>>>  form fractions import Fraction

>>>  x=Fraction(3,5)  #创建分数

>>>  x.numerator   #分子        结果为3

>>>  x.denominator   #分母     结果为5

字符串

字符串是用单引号、双引号、三引号界定的符号系列,字符串属于不可变序列。

转义字符

具体内容同c语言相同,在字符界定符前面加R或r表示原始字符,不会对其中的特殊字符进行转义。

运算符

除+、-、*、/、%、<、<=、>、>=、==、!=、or(||)、and(&&)、not(!)外还有//(求整商)、**(幂运算)、in(成员测试)、is(对象统一性测试)、|(位或)、^(位异或)、&(位与)、<<(左位移)、>>(右位移)、~(位求反)、&(集合交集)、|(集合并集)、^(对称差集)。

运算符+:不同于java可以连接数字和字符,Python不支持不同类型的对象之间相加或连接。

运算符*:可以用于列表、字符串、元组等;类型,当其与整数做*时,表示对内容进行重复。但字典和集合不支持与整数相乘。

运算符//:表示求整商,例如:15//4结果为3,求整商的结果与C不同,是向下取整。

成员测试运算符in:测试一个对象是否为另一个对象的元素;同一性测试运算符is:测试两个对象是否为同一个,如果两个对象是同一个,则他们有相同的地址。

内置函数

进制转化函数:bin()、oct()、int()、hex()、用来将数字转化为二进制、八进制、十进制和十六进制形式。

ord函数与chr函数:ord()用来返回单个字符的Unicode码,而chr()用来返回Unicode编码对应的字符。例如:ord('a')  结果为97,chr(ord('A')+1)结果为B。

统计函数:max()、min()、sum()分别用来计算列表、元组和其他可迭代对象中所有元素的最大、最小以及之和。

判断数据类型函数:type()、isinstance(  , )。

2月21日python程序设计的更多相关文章

  1. Python 学习日志9月21日

    9月21日 周四 今天是个特殊的日子吗,总感觉9月21这个日子听着怪怪的. 今天早晨看<Head First HTML and CSS>第13章节“表格和更多列表”,内容不多,看完并做了详 ...

  2. 关于2013年1月21日的DNS故障分析文章

    首页 资讯 小组 资源 注册 登录       首页 最新文章 业界 开发 IT技术 设计 创业 IT职场 访谈 在国外 经典回顾 更多 > - 导航条 - 首页 最新文章 业界 - Googl ...

  3. 2016年12月21日 星期三 --出埃及记 Exodus 21:16

    2016年12月21日 星期三 --出埃及记 Exodus 21:16 "Anyone who kidnaps another and either sells him or still h ...

  4. 2016年11月21日 星期一 --出埃及记 Exodus 20:12

    2016年11月21日 星期一 --出埃及记 Exodus 20:12 "Honor your father and your mother, so that you may live lo ...

  5. 2016年10月21日 星期五 --出埃及记 Exodus 19:5

    2016年10月21日 星期五 --出埃及记 Exodus 19:5 Now if you obey me fully and keep my covenant, then out of all na ...

  6. 成都Uber优步司机奖励政策(2月21日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  7. 长沙4月21日开发者大会暨.NET社区成立大会活动纪实

    活动总结 2019年4月21日是一个斜风细雨.微风和煦的美好日子,由长沙.NET技术社区.腾讯云云加社区.微软Azure云技术社区.中国.NET技术社区.长沙柳枝行动.长沙互联网活动基地(唐胡子俱乐部 ...

  8. 【12月21日】A股滚动市盈率PE历史新低排名

    2010年01月01日 到 2018年12月21日 之间,滚动市盈率历史新低排名.上市三年以上的公司,2018年12月21日市盈率在300以下的公司. 1 - 厦门象屿(SH600057) - 历史新 ...

  9. 成都Uber优步司机奖励政策(4月21日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  10. 北京Uber优步司机奖励政策(4月21日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

随机推荐

  1. word文件打开报错:abnormal program termination

    部分word文件打开后报错 处理方法 1.更改默认打印机 2.调整开机启动项 取消该项:cyberkI guard service的开机自启动 (赛博昆仑安全软件) 3.调整word的COM加载项

  2. my tools in windows

    Q-Dir the Quad Explorerhttp://www.q-dir.com/ NetSpeed Monitor - Network Speed Monitor for Windows 10 ...

  3. OTP: gen_server的简单应用

    1.确定回调模块名 2.编写接口函数 3.在回调模块里编写六个必需的回调函数 1.确定回调模块名 my_bank 2.编写接口方法 start() 打开银行 stop() 关闭银行 new_accou ...

  4. mysql开启root用户远程管理权限

    来源:https://blog.csdn.net/qq_29670375/article/details/120590041 1.使用"mysql -uroot -proot"命令 ...

  5. MySQL时区的问题

    我这里是在application.properties文件中配置的MySQL连接信息. 开始时间显示不征程是因为没有配置时区,后来加上了setTimeZone=Asia/Shanghai,时间显示正常 ...

  6. ubuntu - 程序运行的一些基础知识

    1.指定编码格式 -finput-charset=GB2312 指定 C 程序的编码方式为 GB2312,不指定时默认编码方式为 UTF-8 -fexec-charset=GB2312 指定 可执行程 ...

  7. Python游戏开发常用库

    PyWeek:编程挑战,主要是Python游戏开发方面的 PyGame:PyGame在优秀的SDL库之上添加了更多功能.允许使用python语言创建功能齐全的游戏和多媒体程序.具有高度的可移植性,几乎 ...

  8. rest-assured:外部数据驱动之通过CsvFile数据源来使用外部数据源(org.junit.platform.commons.PreconditionViolationException: Classpath resource [repo.csv] does not exist)

    代码: package ghcdgj.restful.framework;import static io.restassured.RestAssured.given;import static io ...

  9. vi 异常退出出现 E325:Attention的解决办法

    在linux系统下使用vi编辑程序的时候,没有保存退出,直接关闭了,出现了以下的情况: 打开就会显示filename.c.swap已经存在. 这是因为vi在编辑文件时会创建一个交换文件swap fil ...

  10. 2022-3-18内部群每日三题-清辉PMP

    1.在评估项目活动现状的会议中,团队发现存在一些影响可交付成果的风险.项目经理应该怎么做? A.跟踪已发现的风险,识别和分析新风险,并评估整个项目的风险过程有效性 B.记录风险管理信息用于经验教训 C ...