美文网首页
Python简单语法

Python简单语法

作者: zz77zz | 来源:发表于2018-07-18 21:10 被阅读13次

这是Coursera上南京大学的python课程 听说有用就先学习一下 估计会费点时间不过没有关系 我有的是时间
c/c++集成封装 支持继承 重载 派生 多继承

GUI开发 Web开发 游戏 数据分析 人工智能bulabula一堆
程序的风格非常重要
缩进问题 这是最重要的


模块(module) --- 我感觉是python最强大的地方

  • 模块:一个py文件就是一个模块

  • 包:一个有层次的文件目录结构
    定义了一个有模块和子包组成的Python应用程序执行环境
    import A.B.C (包A的子包B中的模块C)

  • 库:是一组具有相关功能的模块的集合
    Python强大标准库、第三方库、以及自定义模块

dir(builtins) - 内建变量和函数
help(内建函数) - 帮助信息
非内建函数如何使用

import 模块名
import 模块名1,模块名2
from 模块名1 import 模块内部函数


语法

range(start,end,step=1)
生成一个真实的列表

range(3,11,2)
[3,5,7,9]
range(5)
[0,1,2,3,4]

  • 循环
    while j<10:
    ...
    for item in items:
    ...
[i+1 for i in range(10) if i%2==0] (好神奇好强大有木有)
[x*2 for x in range(2,11,4)]    //[4, 12, 20]
# 1-100素数
from math import sqrt

def isprime(x):
    if x==1:
        return False
    k = int(sqrt(x))
    for j in range(2,k+1):
        if x%j == 1:
            return False
    return True

for i in range(2,101):
    if isprime(i):
        print(i)

参数
函数里的参数里面有点学问 我第一次用的时候表示很惊讶(没怎么见过世面)
def(x,y=True) ---- 默认参数 默认参数写后面
传递函数
lambda: 匿名函数 很神奇
2018-07-17


变量作用域
函数 - 局部
程序代码主体部分 - 全局
例如一下例子就跟js 完全不是一个概念

def f(x):
    #global a 标注 a 是全局变量
    print(a)
    a = 5
    print(a + x)
a=3
f(8) 
print(a) // 5

local variable 'a' referenced before assignment 报错


本地数据获取

  • 打开文件 - open(url,mode='r') 返回一个文件对象
  • 读取文件 - read(size) 返回字符串
  • 写文件 - write(str)
  • 关闭文件
    open('rD:\fuck.txt','w',0) 注意参数 用缓存会好一点


    读写文件模式.png

获取数据

urllib
urllib2 函数库
这里安利下我之前写过的爬虫 爬取简书推荐作者信息


data - 序列

索引 0 - (N-1) / -1 - -N

  1. str='hello world'
  2. list=[1,2,3,4,5]
  3. tuple=('a','b')
  4. dict = {}
    'a'<'b'

对象身份比较
is
is not
布尔
not
and
or
序列类型运算符
x in s
x not in s
list() srt() tuple() -------- 这三个方法比较常用工厂函数就是能产生类实例的内建函数
len() sorted() sum() zip() min/max() revers

2018-07-18 21:10 - 今天写了一天小程序 而且一直到现在 准备回家了 腰椎受不了了


列表(可变) - list

for i,j in enumerate(week):
  print i+1,j

划重点
列表操作的内建函数

append()
count()
extend()
index()
insert()
pop()
remove()
reverse()
sort(reverse=Ture) - 倒序排序
**列表解析**
[x for in range(10)] - [1,2,3,4,5,6,7,8,9]
[x**2 for x in range(10)] 平方
[x*2 for x in range(1,9) if x<=10] [2, 4, 6, 8, 10, 12, 14, 16]
[(x,y) for x in range(1,10) for y in range(1,10)]  x y 1-9 全排列
[表达式(x)  循环(for)  条件(if)]

元组
元组跟列表类似 不同点就是元组元素不可变
元组作为函数的形式参数

def func(arg1,*arg2):
    print(arg1)
    print(arg2)

func('a','b','c','d')
a
('b', 'c', 'd')


//元组作为函数的常见返回类型
def func():
  return 1,2
(1,2)

*arg2 -- 执行的元组作为参数

返回对象的个数 >1 返回tuple 1 返回 obj


字典
映射类型 {}
key - value 键值对 --- 类似js的对象或者也可以理解成json
dict([] / ()) 都会转成 dict

adict = {}.fromkeys(('a','b','c'),2)
print(adict)      {'a': 2, 'b': 2, 'c': 2}
key:必须是可哈希的 根据哈希做value的存储地址 所以也是不可变的 也就是说 不能是[]
sorted(adict)         ['a', 'b', 'c']

n = ['a', 'b', 'c']
s = [1,2,3]
dict(zip(n,s))
{'a': 1, 'b': 2, 'c': 3}

眼高手低不情愿的练了两个字典的练习
dict(zip(alist,blist)) => {key:value}

2018/7/19 23:23 打卡 这会儿才回 我是有多爱学习 每天一点点不急 回家回家

放一张做了快一个月的厨房后台页

2018/7/21 14:53 今天生日~~~ 但是我还是来了公司继续学习 没看完心里难受
字典的基本操作

a = {'a':1,'b':2,'c':3}
a['a'] = 10
print(a)    {'a': 10, 'b': 2, 'c': 3}
'd' in a     //Flase
del a   //删除字典

for key in a.keys():
    print(key,a[key])
#a 1
#b 2
#c 3


template='''
    a's number is %(a)s
    b's number is %(b)s
    c's number is %(c)s
'''
print(template % a)

a's number is 1
b's number is 2
c's number is 3

a.keys()
a.values()
返回的都是列表   
a.get('d')   ====>  None


a = {'a':1,'b':2,'c':3}
b = {'a':3,'w':2,'e':3}
a.update(b)
print(a)
{'a': 3, 'b': 2, 'c': 3, 'w': 2, 'e': 3} 
字典的内建函数

字典可以用作函数的形参 可变长的关键字参数

def func(a1,*b1,**c1):
    print(a1)
    print(b1)
    print(c1)


a
('b', 'c', 'd')
{'a': 1, 'b': 2, 'c': 3, 'd': 4}

集合
无序不重复元素组合
可变或不可变

a = ['a','b','c','c']
print(set(a))

print(set('hello,world')) 返回一个列表 且把重复的删除了

集合的比较
in / not in
集合的关系运算
&交集
| 并集

  • 差集
    ^ 二者不同元素
集合的内建函数

以上就是python的数据结构

第三方有各种更高效的操作数据结构的库 例如:SciPy NumPy Pandas(数据操作与分析) 等等
都是各种矩阵(所以线性代数得学好)

数组
列表保存的是指针 浪费内存

ndarray - Numpy的基本数据结构 节省cpu

ndarray创建和输出

2018/7/21 17:33 小伙伴叫我去打球 天河外场 我打球还可以哦(傲娇的说是路人王水平 哈哈哈)~ 可约 篮球诱惑比女孩子还要大(太直男) 晚上回去看书 补回来


Numpy pandas 的字典之间 key values 是独立的
dataframe 与 series

数据

  • 收集
  • 整理
  • 描述
  • 分析


    yahoo股票
  • NLTK 自然语言工具包 (各种语料库网络和聊天文本)
    www.gutenberg.org 免费电子书

数据备份

相关文章

网友评论

      本文标题:Python简单语法

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