Python基础一

一 计算机基础

CPU:相当于人的大脑,运算与控制中心,运行处理速度快

内存:运行内存,只是暂时存储,为CPU提供数据支持,速度较快,成本高,断电即消失

硬盘:相当于自己电脑本身的数据库,能存储大量数据,文件,小电影等,速度慢,成本低,可以永久保存。

操作系统:执行用户发出的各种操作,支配各种关系之间的运行

二 计算机语言开发的分类

1、编译型

将代码一次性全部编译成二进制,然后在运行。
缺点:排错慢,开发效率低,不能跨平台。
优点:执行效率高。
典型:C

2、解释型

当程序运行时,将代码一行一行的解释成二进制,再运行。
优点:排错快,开发效率高,可以跨平台。
缺点:执行效率相对低。
典型: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.01s,用Python是0.1s,这样C语言直接比Python快了10倍,算是非常夸张了,但是你是无法直接通过肉眼感知的,因为一个正常人所能感知的时间最小单位是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的存在,所以禁止多线程的并行执行。关于这个问题的折衷解决方法,我们在以               后线程和进程章节里再进行详细探讨。

2、Python版本的区别

  python2:源码混乱,重复代码较多,冗余。

      print()  或者  print ' '

      编码默认ASCII        解决方法:首行输入# *-* encoding:utf-8 *-*

      用户交互为 raw_input()  和  input()

  python3:源码规范,崇尚优美清晰,简单。

      print()

      默认编码为utf-8

      用户交互为: input()

3、变量

  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,变量要具有可描述性。
    name = '老男孩'


  5,变量不能是中文。


  6,变量不能太长。


  7,官方推荐:

  #驼峰体

    AgeOfOldboy = 56

    NumberOfStudents = 100

  #下划线

    age_of_oldboy = 56

    number_of_students = 80

4、常量

  不变的量:生日,身份证号,
  python 规定没有,默认全部大写的变量 成为常量。
  BIRTH = 19970425

5、基础数据类型

  1、int (整型)

>>> a = 5
>>> a
5
>>> type(a)   #type()为查看数据类型
<class 'int'>
>>> 

  2、str (字符串)

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

>>> name = 'Alex'
>>> age = '45' #加引号是字符串,不加则是数字
>>> type(name)
<class 'str'>
>>> type(age)
<class 'str'>
>>> 

   注意:把多行字符串赋值给一个变量时需要加三引号‘’‘  ’‘’或“”“  ”“”

   字符串的拼接:数字可以进行加减乘除等运算,字符串呢?让我大声告诉你,也能?what ?是的,但只能进行"相加"和"相乘"运算。

>>> name = 'my name is '
>>> name2 = 'Alex'
>>> name + name2  #相加就是拼接的意思

'my name is Alex'



>>> name2 * 10
'AlexAlexAlexAlexAlexAlexAlexAlexAlexAlex'

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

  3、bool(布尔值)

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

>>> 1 > 3  #不成立为False(假)
False
>>> 5 < 9  #成立为True(真)
True

6、if条件语句

  第一种结构

    if 条件:

      结果

  第二种结构

    if 条件:

      结果

    else:

      结果

  第三种结构

    if 条件:

      结果

    elif 条件:

      结果

    elif 条件:

      结果

  第四种结构

    if 条件:

      结果

    elif 条件:

      结果

    else :

      结果

  第五种结构

    if 条件:

      if 条件:

        结果

      else:

        结果

    else:

      结果

7、While循环

  while 条件:

      结果

  while循环中止语句:

      如果在循环的过程中,因为某些原因,你不想继续循环了,怎么把它中止掉呢?这就用到break 或 continue 语句

      break : 结束循环。

      continue:结束本次循环,继续下一次循环。

8、作业题

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

a = 0
while a < 10:
    a += 1
    if a == 7:
        continue
    print(a)

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

a = 0
sum = 0
while a < 100:
    a += 1
    sum += a
    if a == 100:
        print(sum)

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

# 方法一
for i in range(1,101,2):
    print(i)



# 方法二
a = 0
while a < 100:
    a += 1
    if a % 2 == 1:
        print(a)

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

# 方法一
for i in range(0,101,2):
    if i == 0:
        continue
    print(i)

# 方法二 a = 0 while a < 100: a += 1 if a % 2 == 0: print(a)

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

# 方法一
sum = 0
for i in range(1, 100):
    sum += i*(-1, 1)[i % 2]
print(sum)



# 方法二
a = 0
sum1 = 0
sum2 = 0
while a < 99:
    a += 1
    if a % 2 == 0:
        sum1 += a
    else:
        sum2 += a
    if a == 99:
        print(sum2-sum1)

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

a = 0
while a < 3:
    username = input('请输入用户名: ')
    password = input('请输入密码: ')
    if username == '小明' and password == '123':
        print('登录成功,欢迎')
        break
    else:
        print('用户名或密码错误,请重新登录!')
    a += 1

 

 

    

 

 

 

  

 

 

posted @ 2018-03-17 14:22  戏院小二胡  阅读(116)  评论(0编辑  收藏  举报