python编程基础-数据类型和函数
2016-04-06 08:41
645 查看
python中的变量
1.python的变量不需要定义,在使用时可以直接使用,还有重新使用使用用以存储不同类型的值。2.变量命名遵循C命名风格。
3.大小写敏感
4.变量引用计数。
5.del语句可以直接释放资源,变量名删除,引用计数减1
6.变量内存自动管理回收,垃圾收集。
7.指定编码在文件开头中加入#--coding:UTF-8--或者#coding=utf-8
python2.7 测试如下:
>>> a = 12 #无需定义,直接使用,python解释器根据右值决定左侧类型
>>> print a
12
>>> id(a) #变量a在内存中的编号
31951520L
>>> type(a) #a的类型为int类型
<type 'int'>
>>> b = 12.34
>>> print b
12.34
>>> id(b) #变量b在内存中所占内存编号
46195712L
>>> print b
12.34
>>> type(b)
<type 'float'> #b的类型为float
>>> a = "xiaozhihui" #变量a重新指向一个字符串
>>> print a
xiaozhihui
>>> id(a) #变量a在内存中的编号为保存“xiaozhihui”地方,原来a所指向的内存编号里内容并没有立即释放
46189616L
>>> type(a) #变量a现在指向一个字符串
<type 'str'>
>>> b=12 #b也赋值为12
>>> id(b)
31951520L #内存中为12 的地址内存并没有立即释放,python实现优化减少malloc和 free的次数
>>> del b #删除b (引用计数减1)
>>> e =12 #e赋值为12
>>> id(e)
31951520L #b和e的地址一样,并没有立即释放,解释器内存回收机制(采用引用计数,类似于java垃圾回收)
>>>
python中的简单函数
函数定义格式>>> def add(x,y):
s = x + y
return s
>>> res = add(2,4)
>>> print res
6
>>>
1.def定义函数的关键字
2.x和y为形参,不需要类型修饰
3.函数定义需跟":"
4.函数体整体缩进
5.函数可以拥有返回值,若无返回值,返回 None,相当于C中的NULL
局部变量和全局变量
1局部变量作用域覆盖全局变量>>> def print_num():
num = 5
print num
>>> num = 8
>>> print_num()
5
>>> print num
8
2函数内有局部变量定义,解释器不使用全局变量,局部变量的定义晚于被引用,报错
>>> def print_n():
print num
num = 3
print num
>>> num = 9
>>> print_n #函数在内存中地址
<function print_n at 0x0000000002BFEE48>
>>> print_n()
#报错
Traceback (most recent call last):
File "<pyshell#45>", line 1, in <module>
print_n()
File "<pyshell#42>", line 2, in print_n
print num
UnboundLocalError: local variable 'num' referenced before assignment
3函数内部可以直接访问全局变量
def print_num():
print num
num = 3
print_num()
4函数内修改全局变量,使用global关键字
def print_num():
global num
print num
num = 20
print num
num=10
print_num()
print num<
c3ee
/div>
10
20
20
特殊变量
__xxx from moudle import '''无法导入
__xxx__ 系统定义的变量
__xxx 类的本地变量
算术表达式
+a 结果符号不变-a 对结果符号取负
a + b a加b
a**b a的b次幂
a * b a乘以b
a/b a除以b,真正除,浮点数保留小数
a//b a除以b,向下取整
a%b a对b取余数
逻辑表达式
not a a的逻辑非a and b a和b逻辑与
a or b a和b逻辑或
a is b a和b是同一个对象
a is not b a和b不是同一个对象
控制语句
python里的控制语句和循环语句和C中的非常相似,python是用C实现的。注意语句后的":"不要丢掉。while 判断语句:
执行语句
python输入输出函数
name = raw_input("please input your name")
for循环可以遍历任何序列的项目,如一个列表或者一个字符串
for iterating_var in sequence:
执行语句
>>> for letter in "hello":
print letter
h
e
l
l
o
在python中,for...else表示这样的意思,for中的语句和普通的没有区别,else中的语句会在循环正常执行完(即for不是通过break跳出而中断的)情况下执行,while...else也是一样
count=0
while count < 5:
print(count,"is less than 5")
count = count + 1
else:
print(count ,"is bigger than 5")
输出:
(0, 'is less than 5')
(1, 'is less than 5')
(2, 'is less than 5')
(3, 'is less than 5')
(4, 'is less than 5')
(5, 'is bigger than 5')
count=0
while count < 5:
print(count,"is less than 5")
count = count + 1
if count == 3:
break
else:
print(count ,"is bigger than 5")
输出:
(0, 'is less than 5')
(1, 'is less than 5')
(2, 'is less than 5')
list列表
序列都可以进行的操作包括索引,切片,加,乘,检查成员。序列中的每个元素都分配一个数字,他的位置,或索引,第一个索引是0,第二个索引是1,依次类推。列表和元组二者均能保存在任意类型的python对象,索引访问元素从开始列表元素用[]包括,元素个数值都可以改变元组元素用()包括,通过切片[][:]得到子集,此操作同于字符串相关操作,切片使用的基本样式[下限:上限:步长]
访问列表中的值
>>> alist = [1,2,3,4,5,6,7,8,9]
>>> alist[0]
1
>>> alist[:4]
[1, 2, 3, 4]
>>> alist[2:8:2] #范围值
[3, 5, 7]
>>> alist[3]=50 #修改值
>>> alist
[1, 2, 3, 50, 5, 6, 7, 8, 9]
>>> del alist[2] #删除值
>>> alist
[1, 2, 50, 5, 6, 7, 8, 9]
TAB键输入提示
>>> alist.append(5)
>>> alist
[1, 2, 50, 5, 6, 7, 8, 9, 5]
>>> alist.append("hello")
>>> alist
[1, 2, 50, 5, 6, 7, 8, 9, 5, 'hello']
列表长度
>>> len(alist)
10
>>> alist + [88,99]
[1, 2, 50, 5, 6, 7, 8, 9, 5, 'hello', 88, 99]
>>> alist * 2
[1, 2, 50, 5, 6, 7, 8, 9, 5, 'hello', 1, 2, 50, 5, 6, 7, 8, 9, 5, 'hello']
>>> 'hello' in alist
True
>>> 100 in alist
False
Python列表函数&方法
python包含以下函数:1 cmp(list1,list2)
比较两个列表的元素
2 len(list)
列表元素个数
3 max(list)
返回列表元素最大值
4 min(list)
返回列表元素最小值
5 list(seq)
将元组转换为列表
python包含以下方法
1 list.append(obj)
在列表末尾添加新的对象
2 list.count(obj)
统计某个元素在列表中出现的次数
3 list.extend(seq)
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4 list.index(obj)
从列表中找出某个第一个匹配的索引位置
5 list.insert(index,obj)
将对象插入列表
6 list.pop(obj=list[-1])
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7 list.remove(obj)
移除列表中某个值的第一个匹配项
8 list.reverse()
反向列表中元素
9 list.sort([fun])
对原列表进行排序
元组Tuple
python的元组与列表类似,不同之处在于元组的元素不能修改。也可以进行分片和连接操作,元组使用小括号,列表使用方括号。>>> aTuple = ('hello',1.2)
>>> aTuple
('hello', 1.2)
>>> aTuple[1]
1.2
元组内置函数
python元组包含了以下内置函数
序号 序号及描述
1 cmp(tuple1,tuple2)
比较两个元组元素
2 len(tuple)
计算元组元素个数
3 max(tuple)
返回元组中元素最大值
4 min(tuple)
返回元组中元素最小值
5 tuple(seq)
将列表转换为元组
多维元组
>>> demotuple=[(1,2),(3,4)]
>>> demotuple[0]
(1, 2)
>>> demotuple[0][0]
1
字典DIctionary
字典是python中的映射数据类型,由键值(key-value)构成,类似于关联数组或哈希表,key一般以数字和字符串居多,值可以是任意的python的类型对象,如其他容器对象。字典元素用大括号{}>>> dict={1:"hello",2:"word",3:"!"}
>>> dict
{1: 'hello', 2: 'word', 3: '!'}
每个键与值用冒号隔开(:),每对用 逗号分隔,整体放在花括号中({})。键key必须独一无二,但值则不必。值value可以取任何数据类型,但必须是不可变的
访问字典里的值
>>> dict[1]
'hello'
>>> dict[2]
'word
字典键(key)的特性
字典值可以没有限制取任何python对象,即可以是标准的对象,也可以是用户点定义的,但键不行。
两个重要的点需要记住:
1不允许同一个键出现两次,创建时如果同一个键被赋值两次,后一个值会被记住。
>>> dict={"name":"xiaozhihui","age":24,"name":"zhangwei"}
>>> dict
{'age': 24, 'name': 'zhangwei'}
2键必须不可变,所以可以用数,字符串或元组充当,所以用列表就不行。
字典内置函数和方法
python字典包含了以下内置函数
1 cmp(dict1,dict2)
比较两个字典元素
2 len(dict)
计算字典元素个数,即键的总数
3 str(dict)
输出字典可打印的字符串表示
4 type(variable)
返回输入变量的类型,如果变量是字典就返回字典类型
python字典包含了以下内置函数:
1 radiansdict.clear()
删除字典内所有元素
2 radiansdict.copy()
返回一个字典的浅复制
3 radiansdict.fromkeys()
创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4 radiansdict.get(key,default=Nono)
返回指定键的值,如果不存在字典中返回defalut的值
5 radiansdict.has_key(key)
如果键在字典dict里返回true,否则返回false
6 radiansdict.items()
以列表返回可遍历的(键,值)元组数组
7 radiansdict.keys()
以列表返回一个字典所有的键
8 radiansdict.setdefault(key,defalut=Nono)
和get()类似,但如果键不存在与字典中,将会添加键并将值设为default
9 radiansdict.update(dict2)
把字典dict2的键、值对更新到dict里
10 radiansdict.values()
以列表返回字典中的所有值
相关文章推荐
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- [NumPy]入门-学习笔记
- python制作爬虫并将抓取结果保存到excel中
- python文件的md5加密方法
- python socket多线程通讯实例分析(聊天室)
- python多进程共享变量
- python nose(一)
- python nose(二)
- 第一个python实例程序
- python __set__ __get__ 等解释
- Python爬虫:济南住宅与房地产信息网
- Python 虚拟环境:Virtualenv
- Creating caffe net prototxt files in python!
- opencv for python学习二之打开视频文件
- numpy 安装
- 安装ipython时python setup.py egg_info错误的解决办法
- Python序列之字符串
- 【python】numpy,scipy,pandas资源列表
- 我的python书写约定
- 推荐 10 款最好的 Python IDE