美文网首页
python 3 基础

python 3 基础

作者: adtk | 来源:发表于2017-04-06 18:52 被阅读0次

https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143184474383175eeea92a8b0439fab7b392a8a32f8fa000

数据类型

1,整数
2,浮点数
3,字符串

\ 转义符:\n表示换行,\t表示制表符,\\表示的字符就是\
r'字符串':字符串默认不转义
'''...''':格式表示多行内容

4,布尔值:True ,False
5,空值:None

6,list(列表):有序的集合,可以随时添加和删除其中的元素。[1,2,3]
7,tuple(元组):与list一样,但是初始化后不能添加修改。(1,2,3)

8,dict(字典):{"a":1,"b":2}
9,set:类似dict,但不存储value
set([1, 2, 3])等于{1, 2, 3}

变量

值可以是任意数据类型,变量名必须是大小写英文、数字和_的组合,且不能用数字开头

常量

习惯上通常用全部大写的变量名表示常量,值不应该被改变

运算符

and、or、not
/:除法,结果为浮点数
//:整除,即使除不尽结果也是整数

判断

#if语句
age = 3
if age >= 18:
    print('adult')
elif age >= 6:
    print('teenager')
else:
    print('kid')

循环

#for循环
names = ['Michael', 'Bob', 'Tracy']
for name in names:
    print(name)
#while循环
sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)
list:(列表)

list是一种有序的集合,可以随时添加和删除其中的元素。
可以用负数倒序索引。
len()函数可以获得list元素的个数

['Michael', 'Bob', 'Tracy']
方法
[].append('Adam');#添加到list末尾
[].insert(i, 'Jack');#添加 'Jack'到索引为i的位置
[].pop();#删除最后一个元素
[].pop(i);#删除指定位置i的元素

len([]);返回list长度
tuple:(元组)

tuple和list非常类似,但是tuple一旦初始化就不能修改;tuple的每个元素,#指向#永远不变(如果其中一个元素为列表list,可以修改这个list的元素),
定义一个空的tuple,可以写成(),
只有1个元素的tuple定义时必须加一个逗号(1,)
没有append(),insert()这样的方法;

('Michael', 'Bob', 'Tracy')
dict:(字典:对象)

dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度

d = {'Michael': 95, 'Bob': 75, 'Tracy': 85};
方法:
d['Thomas'],  #key不存在的错误
'Thomas' in d;  #判断d是否存在'Thomas'

d.get('Thomas'); 
d.get('Thomas', -1);
 #dict的get方法,如果key不存在,返回None,或者自己指定的value

d.pop('Bob');  #删除key 'Bob'

set

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

s = set([1, 2, 3])
显示:{1, 2, 3}
方法:
s.add(4);  #可以重复添加,但没效果
s.remove(4);#删除元素

>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2;  #数学交集:{2, 3}
>>> s1 | s2;  #数学并集:{1, 2, 3, 4}

list对比dict

和list比较,dict有以下几个特点:
1,查找和插入的速度极快,不会随着key的增加而变慢;
2,需要占用大量的内存,内存浪费多。

函数

定义一个函数要使用def语句

def f(x):
    return x * x
f(1)

匿名函数

关键字lambda表示匿名函数,冒号前面的x表示函数参数。
只能有一个表达式,不用写return

f=lambda x: x * x
# 相当于
def f(x):
    return x * x

装饰器

import functools
def log(fn):
    @functools.wraps(fn)
    def wrapper(*args,**kw):  # 获取所有传入的参数
        print(fn.__name__);
        return fn(*args,**kw);
    return wrapper

@log
def now():
    print("1995")
#相当于:now = log(now)

now();
# now
# 1995

print(now.__name__);    #如果不使用functools,这行结果为wrapper

相关文章

网友评论

      本文标题:python 3 基础

      本文链接:https://www.haomeiwen.com/subject/civqattx.html