Day01:Python之路
1、Python是什么语言?
Python是动态的解释性的强类型定义的语言。
(1)动态语言与静态语言
①静态语言:在编译期间就会去做数据类型检查的语言,如C,C++。
②动态语言:在运行期间才会去做数据类型检查的语言,如Python。
当用动态类型的语言编程时,不需要给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。
(2)编译型语言与解释型语言
①编译型语言:一次性将源文件转换成目标文件。
如果我们写的程序代码都包含在一个源文件中,那么通过编译之后就会直接生成一个可执行文件,我们就可以直接运行了。
如果项目比较复杂,程序代码分散在多个源文件中,那么编译之后,一般一个源文件就会对应一个目标文件,此时我们需要链接程序(Linker)将所有的目标文件转换成可执行文件。
②解释型语言:在程序运行的前一刻,还只有源程序而没有可执行程序,而程序每执行到源程序的某一条指令,则会有一个称之为解释程序的外壳程序将源代码转换成二进制代码以供执行。总而言之,就是不断地解释、执行、解释、执行......所以,解释型程序是离不开解释程序的。
由于解释型语言是将编译的过程放到执行过程中,这就决定了解释型语言注定要比编译型语言慢上一大截,像几百倍的速度差距也是不足为奇的。
(3)强类型定义与弱类型定义语言
①强类型定义语言:一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型。因此,强类型定义语言是类型安全的语言。
②弱类型定义语言:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。
强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。
2、Python的解释器
Python的解释器很多,但使用最广泛的还是CPython。如果程序要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。另外还有一个Python的解释器:PyPy,它的目标是提高执行速度。
3、Python中变量定义的规则
(1)变量名只能由字母、数字或下划线的任意组合;
(2)变量名的第一个字符不能是数字;
(3)关键字不能声明为变量名。
Python中有如下一些关键字:
andasassertbreakclasscontinuedefdel
elifelseexceptexecfinallyforfromglobal
ifimportinislambdanotorpass
printraisereturntrywhilewithyield
4、第一个程序:Hello World!
# Author:GCL s="Hello World" print(s) name="gcl" name1=name print(name,name1) name="lmy" print(name,name1)Hello World!
输出:
注意:Python3的默认编码方式是:utf-8
5、用户输入与格式化输出
输入函数:input()
# Author:GCL # 用户输入函数:input() name=input("姓名:") age=int(input("年龄:")) """ 方式一:数据拼接,但是会开辟多块内存,效率低,不推荐 """ info1=""" =====个人信息一 """+name+"""===== 姓名:"""+name+""" 年龄:"""+str(age) print(info1) """ 方式二:格式化输出:% """ info2=""" =====个人信息二 %s===== 姓名:%s 年龄:%d """%(name,name,age) print(info2) """ 方式三:格式化输出:format """ info3=""" =====个人信息三 {_name}===== 姓名:{_name} 年龄:{_age} """.format(_name=name,_age=age) print(info3) """ 方式四:格式化输出:format """ info4=""" =====个人信息四 {0}===== 姓名:{0} 年龄:{1} """.format(name,age) print(info4)输入与输出
姓名:gcl 年龄:23 =====个人信息一 gcl===== 姓名:gcl 年龄:23 =====个人信息二 gcl===== 姓名:gcl 年龄:23 =====个人信息三 gcl===== 姓名:gcl 年龄:23 =====个人信息四 gcl===== 姓名:gcl 年龄:23输出
6、运算符优先级
7、表达式if...else
1 # Author:GCL 2 3 _userName="gcl" 4 _passWord="123" 5 6 userName=input("用户名:") 7 passWord=input("密码:") 8 9 if userName==_userName and passWord==_passWord: 10 print("欢迎{name}用户".format(name=userName)) 11 else: 12 print("用户名或密码错误")if...else
8、猜年龄游戏
# Author:GCL oldNum=56 # 方式一:while循环 count=0 while count<3: newNum=int(input("请输入:")) count+=1 if newNum==oldNum: print("猜对了!") break elif newNum>oldNum: print("猜大了!") else: print("猜小了!") else: print("你猜的次数太多了") # 方式二:for循环 for i in range(0,3,1): newNum = int(input("请输入:")) if newNum==oldNum: print("猜对了!") break elif newNum>oldNum: print("猜大了!") else: print("猜小了!") else: print("你猜的次数太多了")for与while猜年龄
后记:
这是本人第一次写博客,肯定还存在很多不足的地方,还有很多地方需要提高和改进,欢迎大家的批评。
时间:2018.03.30