初学者的python学习笔记2

  本来想是先把作业二搞定的,结果发现作业二用的字典,一脸懵逼,还是先搞定第二课吧。其实第二课和第一课内容差不多,据说是第一课的老师去美国了……不管怎么样先整理一下吧。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 一、概述

  这课首先讲的python和其他语言的区别,C语言最快,使用起来最麻烦;java稍快,更多用在企业级应用;python最慢,全局解释器锁导致python和其他任何语言比都是慢的,主要应用自动化,大数据等。而python的优势在于linux自带。

 二、比较

 三、类型

  python也有很多种类型,比如cpython,jpython,pypy等。

  其中cpython是官方版本,使用c语言实现,适用范围最广。cpython会将源文件(py)转会成字节码文件(pyc)运行,机器在将其转会成机器码控制cpu。

  jpython是使用java语言实现,会将源文件转会成java字节码文件运行,机器在将其转会成机器码控制cpu。

  pypy是一种更加快速的python解释器,和cpython的区别就是会将源文件编译成机械码,对比cpython,pypy编译速度较慢(多了一步从字节码到机械码),但是执行速度块(少了一步将字节码编译成机械码)。

  ps:当cpython执行.py文件的时候,会生成.pyc的的字符码,下次再执行.py的时候会优先找.pyc文件,即使.py文件不存在也可以运行。

(速度对比)

 四、内容编码

  解释器在第一课笔记中已经写了就不再复述了。

  python3中因为默认编码方式为UTF-8,所以可以不再管编码直接输入中文,而python2中默认编码方式为ASCII,所以需要更改编码方式才能输入中文。

#-*-coding:utf-8-*-

  ASCII码占八位字节,Unicode至少十六位。UTF-8则是减少了Unicode所占的位数,数字8位,字母16位,汉字24位。

  如果utf-8要转换成其他编码比如gbk,要先解码到Unicode,然后再从Unicode编码到gbk。

 五、执行脚本传入参数

  虽然单独列了4这么个大项……实际上是一个叫sys的模块,解释器的相关模块,

import sys
print(sys.argv)

  sys.argv用来捕获执行脚本是传入的参数。

 六、字典、字符串、列表、判断

  其实后面讲的是变量和数据类型,之前第一课时候讲过的内容也暂且跳过。

  字典这个真的是,当时作业二提到的,我一脸懵逼的。

  字典是由键(keys),值(values)组成,键是唯一的,而值可以重复,字典中的键\值没有顺序。

dic={‘k1‘:a1,‘k2‘:a2}

  PS:

  With open (“a.txt”) as f:           不用关闭文件即可进行文件操作

f.write()

  6.1、字符串操作

  Capitalize         首字母大写

  Casefole      首字母大写变小写

  Center        居中,可自定填充字符

a=name.center(20,‘*‘)

  Count       统计出现次数,可以规定起始位置和结束为止

a=name.count(‘aa‘,0,10)

  Encode     编码

name=‘张三’
a=name.encode(‘gbk‘)

  Endswith 是不是以某字符串结尾的,能选择范围

  Expandtabs      tab转换成空格 1:8

  Find  返回子序列所在的索引

  Format     字符串格式化,字符串拼加

name="a {aaa} b c {bbb} d "
a=name.format(aaa=‘1‘,bbb=‘2‘)

  Join  拼接         引号内是分割

li=[‘a‘,‘b‘,‘c‘,‘d‘]
a=‘_‘.join(li)

  Ljust                   rjust          放在左右

  Lower       变成小写

  Lstrip        去掉左边空格

  Maketrans       对应关系         translate 对应关系替换

  Partition  分割

a=‘abcdefg‘
b=a.partition(‘cd‘)

(‘ab‘,‘cd‘,‘efg‘)

  Replace    替换,可以指定个数

a=‘aaabbbccc‘
b=a.replace(‘a‘,‘i‘,1)

  Splitlines    行分割,类似去掉换行符

  Startswith      以开头

  Swapcase       大小写转换

  Title            自动首字母大写

  Upper          大写

 6.2、判断

  Isalnum    是否是字母或数字

  Isalpha     字母

  Isdecimal 十进制小数

  Isdigit       数字

  Isidentifir 关键字

  Islower     全部小写

  Isnumeric         数字

  Isprintable        可以打印

  Isspace    是否是空格空格

  Istitle        是不是标题(首字母大写)

  Isupper    全部大写

 6.3、列表

  Clear         清空

  Copy         浅拷贝

  Count       统计

  Extend      合并,可以列表和元祖

li=[11,22]
li.extend((33,44))

  Index        索引

  Insert       指定索引添加

li.insert(0,‘aaa‘)

  Pop     指定索引移除并获取,会返回拿出去的值

  Remove   删除第一个指定值

  Reverse   反转索引值

 6.4、字典

  Clear         清空

  Copy         浅拷贝

  Fromkeys          拿出key生成新字典

new_dic=dic.fromkeys([‘k1‘,‘k2‘],‘v1‘)

{‘k2‘:‘v1‘,‘k2‘:‘v1‘}

  Get  如果key不存在默认返回,返回可设置

print(dic.get(‘k3‘,‘返回值‘))

  Keys          获取所有key

  Values      获取所有values

  Items        获取所有键值对

  Popitem   随机拿取一项

  Update     更新,加入一个新的键值对

dic={‘k1‘:‘v1‘,‘k2‘:‘v2}
dic.update({‘k3‘:123)

  PS:脚本中经常能看到这么一个东西。

if __name__==‘__main__‘

  这行的作用就是,执行的脚本的_name_变量默认等于_main_,其他的子脚本变量等于文件名。if _name_ == _main_放在主文件,防止手动启动的子脚本进行执行。

 七、类

  python中一切事物都是对象,对象基于类创建。

  按照我的理解,类就是存放着功能的集合,比如创建了一个列表,列表中存放着各种值,而列表本身的功能由类赋予的。这样就避免了每个列表都存储自身功能,而造成n个列表重复开辟n个功能这种非常浪费内存的行为,通过类只要创建一遍功能,别的列表来读取就行了。

 八、字符串

  bit_length   字符串最大长度

  __divmod__  求总数和余数

  __float__    小数转化成浮点

  __floordiv__     地板除     丢弃小数,和5//6相同

 __or__     |

  __pow__ 幂 1**2

 __rand__          加r左右转换,后面的加前面的

  九、课上练习

  这题我第一反应就是先做一个列表,然后一个一个拿取数字,在判断大于小于66,再放到字典里。我也不知道这个方法可不可行,到最后也没研究出来怎么给字典里的键一次增加值,不知道能不能办到,求大神指点……

dic={}
li=[11,22,33,44,55,66,77,88,99,90]
for i in li:
    if i>66:
        if "k1" in dic.keys():
            dic[‘ke‘].append(i)
        else:
            dic[‘k1‘]=[i,]  #希望是个列表

  老师给的方法是把值做成一个列表,然后判断键是否存在,不存在就创造,存在就把数字添加到列表里。我承认根本就没想到是否判断键的存在...不过列表倒是避开了我之前那个错误。

 十、课后作业

  这个课后作业我真心是一脸懵逼,购物商城是啥,把商品和对应价格放在字典里?用文字描述吗?给出列表然后选择哪种?而且我翻了翻后面的视频竟然没有范例...我要静静。

时间: 2024-10-15 20:35:08

初学者的python学习笔记2的相关文章

初学者的python学习笔记1

推荐一段时间闲的蛋疼,总觉得再堕落下去不太好,便捡起了之前一直想学而没有学的python,以此记录一下学习笔记,同时亦是督促和复习. 学习51cto上的<2016最新Python开发基础课程-2.0版本>的视频版本,之所以看视频是因为视频讲解感觉会比看书清晰一些,不过详细还要找各种资料补充. ------------------------------------------------------------------------------------------------------

python 学习笔记 7 -- Python关键字总结

0.写在前面的话 学习一门语言最重要的功课是练习与复习,在<笨方法学Python>中第三十七节虽然没有教你任何内容,但是它提醒我们:"学了这么多,你还能记得多少?该复习了!" 下面我们就对这一节的第一部分"关键字"来做个复习: Python中的关键字包括如下: and       del        from      not      while    as        elif       global    or       with     

python学习笔记-抓取网页图片脚本

初学者一枚,代码都是模仿网上的.亲测可用~ 运行脚本的前提是本机安装了httplib2模块 #!/usr/bin/python import os import re import string import urllib #author:reed #date:2014-05-14 def GetWebPictures(): url=raw_input('please input the website you want to download:') imgcontent=urllib.urlo

OpenCV之Python学习笔记

OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书<OpenCV Computer Vision with Python>,于是就看一遍,顺便把自己掌握的东西整合一下,写成学习笔记了.更需要的朋友参考. 阅读须知: 本文不是纯粹的译文,只是比较贴近原文的笔记:         请设法购买到出版社出版的书,支持正版. 从书名就能看出来本书是介绍在Pytho

python学习笔记12-模块使用

python学习笔记12-模块使用 模块os,sys 什么是模块? 模块os,sys 模块是Python组织代码的一种基本方式 一个Python脚本可以单独运行,也可以导入到另外一个脚本运行,用import hello语句来导入,不用加入.py 什么是Python的 包? Python的模块可以按照目录组织为包 创建一个包的步骤: 创建一个名字为包名的目录 在改目录下创建一个__init__.py文件 根据需要,在该目录下存放脚本文件或已编译的扩展及子包 import pack.m1,pack.

python学习笔记2—python文件类型、变量、数值、字符串、元组、列表、字典

python学习笔记2--python文件类型.变量.数值.字符串.元组.列表.字典 一.Python文件类型 1.源代码 python源代码文件以.py为扩展名,由pyton程序解释,不需要编译 [[email protected] day01]# vim 1.py #!/usr/bin/python        print 'hello world!' [[email protected] day01]# python 1.py hello world! 2.字节代码 Python源码文件

Python学习笔记--未经排版

Python 学习笔记 Python中如何做到Print() 不换行 答:Print("输出内容",end='不换行的分隔内容'),其中end=后面为2个单引号 注:在Python 2.x中,Print "输出内容", 即在输出内容后加一逗号 Python中 is 和 == 的区别 答:Python中的对象包含三要素:id.type.value 其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值 is判断的是a对象是否就是b对象,是通过id来

Python学习笔记_Python对象

Python学习笔记_Python对象 Python对象 标准类型 其他内建类型 类型对象和type类型对象 Python的Null对象None 标准类型操作符 对象值的比较 对象身份比较 布尔类型 标准类型的内建函数 typeObj cmpobj1 obj2 strobj reprobj typeobj isinstanceobj 标准类型的分类 存储模型 更新模型 访问模型 不支持的类型 Python学习笔记_Python对象 首先来理解一个通俗的含义,什么是对象?其实对象无论在什么语言里面

OpenCV for Python 学习笔记 三

给源图像增加边界 cv2.copyMakeBorder(src,top, bottom, left, right ,borderType,value) src:源图像 top,bottem,left,right: 分别表示四个方向上边界的长度 borderType: 边界的类型 有以下几种: BORDER_REFLICATE # 直接用边界的颜色填充, aaaaaa | abcdefg | gggg BORDER_REFLECT # 倒映,abcdefg | gfedcbamn | nmabcd