python 3 基础

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 变量和数据类型 1.整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序...
    绩重KF阅读 1,780评论 0 1
  • 最近在慕课网学习廖雪峰老师的Python进阶课程,做笔记总结一下重点。 基本变量及其类型 变量 在Python中,...
    victorsungo阅读 1,736评论 0 5
  • Python 是一种相当高级的语言,通过 Python 解释器把符合语法的程序代码转换成 CPU 能够执行的机器码...
    Python程序媛阅读 1,942评论 0 3
  • Python变量和数据类型 数据类型 print语句 注释 Python的注释以 # 开头,后面的文字直到行尾都算...
    Gaolex阅读 2,840评论 5 55
  • 本教程基于Python 3,参考 A Byte of Python v1.92(for Python 3.0) 以...
    yuhuan121阅读 3,111评论 1 6