python基础部分初学

第一次开始认真学习一门编程语言也是第一次写博客,首先呢,选择学习python的原因是最近比较流行而且据说和其他语言相比较为简单,相信现在要是让别人推荐学什么语言,80%的人一定会推荐python。我的学习方式是看教学视频,看一节然后自己编不会的就倒回去重看,然后也有一边记笔记的习惯,顺便安利一个记笔记的软件“OneNote”,超好用。

(视频中一章大概是一整天的时间,由于上课的原因我是几天内看完的)下面我就介绍一下第一次学习的内容:

一、所用软件:pycharm3,选择这个的原因就是老师用的这款,其他的我也不是很了解,它主要的优点就是能够自动补全(这个功能真的很好用,尤其是不能盲打的人),调试性能也比较强。

 

二、背景知识

1.语言类型划分

1)编译型和解释型

编译型:一次性将所有代码转换成机器语言,之后生成可执行文件,这个的优点就在于执行速度快,适用于大型程序开发,例如:CC++(本科学校主要开展的课程,可是并没与学会)

解释型:与上述正好相反,程序每执行一条命令就由解释程序将源代码转换为二进制代码,不断地解释、执行、解释、执行...

(2)动态语言和静态语言

动态语言:在运行期间才做数据类型检查的语言,不用给变量声明类型。例如:pythonruby

静态语言:数据类型在编译期间检查,写程序时就要声明变量的数据类型

(好多人正是因为python可以不用声明变量了类型才觉得使用起来更加方便,这点确实是python的一大优点,它的一些调用函数会有默认的类型,下面会逐渐介绍)

(3)强类型定义语言和弱类型定义语言

强类型定义语言:一旦某个数据的类型被指定,就必须通过强制转换才能改变,是一种类型安全的语言

弱类型定义语言:数据类型可以被忽略

python是属于强类型定义语言,与动态语言是结合在一起的,一旦某些函数默认了变量类型就需要强制转换才可以是程序运行)

需要强调的是动态语言和语言是否类型安全无关,例如:python是动态强类型(类型安全)语言。

2.python的优缺点

1)优点:简单易懂、开发效率高、属于高级语言(忽略底层细节)、可移植性(避免对系统的依赖性,可以在任何平台上运行)、可扩展性和可嵌入型(由于python的代码不能加密,因此为了保护有些关键性代码可以使用CC++来实现,用python可以调用这部分代码)

2)缺点:速度慢(这一点是相对而言的,例如C语言执行的时间为0.1spython0.15两者的时间差若非进行专业的性能测试,日常编程是感受不到差距的)、代码不能加密、线程不能利用多CPU问题(这个问题理解的不是很好,在日后的学习中会进一步理解的)

3.Python解释器

1CPython官方版本,用C语言开发的

2IPython交互式解释器,用于金融方面

3PyPy动态编译(不是解释),可以提高执行代码速度,用 Python 实现的 Python

4JPythonJAVA平台实现

5IronPython使用PHP编写

最主要使用的就是第一种CPython解释器,目前学习的程度对解释还没有很好的理解,希望在今后的学习中不断进步。

三、基础编程语法

1.变量用法

1)变量:变量名=

C语言不同的是声明变量时不需要给出变量的类型。

两种输入的形式,值是数字,那么默认为整数型;或者用单引号‘’或“”(无分别)则认为变量类型字符串。可以用type检测变量的数据类型,例:print(type(变量名))(注意:python中不需要在句尾加;)

(2)变量指向的是地址空间

     想要理解这句话最好是通过运行一小段代码来理解

     name = “haha”

     name1 = name

     print(name,name1)

     name = “hehe”

     print(name,name1)

此时的输出结果为:haha haha                   

                                hehe haha  

可以看出变量name1通过name找到地址,并指向地址空间,并不会因为name的只改变而跟着改变。

(3)常量问题

Python中并没有常量,只是约定变量名大写就表示不要更改的常量(实质上仍然可改改变,只是一种约定)

(4)注释用法

当行注释使用#

部分注释:三个双引号” ” “,或者三个单引号’ ‘ ‘(还可以打印字符串,附一个变量名即可)例:mgs = ‘’’name = haha’’’ 

    print(mgs)

此时的输出结果为name = haha(完全为单引号中的内容)

2.交互式程序(即可以通过键盘读入数据并输出结果)

1)输入函数——input()

 name = input(“name :”)

 print(name)

 此时的输出结果为:name:haha(黄色为手动输入,回车后输出下一行)

            name:haha

input读入的数据默认为字符串,如果想改变数据类型就要强制转换:

name = int(input(“name :”)),此时用type检查就改为int

2)输出函数

之前举例中使用的print()函数,用法是print(变量名1,变量名2,...)也可以添加附加输出例如:

 name = input(“name :”)

 print(“my name is”,name)  

输出为:name:haha(黄色为手动输入,回车后输出下一行)

              my name is haha

为了能够使输出的结果更加标准化,介绍一下.format( )函数,用于格式化输出字符串,字符串的参数可以用{NUM}表示,{0}代表第一个参数,{1}代表第二个参数;使用“:”指定代表元素需要的操作,如:”:.3“小数点三位;数字(01,……)代表format()里面的元素,可以使用”.“调用元素

Print('{0:.3}is a decimal. '.format(1/3))#小数点后三位

第一种:

name = input("name:")

age = int(input("age:"))

job = input("job:")
salary = input("salary:")

info = '''
------- info of {0} --------
Name:{0}
Age:{1}
Job:{2}
Salary:{3}
'''.format( name,age,job,salary)

第二种:

info2 = '''
------- info of {_name} --------
Name:{_name}
Age:{_age}
Job:{_job}
Salary:{_salary}
'''.format(_name = name,
           _age = age,
           _job = job,
           _salary = salary)

第三种:

 info3 = '''
------- info of %s --------
Name:%s
Age:%d
Job:%s
Salary:%s
'''%(name,name,age,job,salary)

执行结果:(黄色为手动输入)

name:haha

age:0

job:study

salary:0

 

------- info of haha --------

Name:haha

Age:0

Job:study

Salary:0

3.条件语句——if

If 条件:

  执行语句(必须缩进)

elif 条件:

  执行语句

else

  执行语句

注意:执行语句必须缩减否则会默认与if为同一层次,这是python与其他语言的不同之处,ifelifelse为同一层次。第二点需要注意的是一定一定不要忘记ifelifelse后面的冒号。

4.循环语句——whilefor

1while语句

while 条件:

    循环体

只要满足条件,循环体中的语句就会一直执行,值得注意的是while可以与else连用:

while 条件:

    循环体

else

    执行语句

while的条件不满足时,就会执行else中的语句,满足时不执行else

2for语句

for 变量 in range(初始值,终止值,步长):  步长可缺省默认为1

例如:

for也可以和else连用,与while的语义相同

5.跳转语句

continue:跳出本次循环进入下一次循环

break:跳出整个循环

posted @ 2018-04-04 09:20  Eiffel_Tower  阅读(120)  评论(0)    收藏  举报