Python-02-基础
一、数字
- int(有符号整型)
Python3可以处理任意大小的整数,当然包括负整数。
int = 20
print int
- long(长整型)
Python3中不再区分整型和长整型。
- float(浮点型)
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的。浮点数可以用数学写法,如1.23,3.14,-9.01,等等。
float = 1.2
print float
- complex(复数)
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
二、布尔值
布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来。
>>> True
True
>>> False
False
>>> 3 > 2
True
>>> 3 > 5
False
>>> 5 > 3 and 3 > 1
True
>>> 5 > 3 or 1 > 3
True
>>> not 1 > 2
True
布尔值经常用在条件判断中,比如:
if age >= 18:
print('adult')
else:
print('teenager')
三、字符串
字符串是由数字、字母、下划线组成的一串字符。
在最新的Python 3版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言
# 用单引号括起来表示字符串,例如:
str='this is string'
print str
# 双引号中的字符串与单引号中的字符串用法完全相同,例如:
str="this is string"
print str
# 利用三引号,表示多行的字符串,可以在三引号中自由的使用单引号和双引号,例如:
str='''this is string
this is python string
this is string'''
print str
# 字符串格式化输出的三种方式
name = input("Username:")
age = input("Age:")
job = input("Job:")
salary = input("Salary:")
info1='''
----------Info1 Of %s-----------
Name:%s
Age:%s
Job:%s
Salary:%s
''' % (name,name,age,job,salary)
info2='''
---------info2 of {_name}----------
Name:{_name}
Age:{_age}
Job:{_job}
Salary:{_salary}
'''.format(_name=name,
_age=age,
_job=job,
_salary=salary)
info3='''
-----------info3 of {0}-------------
Name:{0}
Age:{1}
Job:{2}
Salary:{3}
'''.format(name,age,job,salary)
print(info1,info2,info3)
Ps: %s 字符串,%d int,%f 浮点数(分不清楚默认都用%s)
字符串常用操作
- 移除空白
str = " David Hu "
str2 = str.strip() #仅移除两边的空白
- 分割
name = "David,James,Lily"
name2 = name.split(",") # 将字符串转为列表
print("|".join(name2)) # 将列表中的每一个元素合为一个字符串
- 长度
str = "test"
print (len(str))
- 索引
str = "David"
print (str.index("a"))
- 切片
str = 'Hello World!'
print (str) # 输出完整字符串
print (str[0]) # 输出字符串中的第一个字符
print (str[2:5]) # 输出字符串中第三个至第五个之间的字符串
print (str[2:]) # 输出从第三个字符开始的字符串
print (str * 2) # 输出字符串两次
print (str + "TEST") # 输出连接的字符串
- 字符串内置方法简单介绍
name = "David"
age = "22"
print (name.center(40,'-')) # 字符串总长度为40,居中显示,不够的地方以“-”填充
print (name.find('i')) # 找到返回索引,找不到返回-1
print (age.isdigit()) # 判断是否为数字
print (age.isalnum()) # 判断是否为阿拉伯数字和阿拉伯字符(包括字母)。
isidentified() #判断是不是一个合法的标识符(变量名)
print (name.endswith('vid')) # 判断是否以vid结尾。
print (name.startswith("Da")) # 判断是否以Da开头。
print (name.upper()) # 将name全部转为大写字母。
print (name.lower()) # 将name全部转为小写字母。
四、列表
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。
它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。
列表用[ ]标识,是python最通用的复合数据类型。
新建一个列表
new_list = ['David','huyd','James']
或
new_list = list(['David','huyd','James'])
列表常用操作
- 索引
list = ['David','huyd','James']
print(list.index("huyd"))
- 切片
list = ['David','huyd','James','Lily']
list2 = [123, 'John']
print (list) # 输出完整列表
print (list[0]) # 输出列表的第一个元素
print (list[1:3]) # 输出第二个至第三个的元素
print (list[2:]) # 输出从第三个开始至列表末尾的所有元素
print (list * 2) # 输出列表两次
print (list + list2) # 打印组合的列表
- 追加
list = ['David','huyd','James','Lily']
list2 = [1,2,3]
list.extend(list2) # 将list2追加到list,该方法只接受一个列表作为参数。
list.append(123) # 向列表的尾部添加一个新的元素,只接受一个参数。
print (list)
- 插入
list = ['David','huyd','James','Lily']
list.insert(0,"Jay") # 在序列0插入“Jay”
- 删除
list = ['David','huyd','James','Lily']
list.remove("huyd") # 删除huyd
list.pop(0) # 按索引位置删除,如果为空默认删除最后一个。
list.popitem() # 随机删除
del list[0] # 按索引位置删除
del list[0:2] # 一次性删除两个人
del list[:] # 删除整个列表
- 长度
list = ['David','huyd','James','Lily']
print(len(list)) # 打印list元素个数
- 循环
name = ["Jack","Lily","Rain",1,2,3,4,5,6,7,8,9,"Eric","David","James","Monica","Fiona",9,8,7,6,5,4,3,2,1]
for i in range(name.count(9)):
ele_index = name.index(9)
name[ele_index] = 999999999 #将列表中所有的9替换为999999999
print(name)
- 包含(查询)
list = ['David','huyd','James','Lily']
print("huyd" in list) # True or False 判断列表中是否存在一个元素
print(list.count("huyd")) # 统计列表中有几个符合条件的元素
- 修改
list = ['David','huyd','James','Lily']
list[0] = "David(Leader)"
print(list)
列表其他内置方法
name = ["Jack","Lily","Rain","Eric","David","James","Monica","Fiona"]
age = [1,2,3,4,5]
name.reverse() # 列表顺序反转
name.sort() # 排序,py3中不支持字符串和数字混排
name3 = name.copy # 只能copy一级列表,二级列表共享。
name3 = copy.copy(name) # 浅层copy,作用和上面一样,只能copy一级列表。相当于软连接。
name4 = copy.deepcopy(name) # 深层copy,可以拷贝子列表,完全copy一份。
print(name[::2]) # 步长,每隔一个人打印一个人。
五、元组
Python的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
它只有2个方法,一个是count,一个是index。
如下实例:
names = (James,David,Lily)
ages = (11,12,13)
tup1 = () # 空元组
tup2 = (18,) # 元组中只包含一个元素时,需要在元素后面添加逗号。
六、字典
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号「:」分割,每个对之间用逗号「,」分割,整个字典包括在花括号「{}」中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
字典常用操作:
#先新建1个字典
info = {
'stu1101': "James",
'stu1102': "David",
'stu1103': "Susan",
}
print(dic2.fromkeys([1,2,3,4,5,6],'yyyyy')) #暂时没用。
- 添加
info["stu1104"] = "Lily" # 如果元素不存在则添加
- 修改
info["stu1101"] = "Jack" # 如果元素存在则修改
- 删除
info.pop("stu1102") # 标准姿势删除
del info["stu1102"] # 换个姿势删除
info.popitem() # 随机删除
- 查找
=> "stu1102" in info # 查找元素标准用法
True
info.get("stu1103") # 标准姿势获取元素,如果不存在返回None。
info["stu1105"] # 这样也可以获取元素,但是如果不存在会报错。
- 字典循环
for k,v in info.items(): # 会把dict转为list,数据量大时效率低。
print(k,v)
for key in info: # 效率高
print(key,dic2[key])
- 其他内置方法
info.keys() # 获取Key
info.values() # 获取Values
info.setdefault("stu1106","Jones") # 取一个值,如果不存在,就设置一个默认的k v值
# 再新建一个字典info2
=> info2 = { 1:111111,2:222222,3:333333 }
=> info.update(info2) # 使用info2里面的元素更新info
=> info
{3: 333333, 1: 111111, 2: 222222, 'stu1103': 'Susan', 'stu1102': 'David', 'stu1101': 'James'}
- 多级字典嵌套及操作
info3 = {
"中国":{
"李志":["民谣歌手","米店"],
"崔健":["摇滚歌手","红旗下的蛋"]
},
"台湾":{
"周杰伦":["流行歌手","依然范特西"]
},
"新加坡":{
"林俊杰":["流行歌手","江南"]
}
}
info3["中国"]["李志"][1] += "2016"
print (info3["中国"]["李志"])
output:
['民谣歌手', '米店2016']
七、数据运算
- Python算术运算符
以下假设变量a为10,变量b为20:
| 运算符 | 描述 | 实例 |
|---|---|---|
| + | 加 - 两个对象相加 | a + b 输出结果 30 |
| - | 减 - 得到负数或是一个数减去另一个数 | a - b 输出结果 -10 |
| * | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 200 |
| / | 除 - x除以y | b / a 输出结果 2 |
| % | 取模 - 返回除法的余数 | b % a 输出结果 0 |
| ** | 幂 - 返回x的y次幂 | a**b 为10的20次方, 输出结果 100000000000000000000 |
| // | 取整除 - 返回商的整数部分 | 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 |
比较运算:

赋值运算:

逻辑运算:

成员运算:

身份运算:

位运算:

运算符优先级:

Python-02-基础的更多相关文章
- (数据分析)第02章 Python语法基础,IPython和Jupyter Notebooks.md
第2章 Python语法基础,IPython和Jupyter Notebooks 当我在2011年和2012年写作本书的第一版时,可用的学习Python数据分析的资源很少.这部分上是一个鸡和蛋的问题: ...
- Python编程语言基础
今天给大家讲解python语言基础~~ 01.python核心数据类型 整型数 int:整数是不带有小数部分的数字 浮点型数 float:浮点数是带有小数部分的数字(小数部分可以是0) 复数 co ...
- Python 语言基础
Python 语言基础 Python 开发环境 计算机组成 编程语言(计算机语言)是人们为了控制计算机,而设计的一种符号和文字的组合,从而实现向计算机发出指令. 形式是符号和文字的组合 目的是为了控制 ...
- Python实验报告——第2章 Python语言基础
实验报告 [实验目的] 1.熟悉在线编程平台. 2.掌握基本的 python 程序编写.编译与运行程序的方法. [实验条件] 1.PC机或者远程编程环境 [实验内容] 1.完成第二章实例01-07,实 ...
- JavaScript学习02 基础语法
JavaScript学习02 基础语法 JavaScript中很多基础内容和Java中大体上基本一样,所以不需要再单独重复讲了,包括: 各种算术运算符.比较运算符.逻辑运算符: if else语句.s ...
- Python文件基础
===========Python文件基础========= 写,先写在了IO buffer了,所以要及时保存 关闭.关闭会自动保存. file.close() 读取全部文件内容用read,读取一行用 ...
- 3.Python编程语言基础技术框架
3.Python编程语言基础技术框架 3.1查看数据项数据类型 type(name) 3.2查看数据项数据id id(name) 3.3对象引用 备注Python将所有数据存为内存对象 Python中 ...
- Python爬虫基础
前言 Python非常适合用来开发网页爬虫,理由如下: 1.抓取网页本身的接口 相比与其他静态编程语言,如java,c#,c++,python抓取网页文档的接口更简洁:相比其他动态脚本语言,如perl ...
- 小白必看Python视频基础教程
Python的排名从去年开始就借助人工智能持续上升,现在它已经成为了第一名.Python的火热,也带动了工程师们的就业热.可能你也想通过学习加入这个炙手可热的行业,可以看看Python视频基础教程,小 ...
- Python爬虫基础之requests
一.随时随地爬取一个网页下来 怎么爬取网页?对网站开发了解的都知道,浏览器访问Url向服务器发送请求,服务器响应浏览器请求并返回一堆HTML信息,其中包括html标签,css样式,js脚本等.我们之前 ...
随机推荐
- php实现设计模式之 中介者模式
<?php /* * 中介者模式:用一个中介对象来封装一系列的对象交互,使各对象不需要显式地相互引用从而使其耦合松散,而且可以独立地改变它们之间的交互 */ /* * 以一个同学qq群为例说明, ...
- ATM跨行取款的清算方式
ATM跨行取款和POS机是类似的,因为没有商户参与,所以不需要收单清算,过程更为简单. 回到文章最开头的例子:你拿着一张工行卡去建行的ATM取了100元,这个跨行业务在CNAPS体系中的过程如下: 你 ...
- GJM :C#开发 异步处理是目的,多线程是手段
但是BeginAccept和EndAccept不就是system.net.socket封装好的异步socket吗如果用多线程来实现的话那就不叫异步了吧 1.再次强调,异步是目的,多线程是手段. 所谓异 ...
- B-Tree索引在sqlserver和mysql中的应用
在谈论数据库性能优化的时候,通常都会提到“索引”,但很多人其实并没有真正理解索引,也没有搞清楚索引为什么就能加快检索速度,以至于在实践中并不能很好的应用索引.事实上,索引是一种廉价而且十分有效的优化手 ...
- Jsp静态包含和动态包含的区别
1 <%@include file="xxx.jsp"%>为jsp中的编译指令,其文件的包含是发生在jsp向servlet转换的时期,而<jsp:include ...
- MUI-最接近原生App体验的前端框架
MUI:让HTML5达到原生体验的高性能开源框架 UI组件 HelloMUI HTML5+开发移动app教程3-mui开发示例
- jQuery弹出关闭遮罩层
效果体验:http://keleyi.com/keleyi/phtml/jquery/9.htm 完整代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XH ...
- 12种不适宜使用的javascript语法
1. == (o゜▽゜)o☆[BINGO!] Javascript有两组相等运算符,一组是==和!=,另一组是===和!==.前者只比较值的相等,后者除了值以外,还比较类型是否相同. 请尽量不要使用前 ...
- yum使用点滴
yum下载依赖rpm包 先安装一个yum-downloadonly 1 yum install yum-downloadonly完成安装后,yum –help在最后就提示两个命令参数,分别是: Plu ...
- android 双缓存机制
废话不多说,直接贴代码! 所谓的双缓存,第一就是缓存在内存里面,第二就是缓存在SD卡里面,当你需要加载数据时,先去内存缓存中查找,如果没有再去SD卡中查找,并且用户可以自选使用哪种缓存! 缓存内存和缓 ...