一、Python文件类型

1、源代码

hello.py:

1 #!/usr/bin/python
2 print "hello world"

2、字节代码:python源文件经编译后生成的扩展名为“pyc”的文件

编译方法(compile.py):

import py_compile
py_compile.compile('hello.py')

然后执行:

$ python compile.py

会生成二进制的 hello.pyc 文件

3、优化代码:经过优化的源文件,扩展名为 pyo

在命令行下执行下面的命令优化:

$ python -O -m py_compile hello.py

二、python 变量

python变量赋值(可变与不可变)

三、python运算符

1、整数除法 //

即只取结果中的整数部分:

>>> 3.0 // 2
1.0
>>> 3 // 2
1

2、求幂运算 **

>>>3**3
27
>>>3**2
9

3、逻辑与、逻辑或、逻辑非

>>> 1>2 and 3>2
False
>>> 2>1 and 3>2
True >>>1>2 or 3>2
True
>>>1>2 or 1>3
False >>> not 1>2
True
>>> not 2>1
False

4、运算符优先级:

四、python 数据类型

1、数字:分整型、长整型、浮点、复数

其中复数(用j表示):

>>> a=3.14j
>>> type(a)
<type 'complex'>
>>>

2、字符串:单双引号一样

>>> str1="a"
>>> str2='a'
>>> id(str1)
140710100204544
>>> id(str2)
140710100204544
>>> mail="""tom:
... i am jack
... goodbye
... """
>>> print mail
tom:
i am jack
goodbye >>>

切片:[start:stop:step]

即:[开始索引:结束索引:步长值]

开始索引:同其它语言一样,从0开始。序列从左向右方向中,第一个值的索引为0,最后一个为-1

结束索引:切片操作符将取到该索引为止,不包含该索引的值。

步长值:默认是一个接着一个切取,如果为2,则表示进行隔一取一操作。步长值为正时表示从左向右取,如果为负,则表示从右向左取。步长值不能为0

注明:如果是string[ : ]的模式,那么就是[start:stop]

示例:

>>>exam="abcdefghi"
>>>print exam[:-1]
abcdefgh
>>>print exam[2:]
cdefghi
>>>print exam[:7:2]
aceg
>>>print exam[:3:-1]
ihgfe

注意:最后一行,因为第三个参数是-1,所以是倒序输出的,但是此时的索引并没有倒序排列

3、列表:处理一组有序项目的数据结构,是可变类型数据,用[]表示,包括了多个以逗号隔开的项目。

>>> l=['jim',25,'male']
>>> l
['jim', 25, 'male']
>>> type(l)
<type 'list'>
>>> l[0]
'jim'
>>> l[0]='tom'
>>> l[0]
'tom'
>>> l
['tom', 25, 'male']

空列表:

>>>l=[]

只有一个值:

>>>l=['abc']

列表常用方法:

取值:list[index] 或者 list[start:end:offset]

追加:list.append(x);

追加列表:list.extend([x,y]);结果为[...,x,y],注意跟append的区别

删除:del(list[index]) 或者 list.remove(list[index])

修改:list[index]=x

查找:var in list

>>>l=['a',1]
>>>'a' in l
True
>>>'b' in l
False

4、元组:跟列表类似,只是跟字符串一样是不可变的,即你不能修改元组(只能在内存中重新创建一个)。

  • 元组通过圆括号中用逗号分隔的项目定义
  • 元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被用的元组的值不会改变
>>>userinfo=("tom", 30, "man")
>>>userinfo[0]
"tom"

空元组:

>>>t=()

单一元素的元组:

>>>t=(1,)

注意,不能省略逗号

用变量接收元组:

>>> t
('jim', 25, 'man')
>>> name,age,gender=t
>>> name
'jim'
>>> age
25
>>> gender
'man' >>>a,b,c=(1,2,3)
>>>a
1
>>>b
2
>>>c
3

5、字典:python中唯一的映射类型(哈希表)

创建方式:

(1){}

>>>dic={0:0,'a':'abc'}
>>>dic[0]
0
>>>dic['a']
'abc'

(2)使用工厂方法dict()

>>> fdict=dict([('x',1),('y',2)])
>>> fdict
{'y': 2, 'x': 1}

(3)fromkeys():字典中的元素具有相同的值,默认为None

>>> d={}.fromkeys(('x','y',0), -1)
>>> d
{'y': -1, 'x': -1, 0: -1}

字典常用方法:

(1)、使用键值访问更新

(2)、del dict1['a']删除字典中键值为a的元素

(3)、dict1.pop('a') 删除并返回键为'a'的元素

(4)、dict1.clear()删除字典所有元素

(5)、del dict1 删除整个字典

(6)、str(dict1) 转换为字符串

(7)、get(key[, msg]) 如果key不存在返回msg(没有为空)值

(8)、dict1.items() 返回键值对元组的列表

>>> d
{'a': 1, 'b': 2}
>>> d.items()
[('a', 1), ('b', 2)]

(9)、dict1.keys() 返回字典中键的列表

>>> d
{'a': 1, 'b': 2}
>>> d.keys()
['a', 'b']

(10)、dict1.setdefault(key,default=None) 若key存在则返回其value,否则dict1[key]=default

(11)、dict1.update(dict2) 将dict2中的键值对添加到字典dict1中,如果有重复就覆盖,否则添加。

(12)、len(dict1) 返回字典中有多少项

>>> d
{'a': 1, 'b': 2}
>>> len(d)
2

6、序列:列表、字符串、元组都是序列

切片:序列后跟一个方括号,方括号中有一对用冒号隔开的可选数字,数字是可选的,冒号是必须的。如:

>>>exam="abcdefghi"
>>>print exam[:-1]
abcdefgh
>>>print exam[2:]
cdefghi
>>>print exam[:7:2]
aceg
>>>print exam[:3:-1]
ihgfe

索引:序列后跟一个方括号,方括号中有一个数字(可以是负数)。如:

>>>exam="abcdefghi"
>>>print exam[0]
a

五、序列基本操作

1、len:序列长度

>>>exam="abc"
>>>len(exam)
3

2、+:连接两个序列

>>>str1="abc"
>>>str2="d"
>>>str1+str2
abcd

3、*:重复序列元素

>>>str1="abc "
>>>str1*3
abc abc abc

4、in:判断元素是否在序列中

>>>str1="abc "
>>>'c' in str1
True
>>>'x' in str1
False

5、max:返回最大值

>>>s=''
>>>max(s)
'5'

6、min:返回最小值

>>>s=''
>>>min(s)
'1'

7、cmp(tuple1, tuple2):比较两个序列值是否相同

>>>str1='abc'
>>>str2=''
>>>cmp(str1,str2)
1 >>>str1=''
>>>cmp(str1,str2)
-1 >>>str1=''
>>>cmp(str1,str2)
0

六、

python学习笔记一:数据类型的更多相关文章

  1. Python学习笔记 - day3 - 数据类型及运算符

    Python的数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同 ...

  2. python学习笔记二 数据类型(基础篇)

    Python基础 对于Python,一切事物都是对象,对象基于类创建         不同类型的类可以创造出字符串,数字,列表这样的对象,比如"koka".24.['北京', '上 ...

  3. Python学习笔记---数 数据类型 运算

    python的四种数类型: 整数 int 浮点型 float 布尔 boolen 复数 complex >>> type(5)<class 'int'>>>& ...

  4. Python学习笔记3_数据类型

    Python数据类型:数字.字符串.列表.元祖.字典 一.数字类型:(整型.长整型.浮点型.复数型) 1.整型(int):表示范围-2,147,483,648到2,147,483,647 2.长整型( ...

  5. 02 Python学习笔记-基本数据类型(二)

    一.基本知识 1.缩进: 2.一行多条语句: 3.断行: 4.注释 # 单行注释 '''这是一段 多行注释''' 5. 变量 1. 变量类型(局部变量.全局变量.系统变量) 2. 变量赋值 多重赋值x ...

  6. python学习笔记(数据类型)

    python数据类型: int 类型 float 小数类型 string 字符串 布尔类型 a = True b = False 1.列表,也称数组或list或array.它的表达方式通过下标或索引或 ...

  7. python学习笔记:数据类型——列表/数组(list)

    Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素.通过下标访问列表中的元素(又称索引.角标),下标从0开始计数.list定义,使用中括号[]. l ...

  8. python学习笔记:数据类型——数字、字符串、元祖、字典

    计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的数 ...

  9. python学习笔记之数据类型(二)

    上一篇博客,小波介绍了python的入门和简单流程控制,这次写python的数据类型和各种数据类型的内置方法. 一.数据类型是何方神圣? 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当 ...

  10. python学习笔记之数据类型、字符编码、文件处理

    1.数据类型 1.数字(int,float) 整形(int):定义 age=20  #本质age=int(20) 浮点类型:salary=3000.3 #本质salary=float(3000.3) ...

随机推荐

  1. TP5.1:实现分页

    前提: (1)为了让分页变得更加好看,我的案例加载了bootstrap和jq的文件,具体操作请参考:http://www.cnblogs.com/finalanddistance/p/9033916. ...

  2. SAP成都C4C小李探花:浅谈Fiori Design Guidelines

    Jerry: 我和周帅认识不久,自去年7月SAP成都研究院Cloud for Customer(以下简称为C4C)开发团队组建至今,根据这段时间和周帅愉快的合作经历,我觉得如果把周帅比作我读过的小说里 ...

  3. Selenium入门系列2 窗口大小控制

    selenium控制窗口最大化.适合手机的宽度.适合pad的宽度等尝试下实例,网站是否做了响应式布局 #coding=utf-8 # 改变浏览器窗口大小.前进后退 from selenium impo ...

  4. IOS笔记 : 一些小技巧

    计算单元格高度,在自定义cell中 -(void) resizeTheHeight{ CGFloat contentWidth = 280; UIFont *font = [UIFont fontWi ...

  5. IOS tableView的性能优化(缓存池)

    使用缓存池(标识类型) 1.通过 一个 标识 去 缓存池 中寻找可循环得用的cell 2.如果缓存池找不到可循环得用的cell:创建一个新的cell(给cell贴个标识) 3.给cell设置新的数据 ...

  6. 2017.9.26 request请求参数用法

    4.2 访问请求参数 request对象的getParamter()方法,可以用来获取用户(客户端)提交的数据 4.2.1 访问请求参数的方法 String 自符串变量 =request.getPar ...

  7. 第31章 TIM—基本定时器—零死角玩转STM32-F429系列

    第31章     TIM—基本定时器 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...

  8. JDBC完美连接方法

    jdbc:mysql://localhost:3306:test这句里面分如下解析:jdbc:mysql:// 是指JDBC连接方式:localhost: 是指你的本机地址:3306 SQL数据库的端 ...

  9. vue面试常被问到的问题整理

    1.Vue的双向数据绑定原理是什么? 答 : vue是采用数据劫持,并且使用发布-订阅者的开发模式.原理是观察者observer通过Object.defineProperty()来劫持到各个属性的ge ...

  10. 读键值对封装成Map

    描述: 有配置文件address_relation.properties,记录地址关系,有如下数据:ZSSS=ZS%,ZSPD, 封装到Map代码如下: public static void main ...