- 什么是Python?
面向对象的计算机程序语言;1989年,作者Guido van Rossum在阿姆斯特丹为了打发圣诞节无聊的时间发明Python。(彪悍的人生不需要解释)
简洁性、易懂性、可扩展性。还是刚开始学习Python,它的有点强大之处也就不多逼逼了。毕竟也只是从他人之言中看到的这些有点,并未能完全感受到这些强大。
- 领域
云计算:云计算最火的语言,Openstack
Web开发:优秀的Web框架,Django
科学计算/人工智能
系统运维:运维必备技能
金融:量化交易、金融分析
图形GUI
- Python在编程语言中的分类
解释性语言:高级语言编写的程序代码在运行之前需要被翻译为计算机可以理解的机器语言。翻译这个过程分为编译和解释两种。编译在程序运行之间一次将所由的代码翻译为机器语言。解释是在程序源代码运行时翻译一条代码运行一条代码然后在翻译下一条代码。
动态类型语言:动态语言指在运行期间才去做数据类型检查的语言(在用动态类型语言编写程序时,不需要给变量指定数据类型);静态语言指在写程序代码时需要提前定义好数据类型的语言。
强类型定义语言:强类型定义语言的变量的数据类型如果不进行强制转换则不能改变;弱类型定义语言的变量的数据类型可以忽略。
- Python程序执行过程
Python是一种解释性语言,也就是在运行程序前没有进行compile的过程,在运行程序时才对程序代码一条一条进行翻译。但是在实际上Python在运行之间会进行一次预编译,预编译的结果是内存中的PyCodeObject文件,这个文件是一个字节码文件,Python解释器实际上是对这个文件内的代码进行翻译。当程序运行结束时Python解释器将PyCodeObject保存到本地pyc文件中。
当需要再次运行程序时,不会在执行预编译过程,而是从本地找pyc文件加载到内存中运行。 - Python2和Python3的区别
Python2中的print语句
>>>print ‘my name‘,‘is‘,‘bu gaosu ni ‘
my name is bu gaosu ni
Python3中的print语句
>>>print(‘my name‘,‘is‘,‘bu gaosu ni‘)
my name is bu gaosu ni
2. Python3的默认字符编码是Unicode,Python2的默认字符编码是ascll
- Hello World
1 print("Hello,World")
程序代码时在屏幕上打印“Hello,World”。print函数在屏幕上打印需要打印的内容。
Python2和3对print函数做了一点改动:
Python2中print不需要使用双括弧直接跟需要打印的内容,多个内容之间用“,”隔开:
print "Hello,World"
Python3中需要在print后用双括弧将打印内容包括。
- 变量
指向内存地址空间一个实际的值的名字。Python是动态类型语言不需要再声明变量的时候指定数据类型,直接给变量赋值即可。
- 变量名称由数字、字母、下划线组成
- 变量名称的第一个字符不能是数字
- 一些单词不能用做变量名称:[‘and‘, ‘as‘, ‘assert‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘exec‘, ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘not‘, ‘or‘, ‘pass‘, ‘print‘, ‘raise‘, ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]
- 注释
单行注释:#被注释内容
多行注释:‘‘‘被注释内容‘‘‘
- 指定解释器
在linux系统下,如果没有在脚本中指定要使用的Python解释器,在运行脚本时需要执行“python [脚本名称]”命令来运行脚本。想要使用“./hello.py”即可运行脚本,则需要在脚本开头指定解释器
#/usr/bin/env/ pychon
- 数据类型
数据类型目前接触的比较多的有int、long、string、float、布尔值这几种。在字符串拼接和格式化输出中%s表示字符串,%d表示整数,%f表示浮点数
- 用户输入input函数
input函数接收输入数据,并返回输入数据,在Python2中有input和raw_input两个函数。input和raw_input的在使用上并不相同,raw_input要比input使用起来更加的方便,更加符合人机交互的使用。input默认输入的内容为符合Python规则的字符串或者数字、表达式,所以当需要输入一个字符串,而在程序运行时输入的字符串没有带引号程序默认为输入的是一个没有定义的变量,从而出现错误导致程序无法继续运行。raw_input在这一点上做了改善,默认将输入内容作为字符串处理。
还要注意一点:通过input函数赋值的变量的数据类型都是字符串,如果值的内容为数字且要进行数值运算,则需要强制将字符串转换为整型。
1 >>> age=input("how old are you:") 2 how old are you:18 3 >>> type(age)###type函数判断一个变量或者一个值的数据类型 4 <class ‘str‘> 5 >>> age=int(input("how old are you:")) 6 how old are you:18 7 >>> type(age) 8 <class ‘int‘>
在python中不再有raw_input,而是把raw_input直接替换成了input。
>>> input(‘input your name:‘) input your name:haha ‘haha‘
通常我们在输入密码时,输入内容是不想要被看见的,只需要在后台认证密码的正确性即可。想要在输入密码时不可见可以使用模块getpass
>>> import getpass >>> getpass.getpass(‘password:‘) password: #在这里输入的密码123时不可见的 ‘123‘
- 字符串拼接
有时候需要打印的内容中需要使用到变量,这时候既不能不变量放在同一个引号中,使用多个print语句实现又过于麻烦,那么就需要用到字符串拼接了。Python中实现字符串拼接的方法有很多种,这里仅说下“+”号的使用,其他的方法到其他内容在后面进行说明。
>>> name=‘hehe‘ >>> msg=‘‘‘hello,‘‘‘+name+‘‘‘ welcome‘‘‘ >>> print(msg) hello,hehe welcome
字符串拼接每使用一个“+”就需要在内存中开辟出一块空间,效率比较低。