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脚本等.我们之前 ...
随机推荐
- entityframework学习笔记--003-使用model first
首先,我个人觉得这(model first 即模型优先)是一个鸡肋似的功能.当赞扬着他的强大的功能的同时,你也会觉得这个功能好像是不是不怎么需要,也很少使用. 1.右键你的项目,选择"添加& ...
- 【Spring】浅析Spring框架的搭建
c目录结构: // contents structure [-] Spring是什么 搭建Spring框架 简单Demo 1,建立User类 2,建立Test类 3,建立ApplicationCont ...
- 谷歌浏览器下载地址 chrome最新版本 百度云地址
每次下载更新谷歌浏览器是一件很蛋疼的事情.百度搜索"谷歌浏览器下载地址",居然有很多骗子网站,相信有很多不知所以的人中招了.收集了一些chrome的安装包,放在了百度云里面(打不开 ...
- git mv 命令 移动或重命名
最基本的代码: git mv file_old file_new 手册: NAME git-mv - Move or rename a file, a directory, or a symlink ...
- c#的那些有效性判断
在开发中合理的对象有效性判断是程序健壮性的重要保障,也有利于提高程序的执行效率.本人简单总结了几个需要判断对象是否为空的例子,分享如下: 一.集合对象中可以包含空对象,遍历集合对象时要同时判断集合中的 ...
- jQuery - 全国省市县三级联动
最近有空用jquery做了一个全国省市县的三级联动,在以后或许可以用的到 ,遗憾的是我还没用封装,等有空看能不能封装成一个插件 废话不多说,贴上代码: <!doctype html> &l ...
- 用JS做一个简单的电商产品放大镜功能
使用js制作一个简单的产品放大图 购物网站的产品页经常会放有一个产品展示图区.该图区有一个功能就是产品图的放大功能,移动左侧的焦点区域,可以放大细节部分观看,详情如下图.实现该功能的方法也非常简单. ...
- CentOS桌面安装
1.显示系统已经安装的组件,和可以安装的组件: #yum grouplist 2.如果系统安装之初采用最小化安装,没有安装xwindow,那么先安装: #yum groupinstall " ...
- Android—Socket中关闭IO流后导致Socket关闭不能再收发数据的解决办法
以Socket发送数据为例: 发送数据时候要声明:DataOutputStream os = new DataOutputStream(socket.getOutputStream()); 最近开发遇 ...
- Android Support Library介绍
v4 Support Library 这个库是为Android 1.6(API版本为4)及以上的版本设计的,它包含大部分高版本中有而低版本中没有的API,包括application component ...