跟上进度闭关集训100天python(3.x)自动化全栈开发-day1(让自己达到一个新的高度),


 

        Day1 目录:

Python介绍

* 了解Python的特点、发展史

* 介绍Python广泛的应用领域和前景

第一个Python程序

* 掌握Python代码的2种执行方式

变量

* 掌握变量的作用

* 掌握标识符的命名规范

程序交互

* 掌握如何让程序读取用户输入

基本数据类型

* 掌握字符串、数字、布尔这三个基本数据类型

(小练习)

格式化输出

* 掌握字符串格式的方法

python介绍

 

   说到Python语言,就不得不说一下它的创始人Guido van Rossum(1956 -- ?), 他在开发PYTHON语言之前曾使用过几年的ABC语言,ABC是一门主要用于教学目的语言(教计算机系的学生如何设计一门开发语言),Guido 在开发PYTHON时借鉴了很多ABC语言的特性,所以后来人们包括Guido自己也认为,PYTHON语言的前身就是ABC语言。关于创作PYTHON语言的初衷,Guido在1996年写到:

                    Over six years ago, in December 1989, I was looking for a "hobby" programming project that would keep me occupied during the week around Christmas. My office ... would be closed, but I had a home computer, and not much else on my hands. I decided to write an interpreter for the new scripting language I had been thinking about lately: a descendant of ABC that would appeal to Unix/C hackers. I chose Python as a working title for the project, being in a slightly irreverent mood (and a big fan of Monty Python's Flying Circus).

                (翻译)  在六年前的1989.12月份,我为了在圣诞假期打发无聊时间找点事干(估计是写代码找不到对象),决定为我最近一直在构思的一门新的脚本语言写个解释器,这门语言的前身ABC(就Guido本人看来,ABC這種語言非常优美和强大,是专门为专业的程序设计师使用的。但是ABC語言并没有成功,究其原因,吉多认为是非開放造成的。吉多決心在Python中避免這一错误,并取得了非常好的效果,完美结合了C和其他一些語言)语言更多是被UNIX/C黑客使用,我选择PYTHONP这个名字做为这个开发项目的名字,起这个名字的一个原因是因为我是Month Python’s Flying Circus(英国的一个电视喜剧)的超级粉丝。

                                           那Python究竟是一门什么样的语言呢?

                编程语言主要从以下几个角度为进行分类,编译型和解释型、静态语言和动态语言、强类型定义语言和弱类型定义语言

     为大家基本介绍一下这几种语言:

          编译型语言:其实它和汇编语言是一样的:也是有一个负责翻译的程序来对我们的源代码进行转换,生成相对应的可执行代码。这个过程说得专业一点,就称为编译(Compile),而负责编译的程序自然就称为编译器(Compiler),它会一次把所有的代码转换成机器语言,然后写成可执行文件。

          解释型语言:从字面上看,“编译”和“解释”的确都有“翻译”的意思,它们的区别则在于翻译的时机安排不大一样.打个比方:假如你打算阅读一本外文书,而你不知道这门外语,那么你可以找一名翻译,给他足够的时间让他从头到尾把整本书翻译好,然后把书的母语版交给你阅读;或者,你也立刻让这名翻译辅助你阅读,让他一句一句给你翻译,如果你想往回看某个章节,他也得重新给你翻译。 就是不断地解释、执行、解释、执行……所以,解释型程序是离不开解释程序的,由于解释型程序是将编译的过程放到执行过程中,这就决定了解释型程序注定要比编译型慢上一大截,像几百倍的速度差距也是不足为奇的。               

          动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如VBScript也多少属于动态类型语言。

          静态类型语言:静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明所有变量的数据类型,C/C++是静态类型语言的典型代表,其他的静态类型语言还有C#、JAVA等。

          强类型定义语言:强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。

          弱类型定义语言:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。

 

强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。另外,“这门语言是不是动态语言”与“这门语言是否类型安全”之间是完全没有联系的!
          例如:Python是动态语言,是强类型定义语言(类型安全的语言); VBScript是动态语言,是弱类型定义语言(类型不安全的语言); JAVA是静态语言,是强类型定义语言(类型安全的语言)。

需要理解的一些概念

1、C语言编译完就是机器码,机器码可以直接在处理器上执行。

2、CPU可以直接读取机器码。

3、Python是用C写的。

4、Python解释器会把代码内容读到内存里,通过Python解释器翻译成字节码。

5、CPU不能直接读取字节码,需要把字节码转换成机器码。

anyway,so

Python对于C来说,就多了一个字节码转换成机器码的过程,所以相对会慢。但是人为是无法感知的。

目前Python主要应用领域:

  • 云计算: 云计算最火的语言, 典型应用OpenStack
  • WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
  • 科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
  • 系统运维: 运维人员必备语言
  • 金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测
  • 图形GUI: PyQT, WxPython,TkInter

Python在一些公司的应用: 

  • 谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬虫、Google广告等项目都在大量使用Python开发
  • CIA: 美国中情局网站就是用Python开发的
  • NASA: 美国航天局(NASA)大量使用Python进行数据分析和运算
  • YouTube:世界上最大的视频网站YouTube就是用Python开发的
  • Dropbox:美国最大的在线云存储网站,全部用Python实现,每天网站处理10亿个文件的上传和下载
  • Instagram:美国最大的图片分享社交网站,每天超过3千万张照片被分享,全部用python开发
  • Facebook:大量的基础库均通过Python实现的
  • Redhat: 世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的
  • 豆瓣: 公司几乎所有的业务均是通过Python开发的
  • 知乎: 国内最大的问答社区,通过Python开发(国外Quora)
  • 春雨医生:国内知名的在线医疗网站是用Python开发的
  • 除上面之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝 、土豆、新浪、果壳等公司都在使用Python完成各种各样的任务。 

                                               优点:

                                                缺点:

 

python的安装:https://www.python.org/downloads/

python解释器的安装:https://www.runoob.com/w3cnote/pycharm-windows-install.html

 

听不懂的地方一定要继续的学下去(送给我也给大家):

 

 

要想盖楼必先构架,改变经不起任何等待

                               

 

话不多说让我们正式开始Python的学习吧!!!

 

                             


变量篇   

 


 

      变量是什么?  

        变量,是用于在内存中存放程序数据的容器

                 怎么理解呢?      计算机的最核心功能就是“计算”,cpu是负责计算的,计算需要数据源,数据源要存在内存里,比如我要把Dayang的姓名、身高、年龄信息存下来,后面程序会调用,怎么存呢,直接设置一个变量名=值,这样就可以定义了

 

现在咱们就来定义一下变量    

1 name = "Dayang"
2 age = 18
3 height = 180
4 #这样我们就定义了 name变量就是我的名字 Dayang 然后就是定义了年龄18  身高180 ,可别质疑我噢,出家人不打诳语。

 

哪有人就问了,以后需要用到的时候怎么调用呢?

        -后面程序想调用的时候 直接调用 变量名 就可以



1 name = "Dayang"
2 age = 18 
3 height = 180
4 
5 print(name)#调用变量                                 以后咱们会有很多练习的。知识还是要运用到实践上的
6 print(age)

 

 

 

变量的使用规则

        程序是从上到下依次逐行执行的,所以变量名必须先定义,后调用,否则会报错

如图:

 

 

报错原因就是因为之前没有定义name2这个变量名,所以没有找到报错

变量的定义规则

        1.程序全局都会用到的变量,尽量定义在文件开头

        2.变量名只能是 字母、数字或下划线的任意组合,其他形式均不合法

        3.变量名的第一个字符不能是数字

        4.以下关键字不要声明为变量名[ "and"   "as"  "assert"  "break"  "class"  "continue"  "def"  "import"  "elif"  "else"  "except"  "exec"  "finally"  "for"  "from"  "global"  "if"

                       "import"  "in"  "is"  "lambda"  "not"  "or"  "pass"  "print"  "raise"  "return"  "try"  "while"  "with"  "yield"],这些是Python语法中已经占用了的关键字

常用变量名定义规范

 



 1 #驼峰体
 2 
 3 
 4 ageofboy = 20
 5 numberofstudents = 40
 6 
 7 
 8 #下划线
 9 
10 
11 age_of_boy = 20
12 number_of_students = 40
13 
14 
15 #你觉得那种看着更清晰,那种就是官方推荐的,我想你肯定会先第二种
16 
17 '''变量不好的方式
18 1.用拼音、中文做变量名
19 2.变量名过长
20 3.不能让人通过名字就能看出来大概是什么意思
21 4.首字母大写(大写是用来定义类名的,后面会学)'''

 

 

 变量的修改

 

1 name = "Dayang"
2 age = 18 
3 height = 180
4 
5 print(height)
6 height = 185#直接赋值就可以改了180➡185
7 print(height)

 

 

 常量

  常量就是指不变的量例如:pai 3.141592653...... 或在程序中不会改变的量

  举例,假如我的年龄会随着时间变化,这个年龄就是变量,但一些情况下年龄不会改变就是常量,python中

有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量

 

AGE_OF_BOY = 56

 

      在C语言中有专门的常量定义语法

const int count = 20

#一旦定义为常量,更改就会报错

 


基础程序交互篇


 

 

读取用户输入       

 1 name = input("what is your name ?")
 2 print("hello" + name)
 3 #执行脚本就会发现,程序会等待你输入名字后再往下继续走
 4 
 5 
 6 #可以让用户输入多个信息,如下
 7 name = input("what is your name ?")
 8 age = input ("how old are you")
 9 hometown = input("where is your hometoen?")
10 ptint("holle",name,"you are",age,"years old,you came from ",hometown)  
11     #执行后输出结果如下
12 what is your name?Dayang
13 how old are you? 18
14 where is your hometown? China
15 holle Dayang your are 18 years old,you came from China

 

 

读取用户输入 

 



 1 #随着学习的深入,用不了多久,你就可以写复杂的上千甚至上万的代码了,有的代码多,短时间不看就忘记了什么意思,所以为了避免尴尬的发生,需要加强自己代码的可读性。
 2 
 3 #例如
 4 
 5 
 6 #单行注释的时候
 7 
 8 #name = Dayang 
 9 在代码前加#此段代码,将不再运行
10 
11 '''
12 n = 1
13 m=2
14 b=3
15 '''
16 """ """ 三对双引号可以多行注释
17 
18 """
19 注释原则
20 1.不用全部加注释,只需要在自己觉得重要或不好理解的部分加注释即可
21 2.注释可以用中文或英文,但绝对不要拼音噢
22 3.注释不光给自己看,还要给别人看,所以请认真写
23 """

 

 

 

 


 

 

基本数据类型


 

          什么是数据类型?

我们人类可以很容易的分清数字和字符的区别,但是计算机并不能,计算机虽然很强大,但从某种程度来说有很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则计算机是分不清楚1和“汉”的,因此,在每个编程语言里都有1个数据类型的东西,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传数字给他,你想让他处理文字,就传字符串类型给他,Python中常用的数据类型有很多,今天我们暂时只讲三种,数字、字符串、布尔类型(后面会详细的讲)

 

数字

a = 2**60
type(a)#tyoe()是查看数据类型的方法工具
<type 'int'>

#在Python(2.x)中还分int(整型)、long(长整型)在python3版本中数子没有分类long类型了,全是int

 

                除了int和long外,其实还有float浮点型、复数型,今天就暂时先了解,后面详细讲

 

字符串



 1 #在python中所有加引号的字符都被认为是字符串
 2 
 3 name = "Dayang"#双引号
 4 age = "18"#字符串
 5 age = 18  #数字 int类型
 6 
 7 
 8 a = ''' i love you ,you love me'''#三个引号也可以的噢
 9 
10 
11 #其实单引号、双引号、三引号是没有任何区别的,有时经常配合使用
12 
13 
14 
15 字符串的拼接
16 
17 name = "Dayang"
18 age = "18"
19 name + age 
20 'Dayang18'
21 name *10 # 相乘其实就是复制了十个自己结合起来,但是注意不能相减,相除因为臣妾办不到,可以试一下,暂时没有这个功能
22 'DayangDayangDayangDayangDayangDayangDayangDayangDayangDayang'
23 a = "A \n A"#\n是换行的命令
24 print(a) 
25 A
26 A

 

 

 

        再有就是拼接的时候要注意双方都是字符串才可以,不确定时可以用type()判断类型

布尔值(bool)

    布尔类型其实很简单就两个值一个Ture(真),一个False(假)主要用作记逻辑判断



 1 a = 3
 2 b = 5
 3 a>b#执行不成立就是False,就是假
 4 False
 5 a<b#执行成立就为True
 6 True
 7 
 8 #计算机为什么要描述这种事情呢
 9 
10 if a>b:
11     print(a is bigger than b)
12 else:
13     print(a is smaller than b)
14 #计算机可以根据判断的结果不同,来执行不同的动作指令

 

 

 

列表类型

    如果要把全班人的名在内存存下来,用上面的字符串类型是可以做到的但取的时候会很不方便。

 1 names = "a,b,c,d,e"#假设全班人
 2 name[2]#提取2号
 3 'c'#第二个位置不是b吗?为什么会是c
 4
元素名 a b c d e
下标(索引) 0  1 2 3 4
 5 
 6                   #解答为什么是c?  因为列表是通过下标来标记元素位置的,下标也可以成为索引,下标从0开始,没添加一个元素,就自动+1
 7 
 8 
 9 
10 #插入
11 names
12 ["a","b","c","d","e"]
13 names.insert(3,"马云"#  3  插入你想插入的下标位置
14 names
15 ["a","b","c","马云""d","e"]
16 
17 #追加(添加到列表尾部)
18 names
19 ["a","b","c","马云""d","e"]
20 names.append("马化腾"#将马化腾添加到列表尾部
21 names
22 ["a","b","c","马云""d","e","马化腾"]
23 
24 
25 
26 
27 
28 #列表的修改
29 names[0] = "Dayang"
30 names
31 ["Dayang","b","c","马云""d","e","马化腾"]
32 
33 
34 
35 
36 
37 #删除元素
38 names
39 ["Dayang","b","c","马云""d","e",“马化腾”]        
40 names.remove("Dayang")#这个就不是通过下标了,是根据元素的名字,是我不配同班,让我走吧
41 names
42 ["b","c","马云""d","e",“马化腾”]   
43 #如果列表中有多个"Dayang"将会从左开始找到的第一个"Dayang"进行删除,只删除找到的一个
44 
45 
46 
47 
48 
49 
50 
51 #判断某元素是否在列表里
52 names
53 ["b","c","马云""d","e",“马化腾”]   
54 "b" in names#是否在names列表中
55 True

 

又到了美滋滋小练习时刻,通过今天的学习做一做小练习

1.一句代码打印10行"明天的我还在等待今天的我,今天的我不能让自己等自己",注意是10行。

2.写一个列表,把你和你身边的前后6个同桌的名字存进去,把 Dayang 插入到你的后面,

3.把第2题列表里的你自己删除掉,在追加到列表尾部。

                    

 

          既然选择了,请不要让自己放弃了自己的倔强  

后续的作业会通过视频的形式进行详细讲解

 后续讲解会添加Linux云运维、数据库技术

 同学们坚持了第一天也是非常不容易的,通过了一天的学习以后的路是去还是留,请珍重请加油

 

 qq:1282579117

 

相关内容

    暂无相关文章

评论关闭