江林楠学习了一下午后给大家呈现的20分钟速成Python——

一些基本的语法:
1.python无变量声明 直接a = []即可。
2.python为对齐语言,用制表符表示语句块的嵌套。
3.python语句末尾无;
4.python不用{}表示语句块,而是采用:,如
if a == b:
a = c
for a in b:
print(a)
5.a.b的形式的函数调用,可以是对象调用函数(同js),也可以命名空间.函数
6.单行注释使用#a,多行注释使用"""aaaa"""

一些用法:

列表:
cast = ["a",'b',1,["a",2]]
cast.insert(0,"honghehe")
cast.remove('a')
cast.append('ac')
myPop = cast.pop(0);#弹出第0个元素,并返回
if isinstance(cast):#判断是否为列表
print(cast,end = '')
列表访问:cast[0],case[1:3](1,2项)
for a in cast:
print(a)

更多的用法请查阅python的BIF(内置函数)

字符串处理:
a = "abc adj.b"
location = a.find('.')
#结果['abcadj','b']
b = a.strip().split('.')
也可(b,c) = a.strip().split('.')
#恢复为abcadj.b
d = b + '.' + c

循环:
#b为列表,a为列表中每一项
for a in b:
xxx
#相当于0-49,a是迭代器
for a in range(50):
xxx
#一般的while
count = 0
while count < 50:
xxx
count = count + 1
建议使用for循环

函数:
def funcName(para1,para2 = 0,para3 = 1):
print(para1);
有=的参数是可以缺省的
如果只需传入1,3则调用时需要使用
funcName(1,para3 = 4)

命名空间:
import ab
含义是导入ab.py
使用ab中的函数需ab.funcName(paras)

文件和异常
#这个标准库与目录相关
import os
os.getcwd()
os.chdir("")

"""异常处理"""
try:
data = open("honghehe.txt",w)
print("aaa",file = data)
except IOError as err:
print(str(err))
pass
#这句可以不要
finally:
#locals为当前作用域中的变量集合
if 'data' in locals():
data.close()
比较通用的:
#与finally等价,自动判定data in locals()
try
with open("honghehe.txt") as data1, open("hhe.txt") as data2:
print("aaa",file = data)
print("bb",file = data2)
except IOError as err
print(str(err))

读文件:r为默认模式,可不写
data = open("honghehe.txt",'r')
print(data.readline(),end = '')
#可以把文件的data看做一个一行为一个元素的列表
for each_line in data:
xxx

腌制数据:
import pickle
#wb是二进制打开
with open("honghehe.txt",'wb') as fp:
pickle.dump(mydata,fp)
with open("honghehe.txt",'wb') as fp:
mydata = pickle.load(fp)
这样对应的文件读写为python默认格式,有利于将数据输入输出一般化

排序
a.sort()
#a不变
b = sorted(a)

推导列表(映射):将a列表通过func映射为b
b = [func(each) for each in a]

集合:
与数学定义一致,列表中的无重复项
除去b中所有重复的元素,排序不变
c = set(b)

字典:
myDic = {}
#或者
myDic = dict()

myDic['a'] = 'honghehe'
myDic['b'] = 'xixi'
myDic['c'] = ['kakashi','sasuke']

定义时直接:(相当于一个json)
myDic = {'a':'honghehe','b':'xixi','c':['kakashi','sasuke']}

类:
属性:成员变量
方法:成员函数
继承方式,在类名后面用括号打出所继承的类。
class myClass(list):
def _init_(self,m_name = '',m_time = []):
self.name = m_name
#这句话即将myClass的对象扩展为一个列表,可以使用列表的一切功能,也可以用一个已有的列表m_time初始化
self.extend(m_time)

def mySorted():
return sorted(self.m_time)

Python构建:

在.py同目录文件夹下创建setup.py文件

from distutils.core import setup

setup{
name = ''
version =
#需要发布的元数据,即.py文件名
py_modules = ['a','b']
author = 'jln'
author_email =
url =
description =
}

建好后,命令行输入:
python3 setup.py sdist
成功后:
sudo python3 setup.py install

然后只需要import a等语句就可以使用安装好的python包了

发布python包
python3 setup.py register
setup.py sdist upload

具体地安装和上传请见
headfirst 41-48页

Python学习日记的更多相关文章

  1. Python 学习日记(第三周)

    知识回顾 在上一周的学习里,我学习了一些学习Python的基础知识下面先简短的回顾一些: 1Python的版本和和安装 Python的版本主要有2.x和3.x两个版本这两个版本在语法等方面有一定的区别 ...

  2. Python学习日记 --day2

    Python学习日记 --day2 1.格式化输出:% s d  (%为占位符 s为字符串类型 d为数字类型) name = input('请输入姓名') age = int(input('请输入年龄 ...

  3. python学习日记(基础数据类型及其方法01)

    数字 int 主要是用于计算的,常用的方法有一种 #既十进制数值用二进制表示时,最少使用的位数i = 3#3的ASCII为:0000 0011,即两位 s = i.bit_length() print ...

  4. Python学习日记(一):拜见小主——Python

    近日学习Python,特将学习过程及一点心得记录于此. 由于之前做过一个Java爬虫的项目,虽然很长时间没有碰过爬虫,但是小郭同学有一颗不死的爬虫心,哈哈.最近在互联网上找一些电影的时候,有很多电影只 ...

  5. Python学习日记(二十八) hashlib模块、configparse模块、logging模块

    hashlib模块 主要提供字符加密算法功能,如md5.sha1.sha224.sha512.sha384等,这里的加密算法称为摘要算法.什么是摘要算法?它又称为哈希算法.散列算法,它通过一个函数把任 ...

  6. Python 学习日记(第二周)

    从这周开始我就正式学习Python 语言了.以后每周都会有一篇有关于学习Python的见闻与大家分享! Python的安装 学习的第一步首先要有一个运行的环境.所以接下来介绍一下安装的步骤. 通过Py ...

  7. 从CentOS安装完成到生成词云python学习日记

    欢迎访问我的个人博客:原文链接 前言 人生苦短,我用python.学习python怎么能不搞一下词云呢是不是(ง •̀_•́)ง 于是便有了这篇边实践边记录的笔记. 环境:VMware 12pro + ...

  8. Python学习日记:day2

    1.格式化输出 name = input("请输入你的名字:") age =input("请输入你的年龄:") job =input("请输入你的工作 ...

  9. python学习日记(常用模块)

    模块概念 什么是模块 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的代 ...

随机推荐

  1. Hadoop could not find or load main class

    Error: Could not find or load main class <class_name> 我在尝试使用hadoop definitive guide的代码做练习时,遇到一 ...

  2. HBase性能调优

    因官方Book Performance Tuning部分章节没有按配置项进行索引,不能达到快速查阅的效果.所以我以配置项驱动,重新整理了原文,并补充一些自己的理解,如有错误,欢迎指正. 配置优化 zo ...

  3. Nginx启动、关闭、重新加载脚本

    #! /bin/sh # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the nginx web ...

  4. 【读书笔记《Android游戏编程之从零开始》】10.游戏开发基础(View 游戏框架)

    对于玩家来说,游戏是动态的:对于游戏开发人员来说,游戏是静态的,只是不停地播放不通的画面,让玩家看到了动态的效果. 进入Android之前,首先要熟悉三个重要的类:View(视图).Canvas(画布 ...

  5. java GUI,贷款服务器

    本习题来自<java语言程序设计--进阶篇>第30章,网络编程的习题. 题目描述:为一个客户端编写一个服务器.客户端向服务器发送贷款信息(年利率.贷款年限和贷款总额).服务器计算月偿还额和 ...

  6. Params 方法参数

    params,ref,out 方法参数 示例 在下面的方法使用中 OpenWindow(params object[] args) 传递的参数args添加了params修饰 public void O ...

  7. View (二) 自定义属性

    主要有三种方法可以实现自定义属性. 方法一:不使用命名空间,不使用attrs.xml文件.通过attrs.getAttributeResourceValue方法拿到属性值 方法二: 使用命名空间, 不 ...

  8. BFGS方法

    今天看了 Nocedal 写的Numerical Optimization 中关于BFGS方法的介绍. BFGS方法有个近亲,叫做DFP方法.下面先介绍DFP方法. 这个方法的意图是找一种方法对Hes ...

  9. Mac上安装node.js

    1.下载node for mac并一路默认安装 2.测试成功否 3.copy this file to test(save as javascript file) var http = require ...

  10. HYSBZ 2145 悄悄话

    2145: 悄悄话 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 271  Solved: 104[Submit][Status][Discuss] ...