学习内容:

1、Python介绍

2、Python程序初接触和变量

3、Python用户交互

4、Python数据类型

5、Python循环if...(elif)...else

6、Python循环while...else

7、Python循环for...else

8、Python循环中断break和continue

9、Python实例

一、Python介绍

1)python优缺点

先看优点:

  1. Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。
  2. 开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子。
  3. 高级语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节
  4. 可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工 作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就几乎可以在市场上所有的系统平台上运行
  5. 可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
  6. 可嵌入性————你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。

再看缺点:

  1. 速度慢,Python 的运行速度相比C语言确实慢很多,跟JAVA相比也要慢一些,因此这也是很多所谓的大牛不屑于使用Python的主要原因,但其实这里所指的运行速度慢在大多数情况下用户是无法直接感知到的,必须借助测试工具才能体现出来,比如你用C运一个程序花了0.1s,用Python是0.01s,这样C语言直接比Python快了10s,算是非常夸张了,但是你是无法直接通过肉眼感知的,因为一个正常人所能感知的时间最小单位是0.15-0.4s左右,哈哈。其实在大多数情况下Python已经完全可以满足你对程序速度的要求,除非你要写对速度要求极高的搜索引擎等,这种情况下,当然还是建议你用C去实现的。
  2. 代码不能加密,因为PYTHON是解释性语言,它的源码都是以名文形式存放的,不过我不认为这算是一个缺点,如果你的项目要求源代码必须是加密的,那你一开始就不应该用Python来去实现。
  3. 线程不能利用多CPU问题,这是Python被人诟病最多的一个缺点,GIL即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具,使得任何时刻仅有一个线程在执行,Python的线程是操作系统的原生线程。在Linux上为pthread,在Windows上为Win thread,完全由操作系统调度线程的执行。一个python解释器进程内有一条主线程,以及多条用户程序的执行线程。即使在多核CPU平台上,由于GIL的存在,所以禁止多线程的并行执行。关于这个问题的折衷解决方法,我们在以后线程和进程章节里再进行详细探讨。

二、Python程序初接触和变量

print (“Hello,world!”)#第一个python程序

b=2

c=3

print (b,c) #变量赋值

b=22

print (b,c) #变量指向内存地址

name="spider"

print (name) #变量赋值(字符串)

蜘蛛 = "spider" #python2与python3区别之一

print (蜘蛛)

三、Python用户交互

1)input及raw_input

python2中raw_input即为python3中的input(用法一致)

python2中input 慎用

2)input用法及参数传递方式:

name = input('Name:')
age = input('Age:')
print (type(age))
job = input('Job:')
salary = input('Salary:') info3='''
-----information of info3 {0}
Name:{0}
Age:{1}
Job:{2}
Salary={3}
'''.format(name,age,job,salary) print (info3) info2='''
------information of info2 {_name}------
Name:{_name}
Age :{_age}
Job :{_job}
salary:{_salary}
''' .format(_name=name,
_age=age,
_job=job,
_salary=salary) print (info2)
info1 = '''
-------information of info1 %s-------
Name:%s
Age :%s
Job :%s
Salary :%s
''' %(name,name,age,job,salary) print (info1) info='''
---------information of info ''' + name +'''--------
Name:''' + name + '''
Age :''' + age + '''
Job :''' + job + '''
Salary :''' + salary print (info)

四、Python数据类型及字符编码格式

1)数据类型

数字int  浮点f  字符串s  bool:Ture和False

2)字符编码

ASCII  :American Standard Code for Information Interchange ,美国标准信息交换代码   占1byte

GB2312:1980年诞生,支持7000个中文,占2bytes

GBK:1995年诞生,支持2万个中文,占2bytes

GB18030:2000年诞生,支持蒙、藏、维等字符,支持2.7万文字,占2bytes

注:以上均向下兼容;

后来unicode诞生,又叫万国码、统一码,支持以上格式,兼容他国语言,占2bytes

由于资源浪费,UTF-8诞生,可变长度的unicode,ASCII中的内容占1byte,欧洲的字符占2bytes,东亚的字符占3bytes(赤裸裸的剥削)

五、Python循环if...(elif)...else

#密文密码输入 getpass模块  pycharm下无法实现,在linux系统下可以实现
import getpass
''' #输入用户名和密码正确欢迎,错误返回错误消息
_username = 'spider'
_password = '123' username = input("请输入用户名:")
#password = getpass.getpass("请输入密码:") #密文输入
password= input("请输入密码:")
if username == _username and password == _password:
print ("Welcome user {a} login...".format(a=username))
else:
print ("invalid username or password") print (username,password)
'''

六、Python循环while...else

Age_of_oldboy = 78  #猜数字,对了打印信息,最多猜三次,都错误返回信息
count = 0
while count<3:
guess_age = int(input ("gusee oldboy's age:")) if guess_age == Age_of_oldboy:
print ("Yes,you got it!")
break
elif guess_age > Age_of_oldboy:
print ("You are wrong,guess smaller...")
else:
print ("You are wrong,guess bigger!") count +=1
else:
print ("you have tried too many times.. Please go out!")

七、Python循环for...else

Age_of_oldboy = 38 #猜数字,对了打印信息,最多猜三次,都错误返回信息

for count in range (3):
    guess_age = int(input ("gusee oldboy's age:"))

    if guess_age == Age_of_oldboy:
print ("Yes,you got it!")
break
elif guess_age > Age_of_oldboy:
print ("You are wrong,guess smaller...")
else:
print ("You are wrong,guess bigger!")

八、Python循环中断break和continue

1)break跳出该循环;continue跳出本次循环

举例1:
 for i in range(0,10):  #i<5则继续向下执行,打印j,i>5则不向下执行,不打印j
print ("---------",i)
if i> 5 :
continue
for j in range(0,10):#j<5则打印j,j>5则跳出该循环
print (j)
if j > 5:
break
举例2:
 for i in range(0,10): #当i>5,跳出循环,不向下执行,当i<5,向下执行
print ("---------",i)
if i> 5 :
break
for j in range(0,10):
print (j)
if j > 5:
continue
九、Python实例
用户登录系统

PYTHON学习之路_PYTHON基础(1)的更多相关文章

  1. PYTHON学习之路_PYTHON基础(10)

    学习内容: Python进程与线程 1.线程及线程类 2.线程守护 3.线程等待 4.线程锁 5.信号量 6.timer用法 7.队列 8.事件驱动 9.生产者消费者模型 10.进程及进程同步 11. ...

  2. PYTHON学习之路_PYTHON基础(8)

    学习内容: Python模块介绍 1.经典类 or 新式类 2.抽象接口 3.静态方法.类方法.属性方法 4.反射 5.异常处理 6.socket编程初识 7.用socket实现get.put文件等功 ...

  3. PYTHON学习之路_PYTHON基础(6)

    学习内容: Python模块介绍 1.time &datetime模块 2.random 3.shutil 4.shelve 5.xml处理 6.configparser 7.hashlib ...

  4. PYTHON学习之路_PYTHON基础(4)

    学习内容: 1.Python函数的基本语法 2.Python函数的返回值与变量 3.Python嵌套函数 4.Python递归函数及实例(二分查找) 5.Python匿名函数 6.Python内置方法 ...

  5. PYTHON学习之路_PYTHON基础(3)

    学习内容: 1.Python字典 2.Python集合 3.Python字符编码 4.Python文件操作 5.Python实例 一.Python字典 1.定义: dic1={'name':'alex ...

  6. PYTHON学习之路_PYTHON基础(2)

    学习内容: 1.Python数据类型与变量 2.Python字符串 3.Python列表 4.Python while循环 5.Python字典 6.Python实例 一.Python数据类型与变量 ...

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

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

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

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

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

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

随机推荐

  1. Palindrome Pairs

    Given a list of unique words. Find all pairs of distinct indices (i, j) in the given list, so that t ...

  2. HDMI学习

    市面上大多4K显示器都配备了HDMI 1.4接口,仅能实现30Hz的刷新率,不足以带来流畅的显示效果, 酱紫情况,就算是搭配了HDMI 2.0高清线也是无法发挥其作用.只有更先进的HDMI 2.0标准 ...

  3. LINUX 更新

    sudo apt-get dist-upgrade,更新所有的软件

  4. .net妹纸转Java---java环境的搭建,myeclipse10.0 的安装环境变量配置和破解

    啦啦啦 ,因为公司项目需要,从我大火炉--大武汉被拖到了更大的火炉--大广西  其实一开始 我的内心是拒绝的. 但是我在大武汉呆了近2年木有出过远门,对, 生活除了眼前的苟且,还有远方的苟且.怀揣这样 ...

  5. 推荐大家使用的CSS书写规范、顺序

    写了这么久的CSS,但大部分前端er都没有按照良好的CSS书写规范来写CSS代码,这样会影响代码的阅读体验,这里总结一个CSS书写规范.CSS书写顺序供大家参考,这些是参考了国外一些文章以及我的个人经 ...

  6. 【笔记】Android项目添加项目引用方法

    刚才在做phoneGap时,想试图自己添加phoneGap的lib组件(jar的源码),找了好多种方法,下面这种成功了 项目邮件 Properties, Android ,Add...  ,然后Dep ...

  7. Linux 条件判断

    1. 按照文件类型判断 -b 文件 #判断文件是否存在,并且是设备文件 -c 文件 #判断文件是否存在,并且是字符设备文件 -d 目录 #判断目录是否存在,并且是否为目录(是目录返回真) -e 文件 ...

  8. ngRoute插件

    angular中可以使用插件,例如ngRoute插件就是用与路由控制. 首先要在模块中引入即可: var m1 = angular.module('myApp',['ngRoute']); 然后我们进 ...

  9. Python Windows环境下安装Python集成开发环境 学习之路(一)

    一.安装下载安装 Python https://www.python.org/ 全部下一步,直接Finish  PyCharm http://www.jetbrains.com/pycharm/ 全部 ...

  10. Sql Server 常用操作

    --DDL触发器CREATE   TRIGGER [TR_create_drop_alter_Table] ON DATABASE FOR CREATE_TABLE,DROP_table,ALTER_ ...