1、python介绍(详细内容请参照博文末尾的补充说明):
动态、强类型、解释性编程语言。
-
动态:python变量不需要预先设置变量类型,而是根据赋值的类型来确定变量的类型,如 a = 3,a就是整数型变量,如 b = \'hello word\',b就是字符串类型变量;
-
强类型,是指变量一旦被赋予某种类型的值后,变量确定为相应类型的变量,除非对其进行类型的强制转换,否则变量的类型不会发生变化,如 a = ‘3’ ,a就是字符串形变量,如需使用进行数值运算,则需a = int(a)进行操作,之后a的类型被转换为整数型;
-
解释性语言:逐条解释,可以直接修改,但必需要在解释器环境下运行;与解释性语言相对应的另一类是编译型语言,运行之前必须要经过编译,也可以打包为.exe的可执行文件,如C++。
2、python安装与PyCharm配置:
- 2.1 python 安装(windows系统)
参照 [python安装](https://www.cnblogs.com/weven/p/7252917.html/)
- 2.2 PyCharm配置
可以参照 [ PyCharm初始配置教程](https://www.jianshu.com/p/2a4d388b86e9)
- 2.3 补充说明:
- 添加工具栏,进行设置操作比较方便,如下:
code设置,确保代码一致,比如在python2.7输出中文,代码不一致也会出错,pycharm设置如下:
同一台电脑可以同时安装python3.和python2.两个系列的python解释器,python3.默认编码为utf-8,python2.默认编码为GBK,在python2.7中如要输出中文,需要在代码文件的首行申明使用utf-8编码格式#-- coding:utf-8 --("-"也可以是“_”)
# -*- coding:utf-8 -*-
__author__ = \'chongmao\'
print(\'你好,世界\') #python 2.7 output zh
pycharm 中可以选择python2.7的解释器,如下:
运行:
查看控制台及输出结果:
默认的字体太小,看起来容易眼睛疲劳,建议根据个人喜好进行调节:
.py文件的重命名操作如下:
将工程文件添加为系统路径:
3、下面开始具体的练习内容:
3.0 if else 条件控制语句:
- 控制语句或函数定义后面必须以":"结尾;
- python 以缩进的方式界定语句的范围,一个缩进为四个空格,通常使用一次Tab键实现;
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
可以是:
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
ellif condition_3:
statement_block_3
也可以是:
if condition_1:
statement_block_1
else:
statement_block_3
3.1 while 循环
-实现猜数字,初始一个数值,输入值与初始值比较,并提示“大了”或“小了”,如果猜对了就结束游戏,不对的话,分阶段进行选择,每阶段为四次:
__author__ = \'Administrator\'
age_of_oldboy = 23
count = 0
ct_l =4
def print_():
print("it\'s not right yet","\nYou\'v already guessed %s times---"%(count+1),"\ngame over?") #\'\n\'change lines
while count < ct_l:
guess_age = int(input("guss age:")) #python 3.x input,the type is string,str_to_int
if guess_age == age_of_oldboy :
print("yes,you got it.")
break # once "==",over the game
elif guess_age > age_of_oldboy :
if count<ct_l-1:
print("think smaller")
else:
print_() #run the def print_() defined above
else:
if count<ct_l-1:
print("think bigger")
else:
print_()
count +=1
if count ==ct_l:
continue_confirm = input("do you want to keep guessing?...Y/N:") #if the player failed four times, provide the choice
if continue_confirm == "n" or continue_confirm == "N":
break
else:
count =0
三种输出结果如下:
3.2 三种方式实现格式化输出:
__author__ = \'Administrator\'
name = input("name:")
age = int(input("age:")) #integer
print(type(age))
job = input("job:")
salary = input("salary:")
info = """---------info of %s------
name:%s
age:%d
job:%s
salary:%s
"""%(name,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 {0}------
name:{0}
age:{1}
job:{2}
salary:{3}
""".format(name,age,job,salary)
print(info,
info2,
info3)
输出结果如下:
3.3 初级版的user-password验证:
__author__ = \'Administrator\'
import getpass
_username = "admin"
_password = "888"
count = 0
cnt = 3
while count < cnt:
username = input("username:")
password = input("password:")
if username == _username and password == _password:
print("Welcome user---{name}---login...".format(name=username))
break
else :
if count < cnt-1:
print("Invalid username or password")
else:
print(\'Please contact the administrator\')
count +=1
某种输出结果如下:
3.4 while和for循环中,break与continue的区别,详情python 循环语句:
- break:结束当前循环
- continue:跳出当前循环,进行下一次循环。
- continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
__author__ = \'Administrator\'
for i in range(0,10):
print(\'loop\',i)
for j in range (10):
if j < 5 :
print(j)
else:
continue
4、补充说明: python介绍
Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。
目前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 是一门什么样的语言?
编程语言主要从以下几个角度为进行分类,编译型和解释型、静态语言和动态语言、强类型定义语言和弱类型定义语言,每个分类代表什么意思呢,我们一起来看一下。
编译和解释的区别是什么?
编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;
而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的.
这是因为计算机不能直接认识并执行我们写的语句,它只能认识机器语言(是二进制的形式)
编译型vs解释型
编译型
优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。
缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。
解释型
优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。
缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。