python 1

来源:互联网 发布:淘宝上奇怪的东西 编辑:程序博客网 时间:2024/06/04 00:22

python(1) python基础知识

标签(空格分隔): python


基础

注意事项

python编辑器推荐notepad++或者sublime,windows下不推荐word或者自带文本编辑器,因为word存储的不是文本格式,而文本编辑器会自作聪明的在前面加上UTF8-BOM

输入输出

输出 print
输入 python提供了a=raw_input()函数将输入存为字符串,保存进一个变量
raw_input读入的数字也会是字符串的形式,如果读入一个整数,要先把字符串用int()转换成整数, a=int(raw_input(‘input an integer:’))

字符串和编码

存储的时候会用utf-8变长码方式编码,而在内存中是用Unicode的方式编码

列表list和元组tuple

列表用方括号,元组用圆括号
获取列表长度 len(list)
列表从0开始计数
删除元素list.pop(i)
在后面增加元素list.append()
在指定序号增加元素list.insert(2,'a')
将某一个元素赋值为另一个值list[2]='y'
list里的元素可以是数字、字符串、布尔,也可以是list,如下所示

list=['aa',123,True,['xx','yy']]list[3][1]='yy'

获取list的最后一个元素是list[-1]

元组
元组的元素不能增、删、改
如果元组里的元素有一个list,那么我们可以改变list里的值,为什么这里又能变呢,因为元组指向的list是不变的
创建只有一个元素的元组时,必须要加逗号t=(1,),如果写t=(1),python就会理解成t=1

条件判断

elif是else if的缩写,条件判断是从上往下判断,只要碰到正确的了,剩下的条件就不再判断了。

循环

for .. in .. 循环
for x in ,就是把list/tuple中的每一个元素代入进x,然后执行语句

while循环
一般会放在循环体内部自减,自增。

dict字典

很好理解,有一个索引key,索引里对应着一个值value,用大括号括起来

 d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}

删除里面的元素也是dict.pop(”),直接删除key,会把对应的value也删除掉
赋值的时候dict[‘x’]=11

dict一个最大的特点就是方便查找,查找的时候有两种方法,一种是in,一种是get
‘Thomas’ in dict
如果存在就会返回对应的值,不存在就返回False

dict.get(‘Thomas’)
如果存在就会返回对应的值,如果不存在就返回None,None在命令行里面什么都不显示

set 和dict差不多,但是只存储键,不能存储value
创建一个set的时候要传入一个list

a=set([1,2,3,4])a{1,2,3}

函数

递归函数

在函数内部可以调用其他函数,在函数内部调用自己的,称为递归函数。最简单的递归函数就是N的阶乘fact(n)=n*fact(n-1)

因为函数每调用一次,在内存中栈就会增加一层,每返回一次,就会减少一层,所以当递归次数增多时,可能会导致栈溢出

其他

with

with  xxx:     with-body

上下文管理器 ,执行的时候调用enter ,执行完with-body 之后调用 exit

sys.modules是一个字典,它包含了从 Python 开始运行起,被导入的所有模块。

"I'm %s. I'm %d year old" 为我们的模板。%s为第一个格式符,表示一个字符串。%d为第二个格式符,表示一个整数。(‘Vamei’, 99)的两个元素’Vamei’和99为替换%s和%d的真实值。

assert condition
trigger an error if the condition is false.

_variable_with_weight_decay变量函数前加下划线
单下划线开头,这个被常用于模块中,在一个模块中以单下划线开头的变量和函数被默认当作内部函数,如果使用 from a_module import * 导入时,这部分变量和函数不会被导入。不过值得注意的是,如果使用 import a_module

Python主要有三种数据类型:字典、列表、元组。其分别由花括号,中括号,小括号表示。
如:
字典:dic={'a':12,'b':34}
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
列表:list=[1,2,3,4]
元组:tup=(1,2,3,4)