2月21日python程序设计
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程序设计的更多相关文章
- Python 学习日志9月21日
9月21日 周四 今天是个特殊的日子吗,总感觉9月21这个日子听着怪怪的. 今天早晨看<Head First HTML and CSS>第13章节“表格和更多列表”,内容不多,看完并做了详 ...
- 关于2013年1月21日的DNS故障分析文章
首页 资讯 小组 资源 注册 登录 首页 最新文章 业界 开发 IT技术 设计 创业 IT职场 访谈 在国外 经典回顾 更多 > - 导航条 - 首页 最新文章 业界 - Googl ...
- 2016年12月21日 星期三 --出埃及记 Exodus 21:16
2016年12月21日 星期三 --出埃及记 Exodus 21:16 "Anyone who kidnaps another and either sells him or still h ...
- 2016年11月21日 星期一 --出埃及记 Exodus 20:12
2016年11月21日 星期一 --出埃及记 Exodus 20:12 "Honor your father and your mother, so that you may live lo ...
- 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 ...
- 成都Uber优步司机奖励政策(2月21日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 长沙4月21日开发者大会暨.NET社区成立大会活动纪实
活动总结 2019年4月21日是一个斜风细雨.微风和煦的美好日子,由长沙.NET技术社区.腾讯云云加社区.微软Azure云技术社区.中国.NET技术社区.长沙柳枝行动.长沙互联网活动基地(唐胡子俱乐部 ...
- 【12月21日】A股滚动市盈率PE历史新低排名
2010年01月01日 到 2018年12月21日 之间,滚动市盈率历史新低排名.上市三年以上的公司,2018年12月21日市盈率在300以下的公司. 1 - 厦门象屿(SH600057) - 历史新 ...
- 成都Uber优步司机奖励政策(4月21日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 北京Uber优步司机奖励政策(4月21日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
随机推荐
- 嵌入式Linux应用开发
3-4 Makefile常用的函数 i. $(foreach var,list,text) 简单地说,就是 for each var in list, change it to text. 对lis ...
- 在java路径上找不到javax.servlet.http.HttpServlet
1.将写好的网页代码导入Java中会发现index.jsp文件开头部分出现报错 2.错误提示是找不到java路径问题 3.在项目中鼠标右键进行找到Build Path选项点击进去 4.找到Librar ...
- NVIDIA的GPU算力Compute Capalibity
可查看官方查询地址:https://developer.nvidia.com/cuda-gpus
- 关于 echarts 使用 geo 制作地图 tooltip 不显示问题(转)
原文地址 我之前遇到过这问题,单独设置 tooltip 没效果,geo 下面也有 tooltip 属性,但是也不管用,网上查了一下说 geo 不支持 tooltip 提示框显示,就自己根据 echar ...
- Azkaban 4.0.0 系列(一)-- Solo-Server
下载 链接 https://github.com/azkaban/azkaban/releases/4.0.0.tar.gz 解压 tar -xzvf 4.0.0.tar.gz -C 自定义目标目录 ...
- Go实现KMP和Sunday算法
KMP 1 func KMP(str, substr string) int { 2 if substr == "" { 3 return 0 4 } 5 strLen := le ...
- div 自动高度
问题: 一个页面分上下二部分,上部分高度是固定不变的,要求下部分高度自动占满屏幕,如何实现? 第一感觉是准备用 JS 实现. 今天发现一个用 CSS 实现的方法 position: fixed; bo ...
- 【C++复习】第七章 类的继承(基类、派生类、虚基类)
1.基类与派生类 类的继承:面向对象的程序设计中提供了类的继承机制,允许程序员在保持原有类特性的基础上,进行更具体.更详细的定义 用途:代码的重用性(继承)和可扩充性(派生) 例:植物大战僵尸游戏中, ...
- redis使用示例
package com.atguigu.gulimall.product;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.Ty ...
- centos7 部署 DNS 主从
centos7 部署 DNS 主从 环境 名称 ip地址 cpu 内存 yz-dns-master 10.148.100.81 4c 8G yz-dns-slave 10.148.100.82 4c ...