python复习之初级

一.数据基础类型

1、整数

  • 例如:1,100,-1,-100 或者使用十六进制表示 0xff00,0xa5b4c3d2...;

2、浮点数

  • 带有小数点的统称为小数;

3、字符串

  • 用‘’或“”括起来的任意文本,如‘abc’,“def”,表示方法不同结果相同;

4、布尔值

  • 布尔值只有两种False、Ture;
  • 通过and、or 、not运算获得布尔值;
  • 其中 0,空字符串''和None看成False,其他数值和非空字符串都看成Ture;
  • 例子:
    a = True
    print a and 'a=T' or 'a=F'
    

    结果是 a=T;原因涉及到and和or的运算的一条法则:短路计算,A、在计算 a and b 时,如果a是False,则根据与运算法则,整个结果必定是False,因此返回a;如果是Ture,则整个计算结果必定取决与b,因此返回b。B、在计算 a or b 时, 如果a是Ture,则根据或运算法则,整个计算结果必定为Ture,因此返回a;如果a是False,则整个计算结果必定取决与b,因此返回b。

5、空值

  • 空值用None代表,0不是空值,0有意义而None没有;

二、python注释

1、#注释:#开头后面的都是注释内容;

2、""" """或''' ''':多行注释,凡是被单或双引号包起来都为注释内容

三、变量

a_007 = 123

1、在python中,变量是用一个变量名表示,变量名必须是大小写英文、数字和下划线(_)组合,且不能用数字开头;

2、‘=’ 赋值语句,可以把任意数据类型复制给变量,同一个变量可以反复复制,而且可以是不同类型的变量,不同于数学中的等号,;

3、变量的指向

a = 'ABC'
b = a
a = 'XYZ'
print(b)
# ABC

四、转义

  • \n换行
  • \t一个制表符(缩进)
  • \\表示
  • \表示
  • \转义本身.
  • r‘’ 防止转义 

五、编码问题

  • py2 如果存在中文需要 需要在表头 
    #-*- coding: utf-8 -*-
  • py3不存在这个问题

六、四则运算

  • -
  • *
  • /
  • %  取余数
  • 加减乘除以及括号的运算顺序和数学完全一致;
  • 与数学不同的是python整数运算结果仍是整数小数点后面舍弃,浮点数运算结果仍是浮点数;

七、python内置数据

A、列表(list)

a.1、特性

  • list是一种有序的集合,可以随时添加和删除其中的元素;
  • list是有序的集合;
  • list可以包含多种元素;

a.2 切片

a = ['a','b','c','d']
a[0]    # a      第一个值
a[-1]	# d      最后一个值
a[:2]   # a,b   前两个值
a[2:]   # c,d   后两个

a.3列表的方法

  • append():在list尾部追加一个元素;
x = ['a','b','c','d']
x.append('c')
print(x)
# ['a', 'b', 'c', 'd', 'c']
  • insert():指定位置插入元素;
x = ['a','b','c','d']
x.insert(0,'A')
print(x)
# ['A', 'a', 'b', 'c', 'd']
  • pop():指定删除,返回值就是产出的值,参数默认则删除末尾元素;
x = ['a','b','c','d']
y = x.pop(0)
print(x,y)
# ['b', 'c', 'd'] a
  • 切片替换
x = ['a','b','c']
x[0] = 'c'
x[-1] = 'a'
print(x)
# ['c', 'b', 'a']

B、元组(tuple)

b.1特征

  • tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。

b.2切片

  • 与list一模一样

b.3元组单元素的坑

  • 当元组内有且只有一个元组的时候,要在元素末尾加上,号;
a = (1)
print(a)  #1
a = (1,)
print(a)  #(1,)

b.4可变的我

当元组内元素是list或dict时,可以对list或dict的元素进行修改

a = ('a', 'b', ['A', 'B'])
a[2][0] = 'a'
a[2][1] = 'b'
print(a)   #('a', 'b', ['a', 'b'])

C、字典(dict)

c1、特征

  • dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。
  • 不过dict的查找速度快不是没有代价的,dict的缺点是占用内存大,还会浪费很多内容,list正好相反,占用内存小,但是查找速度慢。
  • 一个key对应一个value,a = {'coob' : 68, 'mary':90};
  • 字典是无序的,没有切片的功能,但可以通过a[key]方式超找与更新值;

c2、获取字典的值

get()

a = {
	'a':1,
	'b':2,
	'c':3
}
print(a.get('e')) #没有对应的值时 返回None
print(a['e']) # 没有对应的key时报错

a[key] 也可以获取值

d = {
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59
}
a = d['Lisa']
print(a) # 85

for循环

d = {
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59
}
for k,v in d.items():
    print(k+':',v)

c3、更新key的值

d[key] = new_value

d = {
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59
}
d['Lisa']=55 
print(d) #{'Adam': 95, 'Lisa': 55, 'Bart': 59}

D、set

d.1、特性

  • 确定性,唯一性,无序性; a = { 'a','b','c'}
  • 元素必须是不变对象;

d.2、获取元素

for循环和list一样

d.3、set方法

add() 添加一个元素

s = {1,2,3}
s.add(4)
print(s) #{1, 2, 3, 4}

remove()删除

s = {1,2,3,4}
s.remove(4)
print(s) #{1, 2, 3}

八、语法

A、if 

  • if...else...
  • if...elif...elif...else

B、for

循环的对象是可迭代的对象

L = ['a', 'b', 'c']
for name in L:
    print(name)  #分别依次打印 a b c

C、while  

基本用法:

和 for 循环不同的另一种循环是 while 循环,while 循环不会迭代 list 或 tuple 的元素,而是根据表达式判断循环是否结束。

N = 10
x = 0
while x < N:
    print(x)
    x = x + 1
#分别打印1~9

while循环每次先判断 x < N,如果为True,则执行循环体的代码块,否则,退出循环。  

 

D、break内部中断用法:

# 计算1至100整数的和
sum = 0
x = 1
while True:
    sum = sum + x
    x = x + 1
    if x > 100:
        break
print(sum) 

 E、continue跳过后续代码

# 计算100以内的奇数和
sum = 0
x = 1
while True:
    if not x%2==0:
        sum += x
    x = x + 1
    if x > 100:
        break
print(sum)

 

posted @ 2017-09-11 18:30  鸽子灬  阅读(224)  评论(0编辑  收藏  举报