python基础知识简版(学习笔记)

一.数据类型

1.列表

app=['abc','zty']

索引-1指向最后一个元素,-2倒数第二

在列表末尾添加元素:append('…')  任何位置插入insert(2,'…') extend()对于列表的操作主要实现的是对于特定列表的扩展和增长,可以一次添加多个元素,不过也只能添加在列表的最后;

        m.extend([元素A,元素B,……]

 

删除元素del mortor[1]

          mortor.pop(n)删除第n个元素,A= mortor.pop(n)为删的那一个元素

          Remove('…')只知名字不知位置时

 

1) 深拷贝:

M=[A,b,a,c]

N=M[:]

2) 浅拷贝:

N=M

有人说可以直接将M赋值给N也是一样的,虽然表面看起来两者的实现效果是一样的,但是如果你要继续对N进行操作的时候就会出现问题,因为对于正确的第一种拷贝复制,它的作用是将列表M复制下来给N,如果后面对M进行操作,它对于N是完全没有影响的,而我们如果采用赋值的方式,那么在后面对M操作以后就会影响到N,N的值也会随之改变。

2.组织列表

Sort()按升序永久排序,sort(reverse=True)按降序

sorted临时排序

reverse()反序

len()确定列表长度

3.操作列表

(1)缩进来判断代码之间关系:每级4个空格

(2)数字集操作:

for value in range(1,5):

  printf(value)

结果为1-4

Even_numbers=list(range(2,2,11))

min(digits),max(),sum()

(3)列表解析

Squares=[value**2 for value in range(1,11)]

(4)处理列表元素:切片

指定第一和最后一个元素索引,到最后一个元素之前停止

Print(plays[0:3])  print(players[:7])  最后三名:print(players[-3:])

复制列表:f_food=my_food[:]

2.元组

不可变的列表

Dimensions=(10,50)只能重新定义整个元组进行修改

元组中只包含一个元素时,需要在元素后面添加逗号来消除歧义

tup1 = (50,);

元组可以使用下标索引来访问元组中的值

封装:

mytuple=3,4,5
x,y,z=mutuple

Python元组包含了以下内置函数

1、cmp(tuple1, tuple2):比较两个元组元素。

2、len(tuple):计算元组元素个数。

3、max(tuple):返回元组中元素最大值。

4、min(tuple):返回元组中元素最小值。

5、tuple(seq):将列表转换为元组。

tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

3.函数

定义:def greet_user():

                """create a function"""   #三括号用来进行函数说明

 

传递实参:位置实参,关键字实参,可给形参默认值

python 函数的参数传递:

  • 不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
  • 可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响
def build_person(first_name,last_name,age=' '):     #可选参数默认值设为空字符串
     person={'first':first_name,'last':last_name}
     if age:
        person['age']=age
    return person
musician= build_person('cecila','Zhao',age=21)

当不想修改原列表时可使用 print_model(unprinted_designs[ : ],completed_models)  #切片表示创建了一个副本并使用

传递任意数量实参: def make_pizza(size,*toppings):  #之后所有实参都收入toppings里

def build_profile(first,last,**user_info):
    profile={ }
    profile['first_name']=first
    profile['last_name']=last
    for key,value in user_info.items():  #items()获取列表的key,value                                        
        profile[key]=value
    return profile
#不定长参数
def printinfo( arg1, *vartuple ):
     "打印任何传入的参数"
     print "输出: " 
    print arg1 for var in vartuple:
         print var return;

print 默认输出是换行的,如果要实现不换行需要在变量末尾加上逗号 ,

 

 二.其他

文件

with open('a.txt') as file:
    contents=file.read()
    print(contents)

#写入空文件:
filename='a.txt'

with open(filename,'w') as file_object:
    file_object.write("I love you")

异常

用try except模块来处理

ZeroDevisionError:
try:
    answer=int(first_number)/int(second_number)
 except ZeroDevisionError:
    print("you can't devide by zero")               pass  #失败时不想有提示

 else:
      print(answer)

python基础知识简版(学习笔记)_第1张图片

 

 

你可能感兴趣的:((2)python各种模块学习)