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编写的代 ...
随机推荐
- tomcat发布记录
web项目发布详细步骤 服务器 tomcat服务器1.删除webapps文件夹里面的项目war包-->ifm.war(项目war名称)2.把项目的ifm.war放到webapps里面3.删除we ...
- Storm wordcount Read from file
source code: package stormdemo; import java.io.BufferedReader; import java.io.BufferedWriter; import ...
- spring hadoop 访问hbase入门
1. 环境准备: Maven Eclipse Java Spring 版本 3..2.9 2. Maven pom.xml配置 <!-- Spring hadoop --> <d ...
- hdu1710(二叉树的历遍)
/* Binary Tree Traversals Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/O ...
- fdtd simulation, plotting with gnuplot, writting in perl
# 9月13日 于成都黄龙溪 1 #!/usr/bin/perl # Author : Leon Email: yangli0534@gmail.com # fdtd simulation , plo ...
- uva 816 abbott's revenge ——yhx
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAncAAAN5CAYAAABqtx2mAAAgAElEQVR4nOy9sY4jydKezVuoayhH0r
- [cocos2dx]2.2到3.1(3.0)升级帮助
摘要: cocos2dx 是一款优秀的多平台,专为2D游戏设计的引擎. 在活跃的开源社区的推进下, 越发稳定和强大. 2.x -> 3.x的更新幅度很大, 性能的提升和功能的丰富也非常明显. 但 ...
- 颗粒翻页(css3效果展示)
用css3效果做了一个颗粒翻页效果,布局上,一张图片做底层,在这张图片上用js创建一层小的行和列各为r和c的小span,给这些span分别设置background-position:用来覆盖原来的一张 ...
- 一个简单的scrapy爬虫抓取豆瓣刘亦菲的图片地址
一.第一步是创建一个scrapy项目 sh-3.2# scrapy startproject liuyifeiImage sh-3.2# chmod -R 777 liuyifeiImage/ 二.分 ...
- Netty5-应答服务器
需求: 服务端:接收客户端请求,返回当前系统时间 客户端:发起时间请求 服务端 package org.zln.netty.five.timer; import io.netty.bootstrap. ...