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脚本等.我们之前 ...
随机推荐
- Manage application.conf in several environments
When you work in a team, different developers will use different configuration keys in theirapplicat ...
- Python开发:环境搭建(python3、PyCharm)
Python开发:环境搭建(python3.PyCharm) python3版本安装 PyCharm使用(完全图解(最新经典))
- jquery实现导航图轮播
版权声明:作者原创,转载请注明出处! 下面的几个栗子是使用jquery实现Banner轮播的效果,直接将代码贴出来,从最初级没有任何优化和封装的写法,一直到最后一个栗子,一步步进行了优化,加大程序的可 ...
- HTML5学习笔记一 简单学习HTML5
什么是HTML? HTML 是用来描述网页的一种语言. HTML 指的是超文本标记语言: HyperText Markup Language HTML 不是一种编程语言,而是一种标记语言 标记语言是一 ...
- Android—android与js交互以及相互传参
Android中可以通过WebView来实现与js的交互,让用户可以在android客户端看到js写的页面,接下来为大家介绍的就是怎样实现此功能: 首先android项目目录下有“assets”文件夹 ...
- spring.net (3)依赖注入基础2
如何调用其他对象的成员 接上文例子: 现在Person有一个属性 name 静态属性 eye 域 gender public class Person { public string name { ...
- shareSDK实现分享操作时只显示英文字体
今天用shareSDK实现分享操作时,突然发现分享视图只显示英文字体,而之前是显示中文的,以下是自己找到的解决方法: ,首先,找到shareSDk里的“ShareSDKUI_Localizable.s ...
- Android 热修复技术(1)---原理
热修复技术分为几部分: 原理介绍 Android HotFix源码分析 自定义框架 1.Android分包MultiDex原理 首先Dex是什么东西? Dex就是Window里面的exe文件 也就是可 ...
- Oracle索引梳理系列(七)- Oracle唯一索引、普通索引及约束的关系
版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内 ...
- linux 安装jdk
1.Linux安装JDK步骤1. 先从网上下载jdk(jdk-1_5_0_02-linux-i586.rpm) ,推荐SUN的官方网站www.sun.com,下载后放在/home目录中,当然其它地方也 ...