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脚本等.我们之前 ...
随机推荐
- 前端实战Demo:一张图片搞定一页布局
对前端程序员来说,从设计师的手中拿过设计图和素材之后根据需要进行切图是必要的基本功,但是一般的程序员可能对切图并非那么熟悉,所以可能有很多时间都花在使用Photoshop上,那么这里就有一种方法可以减 ...
- H5与CS3权威上.5 绘制图形(1)
1.canvas元素基础知识 (1)在页面上放置canvas元素,相当于在页面上放置一块"画布",可以用Javascript编写在其中进行绘画的脚本. (2)在页面中放置canva ...
- js自建方法库(持续更新)
1.得到一个数,在一个有序数组中应该排在的位置序号: function orderInArr(num,arr) { if(num > arr[0]){ return 1 + arguments. ...
- 有一个小效果而引出的appendTo()函数。
在公司做项目的时候,始终不了解信息逐条向上滚的动画效果,后来查阅相关资料,终于明白了,在这个过程中,让我对appendTo这个函数有了一个全新的认识.话不多说,首先是demo: <!DOCTYP ...
- ECharts外部调用保存为图片操作及工作流接线mouseenter和mouseleave由于鼠标移动速度过快导致问题解决办法
记录两个项目开发中遇到的问题,一个是ECharts外部调用保存为图片操作,一个是workflow工作流连接曲线onmouseenter和onmouseleave事件由于鼠标移动过快触发问题. 一.外部 ...
- 显示快照监控:/SDF/MON
透过SE38运行程序/SDF/MON,可以显示屏幕的监控快照:
- Mac使用极简教程
最近领导让我写一篇关于Mac的使用教程,因为使用人群未知,所以尽量写的通俗易懂,可谓是关于Mac电脑使用的精简教程吧,在此发表出来以供参考. Mac因为安全性而闻名,我们拥有了一部Mac,那么我们来了 ...
- SDK的制作详解
一个简单的SDK制作是很容易的,复杂的sdk其实就和复杂化的应用一样,都是从简单开始的,这里介绍一下sdk的简单制作 步骤: 1.创建sdk,公开文件 2.编译.获取sdk文件 3.导入工程,配置文件 ...
- web.xml中监听器配置
<!-- 监听器的配置:监听器配置完以后,应用系统在启动的时候就会开启这些监听器. 监听器的理解:监听器好比一个卫兵,卫兵一直站在那里等待长官的命令,当卫兵收到长官的命令以后,立即执行 之前已经 ...
- mysql安装及配置服务
第一次安装mysql 1.本地环境:windows 7 -64,mysql版本5.5.28(mysql-5.5.28-winx64.msi) 2.双击mysql-5.5.28-winx64.msi,进 ...