python初认识

CPU、内存、硬盘以及操作系统之间的关系

CPU:中央处理器,计算机的逻辑运算单元

硬盘:长期存储数据的地方,断电不会丢失

内存:位于CPU与硬盘之间,缓解高速CPU与低速硬盘之间的矛盾

内存与硬盘的区别

(1)内存读取速度快,硬盘读取速度慢

(2)内存价格昂贵,硬盘价格便宜

(3)内存中的数据断电会丢失,硬盘断电后不会丢失

程序的运行过程

当我们点击程序图标时,操作系统将程序加载到内存里,然后CPU从内存里读取指令并执行,典型的过程如下图:

python是一门什么样的语言?

编程语言分类

编程语言主要从以下几个角度分类:编译型与解释型,静态语言与动态语言,强类型定义语言与弱类型定义语言。

编译型语言与解释型语言的区别

编译型语言:需通过编译器将源程序编译成机器码,一般需经过编译(compile)和链接(link)两个过程。

  编译是将源程序转换成机器码,链接是将各个模块的机器码和依赖库串联起来生成可执行文件;

  优点是编译只需要一次,运行时不需要编译,因而执行效率高,且可以脱离语言环境独立存在;

  缺点是编译之后如果需要修改就需要对整个模块重新编译;编译的时候根据对应的生产环境生成不同的机器码,不同操作系统之间移植就会有问题;

  代表语言有C,C++,Go,Pascal,objective-C,swift等

解释型语言:没有编译环节,只在运行程序时逐行解释,逐行运行。

  优点:一是平台兼容性好,在任何环境中都能运行,当然前提是安装了虚拟机(解释器),二是灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护;缺点是执行效率低(注意只是执行效率,解释型语言的编写效率是很高的)

  代表语言有Javascript,Python,Ruby,PHP,Perl,Erlang。

补充:还有一类混合型语言,如Java和C#

静态语言与动态语言的区别

动态语言: 运行时结构可以改变的语言,例如新的函数,对象甚至代码可以被引进已有的函数可以被删除或是其他结构上的变化。通俗点说就是在运行时代码可以根据某些条件改变自身结构。

  主要有:Object-C、C#、JavaScript、PHP、Python、Erlang。

静态语言:与动态语言相反,运行时结构不能改变的语言

  主要有:Java、C、C++

这里要分清静态语言和静态类型语言,动态语言和动态类型语言,动态类型语言是指在运行期间才去做数据类型检查的语言,说的是数据类型;动态语言是指运行时可以改变结构,说的是结构。

动态类型语言的数据类型不是在编译阶段决定的,而是把类型绑定延后到了运行阶段,主要语言:Python、Ruby、Erlang、JavaScript、swift、PHP、Perl。

静态语言的数据类型是在编译期间(或运行之前)确定的,编写代码的时候要明确确定变量的数据类型。主要语言:C、C++、C#、Java、Object-C。

基础数据类型

python里有int,str,bool几种数据类型

1. int

int为整型,在python2中int表示的范围:-2**31~2**31-1;在python3里几乎可以表示任意整数

2. str

str为字符串,运算方法有+,*

3. bool

bool为布尔值,表示真假两种状态,True和False

流程控制语句if

1. 两分支执行

if 控制语句:

  执行语句

else :

  执行语句

代码示例:

 age = int(input("请输入年龄:"))
if age >= 18:
print("可以愉快地去网吧啦~")
else:
print("小屁孩,再等几年吧")

运行结果:

请输入年龄:18
可以愉快地去网吧啦~ Process finished with exit code 0
请输入年龄:2
小屁孩,再等几年吧 Process finished with exit code 0

2. 多分支执行

if 控制语句:

  执行语句

elif 控制语句:

  执行语句

elif 控制语句:

  执行语句

...    # 可以输入多个elif语句

else 控制语句:

  执行语句

 age = int(input("请输入年龄:"))
if age >= 18:
print("可以愉快地去网吧啦~")
elif age > 0:
print("小屁孩,再等几年吧")
else:
print("输入年龄错误,年龄应该为正整数!")

运行结果:

请输入年龄:19
可以愉快地去网吧啦~ Process finished with exit code 0
请输入年龄:-3
输入年龄错误,年龄应该为正整数! Process finished with exit code 0

3. if 语句嵌套

if 控制语句 :

  执行语句

else:

  if 控制语句:

    执行语句

  else:

    执行语句

 age = input("请输入年龄:")
if not age.isdigit():
print("年龄应该为数字!")
else:
age = int(age)
if age >= 18:
print("可以愉快地去网吧啦~")
elif age > 0:
print("小屁孩,再等几年吧")
else:
print("年龄不能为0!")

运行结果:

请输入年龄:哈哈哈
年龄应该为数字! Process finished with exit code 0
请输入年龄:abc
年龄应该为数字! Process finished with exit code 0
请输入年龄:88
可以愉快地去网吧啦~ Process finished with exit code 0
请输入年龄:8
小屁孩,再等几年吧 Process finished with exit code 0
请输入年龄:0
年龄不能为0! Process finished with exit code 0

python初认识、基础数据类型以及 if 流程控制的更多相关文章

  1. Python入门 常量 注释 基础数据类型 用户输入 流程控制

    Python入门 一.常量 在Python中,不像其他语言有绝对的常量,修改会报错,在Python中有个约定俗成的规定--常量就是将变量名大写. 尽量保持不更改的一种量 , 这个常量有是干什么的呢 其 ...

  2. Python学习day06-Python基础(4)流程控制之while和for循环

    Python学习day06-流程控制之while和for循环 Python学习day06-流程控制之while和for循环while循环1. 语法2. while+break,while+contin ...

  3. Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice)

    Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Py ...

  4. Java04-Java语法基础(三)流程控制

    Java04-Java语法基础(三)流程控制 一.数据类型的转换 1.自动转换:在赋值运算中,占字节数大的类型会自动向字节小的类型转换 double d1 = 3.14; int t1 = d1; 2 ...

  5. 053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结

    053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结 本文知识点: 流程控制知识总结 流程控制知识总结 选择结构语句 循环结构语句 ...

  6. 052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试——debug2 多断点调试程序

    052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试--debug2 多断点调试程序 本文知识点: Eclipse下程序调 ...

  7. 051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试——debug入门1

    051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试--debug入门1 本文知识点: 程序调试--debug入门1 程序 ...

  8. 050 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 12 continue语句

    050 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 12 continue语句 本文知识点:continue语句 continue语句 continue ...

  9. 049 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 11 break语句

    049 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 11 break语句 本文知识点:break语句 break语句 break语句前情回顾 1.swi ...

随机推荐

  1. Shell 流程控制-if 语句

    单分支if条件语句 if [ 条件判断式 ] ; then程序fi 例子:判断分区使用率 #!/bin/bash # Author: huangrui (Email:mycheryhr@gmail.c ...

  2. Dynamic CRM 2015学习笔记(3)oData 查询方法及GUID值比较

    本文将比较二种查询字符串在同一个oData查询方法中的不同,另外,还将介绍如何比较不同方法返回的GUID的值. 用同一个oData查询方法,如果传入查询的字符串不一样,返回结果的格式竟然完全不一样. ...

  3. css颜色表示法

    css颜色值主要有三种表示方法: 1.颜色名表示,比如:red 红色,gold 金色 2.rgb表示,比如:rgb(255,0,0)表示红色 3.16进制数值表示,比如:#ff0000 表示红色,这种 ...

  4. 「HNOI2016」网络 解题报告

    「HNOI2016」网络 我有一个绝妙的可持久化树套树思路,可惜的是,它的空间是\(n\log^2 n\)的... 注意到对一个询问,我们可以二分答案 然后统计经过这个点大于当前答案的路径条数,如果这 ...

  5. iptables(2)

    MASQUERADE同样是做源地址转换,只不过防火墙会根据该策略自动查找可用的公网IP地址,适应变化的情况•若接口使用ppp+,表示匹配ppp0.ppp1……中任意可用的拨号连接•若需要演示操作,可以 ...

  6. optimize PHP-FPM优化

    php-fpm进程pidpids=$(ps aux | grep ${process} | grep -v "grep" | awk '{print $2}') php-fpm 关 ...

  7. gradle配置统一管理

    配置全局参数 根目录build.gradle文件: 主要关注ext部分 // Top-level build file where you can add configuration options ...

  8. 译:Spring Boot 自动伸缩

    原文链接:https://dzone.com/articles/spring-boot-autoscaler 作者:Piotr Mińkowski 译者:helloworldtang 自动伸缩是每个人 ...

  9. ecplise 修改编码

    1.修改eclipse默认工作空间编码方式 window->preferences->general->workspace 2.修改工程编码方式 项目右键->propertie ...

  10. poj1456 Supermarket

    书上用的方法是正着按照天数推,如果任务大于小根堆顶就替换,天数多于任务就加. 而我依稀记得以前洛谷上有一题也是这个,用时光倒流来求解,天数倒推,加任务,取大根堆顶即可. 我的代码实现: #includ ...