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基础 ...
随机推荐
- [原]Windows下openssl的下载安装和使用
安装openssl有两种方式,第一种直接下载安装包,装上就可运行:第二种可以自己下载源码,自己编译.下面对两种方式均进行详细描述. 一.下载和安装openss 方法一:直接使用openssl安装包 W ...
- POJ1466/HDOJ1068 谈谈二分匹配的时间复杂度
题意: n个学生编号是0-n-1,然后给出他们这些人和一些人的关系. 要你找出最大的人数,要求这些人之间没关系. 咳咳,题目中没说性别的关系TVT 思路: 很明显是一个匹配算法,但是我们得搞出一个二分 ...
- bzoj 2560: 串珠子【状压dp】
正难则反,设g[s]为集合s不一定联通的方案数,这个很好求,把边数+1乘起来即可,f[s]为s一定联通的方案数 f考虑容斥,就是g[s]-Σf[nw]*g[s^nw],nw是s的子集,这样就减掉了不联 ...
- iOS bounds vs frame
斯坦福iOS开发课程的白胡子大叔的PPT解释得淋漓尽致!
- C#操作高低位
比如一个数 想把高位 与地位拆开,分别显示 可以用这个办法 x=(uint16)(x>>8) (高字节向右移动8位 相当于*256) X=(UINT16)(X &0X00FF) ...
- set+线段树 Codeforces Round #305 (Div. 2) D. Mike and Feet
题目传送门 /* 题意:对于长度为x的子序列,每个序列存放为最小值,输出长度为x的子序列的最大值 set+线段树:线段树每个结点存放长度为rt的最大值,更新:先升序排序,逐个添加到set中 查找左右相 ...
- h5-20-文件操作-拖放文件
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- STM32CUBEMX使用注意:
一 注意堆栈大小,简单来说,栈空间用于局部变量空间(size=0x400一般够用),堆(size=0x200一般够用)空间用于 alloc 或者 malloc函数动态申请变量空间
- salt-stack系列报错
master启动报错 实验环境为: [root@master salt]# cat /proc/version Linux version 3.10.0-327.el7.x86_64 (mockbui ...
- linux给文件或目录添加apache权限
系统环境:ubuntu11.10/apache2/php5.3.6 在LAMP环境中,测试一个简单的php文件上传功能时,发现/var/log/apache2/error.log中出现如下php警告: ...