什么是Python?

是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。(摘自百度百科)

Python的优缺点

先看优点

Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。

开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子。

高级语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节

可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工 作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就几乎可以在市场上所有的系统平台上运行

可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。

可嵌入性————你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。

再看缺点:

速度慢,Python 的运行速度相比C语言确实慢很多,跟JAVA相比也要慢一些,因此这也是很多所谓的大牛不屑于使用Python的主要原因,但其实这里所指的运行速度慢在大多数情况下用户是无法直接感知到的,必须借助测试工具才能体现出来,比如你用C运一个程序花了0.01s,用Python是0.1s,这样C语言直接比Python快了10倍,算是非常夸张了,但是你是无法直接通过肉眼感知的,因为一个正常人所能感知的时间最小单位是0.15-0.4s左右,哈哈。其实在大多数情况下Python已经完全可以满足你对程序速度的要求,除非你要写对速度要求极高的搜索引擎等,这种情况下,当然还是建议你用C去实现的。

代码不能加密,因为PYTHON是解释性语言,它的源码都是以名文形式存放的,不过我不认为这算是一个缺点,如果你的项目要求源代码必须是加密的,那你一开始就不应该用Python来去实现。

线程不能利用多CPU问题,这是Python被人诟病最多的一个缺点,GIL即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具,使得任何时刻仅有一个线程在执行,Python的线程是操作系统的原生线程。在Linux上为pthread,在Windows上为Win thread,完全由操作系统调度线程的执行。一个python解释器进程内有一条主线程,以及多条用户程序的执行线程。即使在多核CPU平台上,由于GIL的存在,所以禁止多线程的并行执行。关于这个问题的折衷解决方法,我们在以后线程和进程章节里再进行详细探讨。(摘自alex li博客)

Python基础

Hello world

1 #在屏幕中打印出Hello World!

2 print("Hello World!")

变量

变量只能是字母、数字、下划线的组合

变量不可用数字开头

系统保留关键字不可用做变量名

#定义一个变量,将Hello World!赋值给它,打印出来

a="Hello World!"

print(a)

用户输入

使用input函数获取用户输入的数据

#使用input函数获取用户输入的Hello World!赋值到变量a中

a=input("please input Hello World!:")print (a)

字符串拼接

#字符串拼接,用户输入任意字符,直接生成Hello (str)!#方法一

a=input ("please input your name:")print ("Hello",a,"!")#方法二

a= input ("please input your name:")

info='''Hello %s'''%(a)+"!"

print(info)#方法三

a= input ("please input your name:")

info='''Hello {b}'''.format(b=a)+"!"

print (info)

PS:字符串是 %s;整数 %d;浮点数%f。

初识模块

#用户输入用户名和密码,密码要求不显示,使用getpass模块

importgetpass

username=input("Please input username:")

password=getpass.getpass("Please input password:")print ("username:",username,"password:",password)

if...else

用法:

#if 条件:#执行语句#else :#执行语句

a=int(input("Please input a number:"))if a<3:print("Y")else:print("N")#if 条件:#执行语句#elif :#执行语句#else :#执行语句

a=int(input("Please input a number:"))if a<3:print("a<3")elif a>3:print("a>3")else:print("a=3")

结合上面的例子:

#判断用户输入的账号和密码是否正确

importgetpass

username="kiwi"password="kiwi123"_username=input("Plsease input username:")

_password=getpass.getpass("Please input password:")if username==_username and password==_password :print("Welcome",_username)else:print("Worng Username or Password,please input again!")

while

用法:

#定义一个变量count,条件为一直为真就循环执行命令#while True:#执行命令

count=0while count=0:print ("a is apple;b is ball!")#定义一个变量count,如果小于3,打印a is apple,反之打印b is ball#while True:#执行命令#else :#执行命令

count=0while count<3:print ("a is apple")

count+=1

else:print("b is ball")

count+=1

#定义一个变量count,打印10次a is apple#while True#执行条件#if 等于10次#break

count=0while count>=0:print ("a is apple;")

count+=1

if count==10:break

结合上面的例子:

#判断用户输入的账号和密码是否正确,如果输入错误3次,自动退出

importgetpass

username="kiwi"password="kiwi123"count=0while count>3:

_username=input("Plsease input username:")

_password=getpass.getpass("Please input password:")if username==_username and password==_password :print("Welcome",_username)break

elif count==2:print("So many worngs,please try again!")break

else:print("Worng Username or Password,please input again!")

count+= 1

for

用法:

#循环10次

for i in range(10):print("loop:",i)#循环10次,如果i小于5,不打印

for i in range(10):if i<5:continue

print("loop:",i)#循环10次,如果i大于5,自动退出

for i in range(10):if i>5:break

print("loop:",i)

结合上面的例子:

importgetpass

username="kiwi"password="kiwi123"

for i in range(3):

_username=input("Plsease input username:")

_password=getpass.getpass("Please input password:")if username==_username and password==_password :print("Welcome",_username)break

elif i==2:print("So many worngs,please try again!")break

else:print("Worng Username or Password,please input again!")

(以上代码使用Python3.6.1编写,纯手敲,IDE:PyCharm)

以上是本周Python学习笔记。

如有错误的地方,欢迎指正,互相学习!

Life is short,you need Python!

人生苦短,我用Python!

当你发现自己的才华撑不起野心的时候,就安静下来学习吧~

python中weekid什么意思_Python学习 Week1相关推荐

  1. python中weekid什么意思_Python学习week4-dict字典

    1.字典的定义与初始化 1.1.python字典的特点: key-value键值对的数据集合: 可变的,无序的,key去重: key必须为可hash数据类型,value可以为任意数据类型: 1.2.定 ...

  2. python中的文件处理_python学习——python中的文件处理

    python对文件的处理. python对文件的处理的两个内建函数: open().file(),这个两函数提供了初始化输入\输出(I\O)操作的通用接口.两函数的功能相同. 基本用法: file_o ...

  3. python中while的用法_Python学习笔记之While循环用法分析

    本文实例讲述了Python学习笔记之While循环用法.分享给大家供大家参考,具体如下: 前面一篇<Python学习笔记之For循环用法>详细介绍了Python for循环,这里再来讲述一 ...

  4. python中sn的意思_python学习笔记

    学习资料:<简明 Python 教程.pdf>Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程. 特点:1.简单 2.易学 3.开源, ...

  5. python中while not循环_Python学习-while循环逻辑运算符

    一.while循环,continue.break语句在while循环中的使用 1.while循环语句: while 条件: 代码块 执行过程:判断条件是否为真,如果为真,执行代码块,继续下次循环,继续 ...

  6. python中多维数组_python学习笔记-多维数组

    Python中初始化一个5 x 3每项为0的数组,最好方法是: multilist = [[0 for col in range(5)] for row in range(3)] 我们知道,为了初始化 ...

  7. python中4j什么意思_Python学习:4.数据类型以及运算符详解

    运算符 一.算数运算: 二.比较运算: 三.赋值运算 四.逻辑运算 五.成员运算 基本数据类型 一.Number(数字) Python3中支持int.float.bool.complex. 使用内置的 ...

  8. python中pass的用法_python学习之getpass模块使用

    我们登入linux时,输入密码是什么都不显示的,在python中也可以这样做,那就是getpass模块(在pycharm中无法使用) getpass模块中包含几个比较实用的功能: 1.getpass ...

  9. python中if语句使用_Python学习笔记之if语句的使用示例

    前言 条件语句在实际开发中我们已经使用过几次了,在这里我们需要再次隆重的来介绍一下它,下面话不多说了,来一起看看详细的介绍吧. if语句 顾名思义,该语句为判断语句,先来一个简单的示例 cars=[' ...

最新文章

  1. 加速mysql导入时间_加快mysql导入导出速度
  2. CNCF 官方大使张磊:Kubernetes 是一个“数据库”吗?
  3. 工作252:uniapp--实战--uview---tabber
  4. 算术编码原理与实现【转载】
  5. JS事件循环 Event Loop
  6. 1月4日编程基础hash
  7. anaconda必须安装在c盘吗_Window版本 - Python数据分析集成开发环境 Anaconda安装(超详细)...
  8. 马来西亚国家银行暂无发行央行数字货币计划
  9. 分布式架构的演进过程,docker面试题汇总
  10. CSU 1556 Pseudoprime numbers
  11. GraphQL API 的查询语言
  12. Docker Macvlan
  13. Opengl glm配置出错
  14. 最全电商分类信息(03)
  15. Android 音视频开发(二):使用 AudioRecord 采集音频PCM并保存到文件(学习笔记)
  16. H型钢的尺寸的设计与使用(市场上可以轻松采购)
  17. 有哪些计算机语言可以爬虫,爬虫是干嘛的?用什么语言学爬虫好?
  18. Android高仿陌陌应用点点滑动效果
  19. 香港虚拟主机和美国虚拟主机的区别体现在哪些方面
  20. 树莓派4b 4G 64位系统下安装opencv

热门文章

  1. JAVA学习第十一章——面向对象进阶
  2. UE4 OpenGL坐标系
  3. 纯CSS实现720全景?不用Three.js 也可以
  4. Windows桌面整理
  5. DNF登陆的时候说连接服务器失败,请检查您的网络。是否启用修复程序进行修复?,win7网络发现不能启用怎么办?-修复win7无法按启动网络发现的方法 - 河东软件园...
  6. 怎么创建dllwenjian_如何创建DLL文件
  7. SCADE Display(Arinc661)图像的分解显示
  8. MS-Train【2】:nnFormer
  9. RCAR会议---论文遵从验证
  10. Abaqus-python-二次开发学习笔记-单向长纤维RVE