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

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

 一、概述

  这课首先讲的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='',bbb='')

  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,] #希望是个列表

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

 十、课后作业

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

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

  1. 初学者的python学习笔记1

    推荐一段时间闲的蛋疼,总觉得再堕落下去不太好,便捡起了之前一直想学而没有学的python,以此记录一下学习笔记,同时亦是督促和复习. 学习51cto上的<2016最新Python开发基础课程-2 ...

  2. 初学者的python学习笔记1——作业篇

    既然是学习,作业必不可少,其实在看后面讲思路之前还是感觉自己写的不错,但是和后面一对比,感觉实在是想的太片面太肤浅了,还需要太多太多改进的地方. 首先放一下作业要求. 最开始做的时候真的是完全按照字面 ...

  3. 初学者的python学习笔记2——作业篇

    这次的作业是商城展示,最开始的确是一脸懵逼,后来研究了一下网上的例子,总算是搞出来了一个(其实算是网上列子的简化版?). 最开始是想要使用字典去做,发现显示列表的时候怎么也无法实现序号和名称对应,原因 ...

  4. 近期Python学习笔记

    近期Python 学习笔记--一篇文入门python 作者:Pleiades_Antares(www.cnblogs.com/irischen) 写在前面的话 想学Python已经许久,一年多以前(应 ...

  5. 大学四年的Python学习笔记分享之一,内容整理的比较多与仔细

    翻到以前在大学坚持记录的Python学习笔记,花了一天的时间整理出来,整理时不经回忆起大学的时光,一眨眼几年就过去了,现在还在上学的你们,一定要珍惜现在,有个充实的校园生活.希望这次的分享对于你们有学 ...

  6. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

  7. VS2013中Python学习笔记[Django Web的第一个网页]

    前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...

  8. python学习笔记之module && package

    个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ...

  9. python学习笔记(六)文件夹遍历,异常处理

    python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...

随机推荐

  1. [记录][python]python爬虫,下载某图片网站的所有图集

    随笔仅用于学习交流,转载时请注明出处,http://www.cnblogs.com/CaDevil/p/5958770.html 该随笔是记录我的第一个python程序,一个爬去指定图片站点的所有图集 ...

  2. HTML转义字符大全

    ISO Latin-1字符集:  — 制表符Horizontal tab  — 换行Line feed  — 回车Carriage Return  — Space ! ! — 惊叹号Exclamati ...

  3. python成长之路【第十五篇】:JavaScript初步认识

    JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理. 一.如何编写 1.J ...

  4. 参考__HTML5 Game

    基础知识 TypeScript TypeScript 目录教程 Egret Egret II HTML5晃动DeviceMotionEvent事件 博客 html5tricks 库和框架 html5t ...

  5. PHP获取当前时间戳,当前时间、及解决时区问题

    一.获取当前时间戳 方法1:通过time函数 time(); 方法2:通过$_SERVER中的REQUEST_TIME元素 $_SERVER['REQUEST_TIME']; 方法3:通过strtot ...

  6. c# webapi发布到windows server 2008 r2 iis上提示404错误

    项目服务端是一组RestFul风格的webapi,发布到本机的iis没有问题,但是发布到服务器以后就提示404错误.本机是win10的,服务器是windows server 2008 R2 64位.之 ...

  7. WPF进度条系列②旋转小圆圈

     写在之前: 关于WPF的样式,我也是学习了很多朋友的文章才有了下面的东西,因为时间有些久远 & 备份的链接也都不在了. 所以,究竟是看过哪些文章,也是记不清楚了…… 请见谅. ------- ...

  8. Android百度地图附加搜索和公交路线方案搜索

    合肥程序员群:49313181.    合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q  Q:408365330     E-Mail:egojit@qq.com 综述: 今 ...

  9. 解决VS2015安装Android SDK 后文件不全及更新问题

    近日安装VS2015专业版后.想进行Android开发,就新建了一个Blank app 结果报[值不能为空 null 参数名:path1] 1:首先检查工具 xamarin 工具那设置的SDK路径对不 ...

  10. Python:list用法

    list是一种有序的集合,可以随时添加和删除其中的元素. 定义 空list >>> a_list=[] >>> a_list [] 普通 >>> ...