Pythonday01

                                  2018-04-07

一、Python 介绍

python 2.X  在2020以后不再更新代码。

Python 2.x  与 Python 3.x 的区别

python2.x 

语法:重复,不规范

编码:默认ASCII,无法显示中文。解决方式:      #  -*-  encoding:UTF-8  -*-

数据类型:有long int:长整型

语法格式:print 'hello world'  或  print ('hello world')

python 3.x

语法:整合源码,清晰简洁,优美

编码:默认UTF-8

数据类型:无 long int:长整型

语法格式:print  ('hello world')

python语言划分

编译型:将代码全部一次性编译成二进制再执行。

   代表语言:Python  JavaScript  ruby  PHP  Perl

            缺点:开发效率低,不能跨平台,例如C语言
            优点:执行效率高,一般写底层,代表语言C
 

 解释型:当程序开始执行时,它将一行一行的解释成二进制,执行

   代表语言:C  C++  go    swift

            缺点:执行效率低
            优点:开发效率高,可以跨平台,代表语言Python

混合型:

    JAVA  C#

解释器:

      CPython

  当我们从Python官方网站下载并安装好Python 3.6后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。

      IPython

  IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。

      PyPy

  PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。

绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点

      Jython

  Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

      IronPython

  IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

      小结:

  Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。

 

 Python 基础知识

变量

将程序的中间结果暂时存在内存中,以便后续程序引用

1、组成:数字,字母下划线组成,不能是数字开头

2、不能使用关键字:

以下关键字不能声明为变量名
  • ['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']

3、不能中文,不能过长

4、建议格式:birth_date_time

常量

一直不变的量
约定俗成,全部大写,放在文件最上面
例如:BIRTH_OF_CHINA = 19491001

 注释

单行注释:#

多行注释:'''      '''        或        """    """

三引号的另一个功能:格式化输出

info = '''
------------ info of %s -----------
Name : %s #代表 name
Age : %d #代表 age
job : %s #代表 job
Hobbie: %s #代表 hobbie
------------- end -----------------
''' %(name,name,int(age),job,hobbie)
print(info)

注意%d 表示变量为数字,所以需要转化为数字形式使用int()函数

双引号与单引号作用一样,但是一下情况必须用双引号:

"""   bob's   hobby is  basketball   """

程序交互

name = input ('please input your name')

注:input 接收的字符全部存储为字符串格式,即使输入的是数字,若想转化为字符串需要  int(name)

基础数据类型

整数类型(int)

字符串类型(str)

在Python中,加了引号的字符都被认为是字符串!

字符串拼接

>>> name
'Alex Li'
>>> age
'22'
>>>
>>> name + age #相加其实就是简单拼接
'Alex Li22'
>>>
>>> name * 10 #相乘其实就是复制自己多少次,再拼接在一起
'Alex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex Li'

注意,字符串的拼接只能是双方都是字符串,不能跟数字或其它类型拼接

布尔值(True,False)

 布尔类型很简单,就两个值 ,一个True(真),一个False(假), 主要用记逻辑判断

但其实你们并不明白对么? let me explain, 我现在有2个值 , a=3, b=5 , 我说a>b你说成立么? 我们当然知道不成立,但问题是计算机怎么去描述这成不成立呢?或者说a< b是成立,计算机怎么描述这是成立呢?

没错,答案就是,用布尔类型

>>> a=3
>>> b=5
>>>
>>> a > b #不成立就是False,即假
False
>>>
>>> a < b #成立就是True, 即真
True

基本运算符

运算符

  计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算,今天我们暂只学习算数运算、比较运算、逻辑运算、赋值运算

算数运算

比较运算

 赋值运算

逻辑运算

 针对逻辑运算的进一步研究:

  1,在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。

例题:

判断下列逻辑语句的True,False

 1,3>4 or 4<3 and 1==1

2,1 < 2 and 3 < 4 or 1>2
3,2 > 1 and 3 < 4 or 4 > 5 and 2 < 1
4,1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8
5,1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
6,not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6

 2 ,  x or y , x为真,值就是x,x为假,值是y;

             x and y, x为真,值是y,x为假,值是x。

in,not in :

判断子元素是否在原字符串(字典,列表,集合)中:

流程控制之

if语句  

逐行判断,符合条件即推出,否则继续向下运行。

if 条件1:

  结果1

elif 条件2:

  结果2

 else:

  结果3

while语句

符合条件就一直运行

while  1< 2:

  print ()

else  只要没有break跳出循环,就可以运行else。

continue  跳出本次循环,继续下一次循环。

break   跳出整个循环结束while。

flag = true

for循环语句

有限循环

x 可以是字符串  字典 列表 元祖

for  i  in x:

  do...

else

break

continue

相关练习题

1、使用while循环输入 1 2 3 4 5 6     8 9 10

2、求1-100的所有数的和

3、输出 1-100 内的所有奇数

4、输出 1-100 内的所有偶数

5、求1-2+3-4+5 ... 99的所有数的和

6、用户登陆(三次机会重试)

原文地址:https://www.cnblogs.com/fanggege/p/8732449.html