第一周python学习2018-12-23

源码

Python解释器:从文件第一行开始,一直运行到文件末尾,会执行文件中的每一行python代码。

Python标准库:是一组丰富的软件模块,提供了大量预建(且高质量)的可重用代码,每个模块中又有很多子模块或者函数。

Datetime模块

os模块:   getcwd函数

import os

os.getcwd()-------------得出代码所在文件夹的名字

os.environ----------访问系统的全部环境变量

os.getenv(‘HOME’)--------单独访问某一个环境变量


sys模块:了解运行解释器的系统

import sys

sys.platform------了解运行解释器的系统

sys.version-----------了解关于所运行的Python版本的大量信息


datetime模块

import datetime

datetime.date.today()------今天的日期

datetime.date.today().year------今天日期的组成成分

datetime.date.today().month

datetime.date.today().day


datetime.date.iosformat(datetime.date.today())-----今天的日期转换为一个字符串


time模块

import time

time.strftime(“%H:%M”)------24小时制的时间

time.strftime(“%A &p”)-----星期及上下午


HTML模块

Import html

html.escape(……….)-----字符串转换

html.unescape(……….)


< ------<

>------->

心号------♥


内置电池----Python的标准库

内置数据结构:

                     列表:[   ]

                               可以包含任何类型的数据


Python变量会动态赋值

在Python中,第一次使用变量时,变量就会立即存在,不需要预声明,Python变量会从所赋对象的类型得到自己的类型信息。


可以向变量赋值  一个方法调用的结果。


Python的“超级操作符”:in: 检查一个对象是不是在另一个对象里


Python的代码块:缩进形式划分代码块,还有冒号:,冒号后必须缩进,表示引入一个新的代码组


If  -----else

elif

12/14

循环

for     提前知道需要多少次迭代

for i in [1,2,3]:

      print(i)

While     不知道需要多少次迭代


range    接收一个整数参数,指示for循环要运行多少次。

for num in range(5):

             print(‘HeadFirst Rocks!’)


模块调用

Import time

time.sleep(5)----让执行暂停5秒

import random

random.randint(1,60)----在1-60中随机生成一个数字


12/15/18

列表数据---处理有序数据

1、数字、字符串、对象

2、内置数据结构:

列表:有序的可变对象集合。

[   ]   ;    ,


字面列表


元组:有序的不可变对象集合,是常量列表

字典:无序可变数据结构。字典中每个唯一键有一个与之关联的值,字典可以包含多个键/值对。与键关联的值可以是任意对象。

集合:无序的唯一对象集合,集合可以根据需要扩展(和收缩)。集合不允许有重复的对象。


12/19/18

问题:本来很疑惑为什么列表切片中,letters[开始:结束:步长],其中并不包括“结束”这个索引值,但是使用letter[::1]时,就包含了最后一个索引值,于是就试了几下:

[if !vml]

[endif]

可以看到,当“结束”索引值是4的时候,并不包含4位置也就是最后一个位置上的元素。但是当“结束”索引值是5或者更大的数字时,就包含了最后一个元素。定义上说“如果没有指定结束值,则取列表允许的最大值”,实验证明,列表允许的最大值可以是5、6、7等超过列表元素的值。因而当处于默认状态时,就意味着取无限大。

经专业人士解释:左闭右开。。。。


注意:

[if !vml]

[endif]

在’’.join()中,只允许有一个数组,所以如图中有多个元素时,需要加上[],变成’’.join([…,….,……,……])




《HeadFirst Python》第二章结束

第二章:列表数据:处理有序数据

在python中,一切都是对象,意味着所有对象都可以赋给变量。

内置数据结构:列表,元组,字典,集合

列表:可异构,动态变化

外形特点:[   ]   ,

字面列表:一次性完成创建和填充

函数:len()  会报告一个对象的大小

Found = []

Len(found)

输出显示:0


“扩展”列表:

函数:append()

found.append(‘a’)

len(found)

输出:1

found

输出:0


if…..in…..

if……not in…….

vowels = [‘a’,’e’,’i’,’o’,’u’]

word = “Milliways”

for letters in word:

       if letter invowels:

           if letternot in found:

               found.append(letter)

for vowel in found:

       print(vowel)


word = input(“provide a word to search for vowels:”)


从列表中删除对象:

remove()   取一个对象值最为唯一参数

pop()   取一个可选的索引值作为参数

用对象扩展列表:

extend()   取一个对象列表作为唯一参数

insert()    取一个索引值和一个对象作为参数


list()   将字符串转换为列表

copy()   复制列表


列表扩展中的中括号记法:

letter[start:stop:step]


letter[3:]      跳过前三个字母,然后给出其余的所有字母

letter[:10]   直到(但不包含)索引位置的10的所有字母

letter[::2]  步长为2


‘’.join()   将列表转换为字符串

list()


列表切片——非破坏性的







Python

缺点:第一个缺点就是运行速度慢,和C程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。

但是大量的应用程序不需要这么快的运行速度,因为用户根本感觉不出来。例如开发一个下载MP3的网络应用程序,C程序的运行时间需要0.001秒,而Python程序的运行时间需要0.1秒,慢了100倍,但由于网络更慢,需要等待1秒,你想,用户能感觉到1.001秒和1.1秒的区别吗?这就好比F1赛车和普通的出租车在北京三环路上行驶的道理一样,虽然F1赛车理论时速高达400公里,但由于三环路堵车的时速只有20公里,因此,作为乘客,你感觉的时速永远是20公里。

第二个缺点就是代码不能加密。如果要发布你的Python程序,实际上就是发布源代码,这一点跟C语言不同,C语言不用发布源代码,只需要把编译后的机器码(也就是你在Windows上常见的xxx.exe文件)发布出去。要从机器码反推出C代码是不可能的,所以,凡是编译型的语言,都没有这个问题,而解释型的语言,则必须把源码发布出去。

这个缺点仅限于你要编写的软件需要卖给别人挣钱的时候。好消息是目前的互联网时代,靠卖软件授权的商业模式越来越少了,靠网站和移动应用卖服务的模式越来越多了,后一种模式不需要把源码给别人。

再说了,现在如火如荼的开源运动和互联网自由开放的精神是一致的,互联网上有无数非常优秀的像Linux一样的开源代码,我们千万不要高估自己写的代码真的有非常大的“商业价值”。那些大公司的代码不愿意开放的更重要的原因是代码写得太烂了,一旦开源,就没人敢用他们的产品了。



Python交互模式和命令模式执行python代码的区别:

Python交互模式的代码是输入一行,执行一行,而命令行模式下直接运行.py文件是一次性执行该文件内的所有代码。可见,Python交互模式主要是为了调试Python代码用的,也便于初学者学习,它不是正式运行Python代码的环境!

在Python交互式模式下,可以直接输入代码,然后执行,并立刻得到结果。

在命令行模式下,可以直接运行.py文件。


Python的缩进格式利弊:

缩进有利有弊。好处是强迫你写出格式化的代码,但没有规定缩进是几个空格还是Tab。按照约定俗成的管理,应该始终坚持使用4个空格的缩进。

缩进的另一个好处是强迫你写出缩进较少的代码,你会倾向于把一段很长的代码拆分成若干函数,从而得到缩进较少的代码。

缩进的坏处就是“复制-粘贴”功能失效了,这是最坑爹的地方。当你重构代码时,粘贴过去的代码必须重新检查缩进是否正确。此外,IDE很难像格式化Java代码那样格式化Python代码。

最后,请务必注意,Python程序是大小写敏感的,如果写错了大小写,程序会报错。


Python数据类型:

如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识,比如:

'I\'m \"OK\"!'

表示的字符串内容是:

I'm "OK"!





源代码

源码就是指编写的最原始程序的代码。运行的软件是要经过编写的,程序员编写程序的过程中需要他们的“语言”。音乐家用五线谱和音符,建筑师用图纸和笔,那程序员的工作的语言就是“源码”了。源代码不能直接运行,必须编译后才能运行。源码经过编译处理后就可以直接在操作系统下运行了。

人们平时使用软件时就是程序把“源码”翻译成我们可直观的形式表现出来供我们使用的。 

任何一个网站页面,换成源码就是一堆按一定格式书写的文字和符号,但我们的浏览器帮我们翻译成眼前的模样了。


源代码是指原始代码,可以是任何语言代码。

汇编码是指源代码编译后的代码,通常为二进制文件,比如共享库、可执行文件.NET中间代码、JAVA中间代码等。

高级语言通常指C/C++BASICC#JAVAPASCAL、易语言等等。汇编语言就是ASM,只有这个,比这个更低级的就是机器语言了。



源码主要功用有如下2种作用:

1.生成目标代码,即计算机可以识别的代码。

2.对软件进行说明,即对软件的编写进行说明。为数不少的初学者,甚至少数有经验的程序员都忽视软件说明的编写,因为这部分虽然不会在生成的程序中直接显示,也不参与编译。但是说明对软件的学习、分享、维护和软件复用都有巨大的好处。因此,书写软件说明在业界被认为是能创造优秀程序的良好习惯,一些公司也硬性规定必须书写。

需要指出的是,源代码的修改不能改变已经生成的目标代码。如果需要目标代码做出相应的修改,必须重新编译。



源码组合

编辑

网站源码作为软件的特殊部分,可能被包含在一个或多个文件中。一个程序不必用同一种格式的源代码书写。例如,一个程序如果有C语言库的支持,那么就可以用C语言;而另一部分为了达到比较高的运行效率,则可以用汇编语言编写。

较为复杂的软件,一般需要数十种甚至上百种的源代码的参与。为了降低这种复杂度,必须引入一种可以描述各个源代码之间联系,并且如何正确编译的系统。在这样的背景下,修订控制系统(RCS)诞生了,并成为研发者对代码修订的必备工具之一。

还有另外一种组合:源代码的编写和编译分别在不同的平台上实现,专业术语叫做软件移植。



执行效率

编辑

虽然我们可以通过不同的语言来实现计算机的同一功能,但在执行效率上则存在不同。普遍规律是:越高级的语言,其执行效率越低。这也是为什么汇编语言生成的文件比用BASIC语言生成文件普遍要小的原因。

源代码就是用汇编语言和高级语言写出来的代码。主要对象是面向开发者;

我们平常使用的应用程序都是经过源码编译打包以后发布的,呈现的最后结果是面向使用者,最终客户的。

HTML

超文本标记语言,标准通用标记语言下的一个应用。

超文本就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。

超文本标记语言的结构包括头”部分(英语:Head)、和“主体”部分(英语:Body),其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。


制表符(也叫制表位)的功能是在不使用表格的情况下在垂直方向按列对齐文本。

水平制表符就是水平空出几个格,说像一下打了几个空格一样。编程里面用“\t”表示。垂直制表符就是垂直空出几个格,说像一下打了几个回车一样。编程里面用“\v”表示。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容