Python学习日记
江林楠学习了一下午后给大家呈现的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学习日记的更多相关文章
- Python 学习日记(第三周)
知识回顾 在上一周的学习里,我学习了一些学习Python的基础知识下面先简短的回顾一些: 1Python的版本和和安装 Python的版本主要有2.x和3.x两个版本这两个版本在语法等方面有一定的区别 ...
- Python学习日记 --day2
Python学习日记 --day2 1.格式化输出:% s d (%为占位符 s为字符串类型 d为数字类型) name = input('请输入姓名') age = int(input('请输入年龄 ...
- python学习日记(基础数据类型及其方法01)
数字 int 主要是用于计算的,常用的方法有一种 #既十进制数值用二进制表示时,最少使用的位数i = 3#3的ASCII为:0000 0011,即两位 s = i.bit_length() print ...
- Python学习日记(一):拜见小主——Python
近日学习Python,特将学习过程及一点心得记录于此. 由于之前做过一个Java爬虫的项目,虽然很长时间没有碰过爬虫,但是小郭同学有一颗不死的爬虫心,哈哈.最近在互联网上找一些电影的时候,有很多电影只 ...
- Python学习日记(二十八) hashlib模块、configparse模块、logging模块
hashlib模块 主要提供字符加密算法功能,如md5.sha1.sha224.sha512.sha384等,这里的加密算法称为摘要算法.什么是摘要算法?它又称为哈希算法.散列算法,它通过一个函数把任 ...
- Python 学习日记(第二周)
从这周开始我就正式学习Python 语言了.以后每周都会有一篇有关于学习Python的见闻与大家分享! Python的安装 学习的第一步首先要有一个运行的环境.所以接下来介绍一下安装的步骤. 通过Py ...
- 从CentOS安装完成到生成词云python学习日记
欢迎访问我的个人博客:原文链接 前言 人生苦短,我用python.学习python怎么能不搞一下词云呢是不是(ง •̀_•́)ง 于是便有了这篇边实践边记录的笔记. 环境:VMware 12pro + ...
- Python学习日记:day2
1.格式化输出 name = input("请输入你的名字:") age =input("请输入你的年龄:") job =input("请输入你的工作 ...
- python学习日记(常用模块)
模块概念 什么是模块 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的代 ...
随机推荐
- sigemptyset,sigfillset,sigaddset,sigdelset,sigismember,sigprocmask,sigpendmask作用
SYNOPSIS #include <signal.h> int sigemptyset(sigset_t *set); int sigfillset(sigset_t *set); in ...
- c# App.Config详解
c# App.Config详解 应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的.它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序. 配置文件的根 ...
- [转]How to insert a row between two rows in an existing excel with HSSF (Apache POI)
本文转自:http://stackoverflow.com/questions/5785724/how-to-insert-a-row-between-two-rows-in-an-existing- ...
- 【OpenCV】opencv3.0中的SVM训练 mnist 手写字体识别
前言: SVM(支持向量机)一种训练分类器的学习方法 mnist 是一个手写字体图像数据库,训练样本有60000个,测试样本有10000个 LibSVM 一个常用的SVM框架 OpenCV3.0 中的 ...
- hdu-5495 LCS(置换)
题目链接: LCS Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total S ...
- RabbitMQ 一二事 - 简单队列使用
消息队列目前流行的有三种 1. RabbitMQ 2. ActiveMQ 3. Kafka 这三种都非常强大,RabbitMQ目前用的比较多,也比较流行,阿里也在用 ActiveMQ是阿帕奇出品,但是 ...
- java 16 - 9 增强for的概述和使用
JDK5的新特性:自动拆装箱,泛型,增强for,静态导入,可变参数,枚举 增强for:是for循环的一种. 格式: for(元素数据类型 变量 : 数组或者Collection集合) { 使用变量即可 ...
- VideoView 播放资源目录raw下的视频
你把影片copy到res/raw下!檔名小寫加底線,例如:default_video.3gp,在程式碼裡指定uri路徑 String uri = "android.resource://&q ...
- emberjs重写补充类之reopen方法和reopenClass方法
无需一次性将类定义完全,你可以使用reopen方法来重新打开(reopen)一个类并为其定义新的属性. Person.reopen({ isPerson: true }); Person.create ...
- mysql数据库误删除后的数据恢复操作说明
在日常运维工作中,对于mysql数据库的备份是至关重要的!数据库对于网站的重要性使得我们对mysql数据的管理不容有失!然后,是人总难免会犯错误,说不定哪天大脑短路了来个误操作把数据库给删除了,怎么办 ...