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中有如下一些关键字:
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学习之路的更多相关文章
- python学习之路-day2-pyth基础2
一. 模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...
- Python学习之路-Day2-Python基础3
Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...
- Python学习之路-Day2-Python基础2
Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...
- Python学习之路-Day1-Python基础
学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...
- python学习之路网络编程篇(第四篇)
python学习之路网络编程篇(第四篇) 内容待补充
- Python学习之路【第一篇】-Python简介和基础入门
1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...
- python 学习之路开始了
python 学习之路开始了.....记录点点滴滴....
- python学习之路,2018.8.9
python学习之路,2018.8.9, 学习是一个长期坚持的过程,加油吧,少年!
- Python学习之路——pycharm的第一个项目
Python学习之路——pycharm的第一个项目 简介: 上文中已经介绍如何安装Pycharm已经环境变量的配置.现在软件已经安装成功,现在就开始动手做第一个Python项目.第一个“Hello W ...
- python学习之路------你想要的都在这里了
python学习之路------你想要的都在这里了 (根据自己的学习进度后期不断更新哟!!!) 一.python基础 1.python基础--python基本知识.七大数据类型等 2.python基础 ...
随机推荐
- codeforces 611C
题意: 给你一个矩阵,矩阵里有" . "和" # "," . "表示空的," # "表示禁止的. 多米诺骨牌将占据正好有 ...
- 布线问题 最小生成树 prim + kruskal
1 : 第一种 prime 首先确定一个点 作为已经确定的集合 , 然后以这个点为中心 , 向没有被收录的点 , 找最短距离( 到已经确定的点 ) , 找一个已知长度的最小长度的 边 加到 s ...
- iOS 优雅地隐藏导航栏NavigationBar (Objc)
@interface FSViewController () <UINavigationControllerDelegate> @end @implementation FSViewCon ...
- Zabbix-Server 添加主机
之前讲解了如何配置Zabbix 服务端和客户端,现在我们来讲解下如何在zabbix监控端添加主机 Zabbix服务端:Centos 配置 Zabbix服务端 Zabbix客户端:Centos 配置 Z ...
- SPRING-BOOT系列之简介
来自:51CTO的学习视频,本博客作为一个知识点记录以及代码验证 spring boot 特点 1. 为基于spring的开发提供更快的入门体验 2. 创建可以独立运行的spring应用 3. 直接嵌 ...
- [未读]backbonejs应用程序开发
买来就没有动过,那阵子刚好离职找工作,之后学backbone的劲头就过去了= =
- jQuery removeAttr() 源码解读
removeAttr比attr的代码要简单很多~~~ removeAttr: function( name ) { return this.each(function() { jQuery.remov ...
- Django 开发blog未完待续
[root@sishen simpleblog]# python3.5 Python 3.5.4 (default, Sep 20 2017, 20:37:45) [GCC 4.4.7 2012031 ...
- Windows API函数大全四
10. API之硬件与系统函数 ActivateKeyboardLayout 激活一个新的键盘布局.键盘布局定义了按键在一种物理性键盘上的位置与含义 Beep 用于生成简单的声音 CharToOem ...
- AJPFX关于读取properties 配置文件 返回属性值
:Properties的概述 * Properties 类表示了一个持久的属性集. * Properties 可保存在流中或从流中加载. * 属性列表中每个键 ...