python基础部分初学
第一次开始认真学习一门编程语言也是第一次写博客,首先呢,选择学习python的原因是最近比较流行而且据说和其他语言相比较为简单,相信现在要是让别人推荐学什么语言,80%的人一定会推荐python。我的学习方式是看教学视频,看一节然后自己编不会的就倒回去重看,然后也有一边记笔记的习惯,顺便安利一个记笔记的软件“OneNote”,超好用。
(视频中一章大概是一整天的时间,由于上课的原因我是几天内看完的)下面我就介绍一下第一次学习的内容:
一、所用软件:pycharm3,选择这个的原因就是老师用的这款,其他的我也不是很了解,它主要的优点就是能够自动补全(这个功能真的很好用,尤其是不能盲打的人),调试性能也比较强。
二、背景知识
1.语言类型划分
(1)编译型和解释型
编译型:一次性将所有代码转换成机器语言,之后生成可执行文件,这个的优点就在于执行速度快,适用于大型程序开发,例如:C、C++(本科学校主要开展的课程,可是并没与学会)
解释型:与上述正好相反,程序每执行一条命令就由解释程序将源代码转换为二进制代码,不断地解释、执行、解释、执行...
(2)动态语言和静态语言
动态语言:在运行期间才做数据类型检查的语言,不用给变量声明类型。例如:python、ruby
静态语言:数据类型在编译期间检查,写程序时就要声明变量的数据类型
(好多人正是因为python可以不用声明变量了类型才觉得使用起来更加方便,这点确实是python的一大优点,它的一些调用函数会有默认的类型,下面会逐渐介绍)
(3)强类型定义语言和弱类型定义语言
强类型定义语言:一旦某个数据的类型被指定,就必须通过强制转换才能改变,是一种类型安全的语言
弱类型定义语言:数据类型可以被忽略
(python是属于强类型定义语言,与动态语言是结合在一起的,一旦某些函数默认了变量类型就需要强制转换才可以是程序运行)
需要强调的是动态语言和语言是否类型安全无关,例如:python是动态强类型(类型安全)语言。
2.python的优缺点
(1)优点:简单易懂、开发效率高、属于高级语言(忽略底层细节)、可移植性(避免对系统的依赖性,可以在任何平台上运行)、可扩展性和可嵌入型(由于python的代码不能加密,因此为了保护有些关键性代码可以使用C、C++来实现,用python可以调用这部分代码)
(2)缺点:速度慢(这一点是相对而言的,例如C语言执行的时间为0.1s,python为0.15两者的时间差若非进行专业的性能测试,日常编程是感受不到差距的)、代码不能加密、线程不能利用多CPU问题(这个问题理解的不是很好,在日后的学习中会进一步理解的)
3.Python解释器
(1)CPython官方版本,用C语言开发的
(2)IPython交互式解释器,用于金融方面
(3)PyPy动态编译(不是解释),可以提高执行代码速度,用 Python 实现的 Python
(4)JPython用JAVA平台实现
(5)IronPython使用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“小数点三位;数字(0,1,……)代表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与其他语言的不同之处,if与elif、else为同一层次。第二点需要注意的是一定一定不要忘记if与elif、else后面的冒号。
4.循环语句——while,for
(1)while语句
while 条件:
循环体
只要满足条件,循环体中的语句就会一直执行,值得注意的是while可以与else连用:
while 条件:
循环体
else:
执行语句
当while的条件不满足时,就会执行else中的语句,满足时不执行else
(2)for语句
for 变量 in range(初始值,终止值,步长): 步长可缺省默认为1
例如:
for也可以和else连用,与while的语义相同
5.跳转语句
continue:跳出本次循环进入下一次循环
break:跳出整个循环

浙公网安备 33010602011771号