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中有如下一些关键字:

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

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

 # Author:GCL

 _userName="gcl"
_passWord="" userName=input("用户名:")
passWord=input("密码:") if userName==_userName and passWord==_passWord:
print("欢迎{name}用户".format(name=userName))
else:
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

Day01:我的Python学习之路的更多相关文章

  1. python学习之路-day2-pyth基础2

    一.        模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...

  2. Python学习之路-Day2-Python基础3

    Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...

  3. Python学习之路-Day2-Python基础2

    Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...

  4. Python学习之路-Day1-Python基础

    学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...

  5. python学习之路网络编程篇(第四篇)

    python学习之路网络编程篇(第四篇) 内容待补充

  6. Python学习之路【第一篇】-Python简介和基础入门

    1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...

  7. python 学习之路开始了

    python 学习之路开始了.....记录点点滴滴....

  8. python学习之路,2018.8.9

    python学习之路,2018.8.9, 学习是一个长期坚持的过程,加油吧,少年!

  9. Python学习之路——pycharm的第一个项目

    Python学习之路——pycharm的第一个项目 简介: 上文中已经介绍如何安装Pycharm已经环境变量的配置.现在软件已经安装成功,现在就开始动手做第一个Python项目.第一个“Hello W ...

  10. python学习之路------你想要的都在这里了

    python学习之路------你想要的都在这里了 (根据自己的学习进度后期不断更新哟!!!) 一.python基础 1.python基础--python基本知识.七大数据类型等 2.python基础 ...

随机推荐

  1. angular源码剖析之Provider系列--CacheFactoryProvider

    CacheFactoryProvider 简介 源码里是这么描述的: Factory that constructs {@link $cacheFactory.Cache Cache} objects ...

  2. rbenv更新ruby后rails命令无效的解决方案

    创建: 2017/11/02 更新: 2018/02/02 增加rbenv使用方法的链接     rbenv的使用: http://www.cnblogs.com/lancgg/p/8281739.h ...

  3. (六)SpringBoot整合Swagger2框架

    一:什么是Swagger Swagger是一款通过我们添加的注解来对方法进行说明,来自动生成项目的在线api接口文档的web服务. 二:添加Swagger2依赖 <dependency> ...

  4. yield 为什么不能进入回调函数

    操他妈的, allowed_domains = ['voice.hupu.com'] 这里面必须是域名,而不能是个路径,遇见问题不要瞎几把想,及时Google才是正道!!!!!!!!!11 感谢: h ...

  5. keepalived+nginx高可用实现

    1.keepalived介绍 keepalived最初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了实现高可用的VRRP功能.keepalived除了能 ...

  6. win和mac系统Sublime Text 3配置编译c和c++

    widows安装 安装MinGW MinGW是Minimalist GNU on Windows的首字母缩写,安装后就可以使用很多的GNU工具.GNU(GNU’s Not Unix)是linux中的一 ...

  7. SpringCloud开发学习总结(七)—— 声明式服务调用Feign(二)

    参数绑定 在上一章的示例中,我们使用Spring Cloud Feign实现的是一个不带参数的REST服务绑定.然而现实系统中的各种业务接口要比它复杂得多,我们有时会在HTTP的各个位置传入各种不同类 ...

  8. 506 Relative Ranks 相对名次

    给出 N 名运动员的成绩,找出他们的相对名次并授予前三名对应的奖牌.前三名运动员将会被分别授予 “金牌”,“银牌” 和“ 铜牌”("Gold Medal", "Silve ...

  9. HDU 5808 Price List Strike Back bitset优化的背包。。水过去了

    http://acm.hdu.edu.cn/showproblem.php?pid=5808 用bitset<120>dp,表示dp[0] = true,表示0出现过,dp[100] = ...

  10. CGI和Servlet的比较

    转载自:http://www.maxhis.info/java/cgi-vs-servlet/ 概括来说,CGI和Servlet可以完成相同的功能. CGI(Common Gateway Interf ...