Python基础(Day1)

一、Python的简介

 1.Python的诞生

    python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。

   2.目前Python主要应用领域:

  • 云计算: 云计算最火的语言, 典型应用OpenStack
  • WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
  • 科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
  • 系统运维: 运维人员必备语言
  • 金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测
  • 图形GUI: PyQT, WxPython,TkInter3

   3.Python是什么编程语言

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

     解释型:程序运行时将代码一行一行的解释转换成二进制。

     优点:开发效率高、排错快、可以跨平台。

     缺点:每次运行的时候都要解释一遍,执行效率相对慢。

     编译型:将代码一次性编译成机器语言,并保存成二进制再运行。

     优点:执行效率高。

     缺点:排错慢、开发效率低、不能跨平台。

  4.Python的优缺点

    优点:

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

     缺点:

       1.运行速度慢。

       2.代码不能加密。

       3.线程不能利用多CPU。

 5.Python的种类

    CPython(用C语言开发的解释器),JPython(运行在Java平台上的解释器)、IPython(基于CPython之上的一个交互解释器)、PyPy(对python代码进行动态编译,目标是执行速度)、IronPython(运行在微软.Net平台上的Python解释器)。

6.Python2x与Python3x的区别

  •  Python2x默认编码ascii码,不能识别中文;Python3x默认编码是unicode可以识别中文。
  •  Python2x的输入:raw_input(); Python3x的输入:input()。
  •  Python2x的输出:print可以不加(); Python3x的输出:print()。
  •  Python2x除法当两个整型相除(除数不能为0),值是个整型; Python3x两个整型相除值可以是浮点型。

  

二、Python基础初识

  1、变量

      变量是把程序运行的中间结果临时存在内存里,以便后续的代码调用。

      变量的命名规则:

  • 变量名只能是数字、字母和下划线。
  • 变量名不能以数字开头。
  • 变量名要有可描述性。
  • 变量名不能是python的关键字。
  • 变量名不能是中文、变量名不能太长。
  • 官方推荐的两种形式:驼峰体和下划线
  • #驼峰体
    AgeOfOldboy = 56
    NumberOfStudents = 80
    #下划线
    age_of_oldboy = 56
    number_of_students = 80

    变量的赋值:等号右边的值赋给等号左边的变量名,python是解释型语言,代码一行一行的执行,后面的变量会覆盖前面的。

 age1 =12
 age2=age1
 age3=age2
 age2=6
 print(age1,age2,age3)

执行结果:12 6 12

  2、常量

     常量指不变的量或在程序运行过程中不会改变的量,在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量。


AGE_OF_OLDBOY = 56

  3、注释

     单行注释:#

     多行注释:""" """或‘’‘ ’‘’

  4、程序交互 input

name=input('请输入你的名字:')
age=input('请输入你的年龄:')
hobby=input('请输入你的爱好:')
print(name,age,hobby)

 #input输出的数据类型都是str

5、基础数据类型

  • int(整型)long(长整型)#在Python3里不再有long类型了,全都是int
  • str(字符串)#加了引号的字符都被认为是字符串,多行字符串用多引号
  • bool(布尔值:False、True)
  • list(列表)
  • tuple(元组)
  • dict(字典)
  • set(集合)

   查看数据类型使用type()

n1='guo'
n2=True
n3='False'
print(type(n1))
print(type(n2))
print(type(n3))

     执行结果:

     <class 'str'>
     <class 'bool'>
     <class 'str'>

6、格式化输出(%占位符、s-str字符串、d-digit数字)

   第一种:

name=input('请输入你的姓名:')
age=input('请输入你的年龄:')
hobby=input('请输入你的爱好:')
msg='我叫%s,今年%d岁,爱好%s'%(name,int(age),hobby)
print(msg)
执行结果:

  请输入你的姓名:圆圆
  请输入你的年龄:18
  请输入你的爱好:睡觉
  我叫圆圆,今年18岁,爱好睡觉

   第二种:

dic={'name':'圆圆','age':18,'hobby':'买买买'}
msg='我叫%(name)s,今年%(age)d岁,爱好%(hobby)s'% dic
print(msg)

执行结果:
我叫圆圆,今年18岁,爱好买买买

   第三种:在格式化输出中单纯的想要显示%,用%%解决。

name=input('请输入你的姓名:')
age=input('请输入你的年龄:')
msg='我叫%s,今年%d岁,学习进度为10%%'%(name,int(age))
print(msg)

执行结果:
请输入你的姓名:yuanyuan
请输入你的年龄:18
我叫yuanyuan,今年18岁,学习进度为10%

 7、逻辑运算符 (and、or、not)

      数据类型的转换:int---->bool   0为False,非0为True。

                                   bool---->int   False为0,True为1。

    第一种:前后都是比较运算,优先级()>not>and>or,同一优先级从左至右依次计算。 

print(1>2 and 3<4 and 3>2 or 2<3 )
执行结果:
True

   第二种:前后都是数值运算

   优先级:x or y,如果x为True,则返回x,否则返回y。

                 x and y,如果x为True,则返回y,否则返回x。

print(1 or 3)
print(1 and 3)
执行结果:
1
3

  第三种:混合运算

print(1>2 or 3 and 4)
print(2 or 2>3 and 4)
执行结果:
4
2

 8、in、not in  判断子元素是否在原字符串(字典,列表,集合)中,从左到右依次检测

s='老男孩AlexWusir'
print('老男孩' in s)
执行结果:
True
print('老男孩Wusir' in s)
执行结果:
False

  9、if 语句

   1)第一种结构

if 条件:
    结果

   2)第二种结构 

if 条件:
    结果
else:
    结果

   3)第三种结构

if 条件1:
    结果1
elif 条件2:
    结果2
elif 条件3
    结果3

例:

choice=input('请输入你猜的数字:')
if choice =='2':
    print('我请你吃饭')
elif choice=='3':
    print('免一周作业')
elif choice=='4':
    print('一起去玩')

执行结果:
请输入你猜的数字:2
我请你吃饭

  4)第四种结构

if 条件1:
    结果1
elif 条件2:
    结果2
elif 条件3
    结果3
else:
    结果4

例:

choice=input('请输入你猜的数字:')
if choice =='2':
    print('我请你吃饭')
elif choice=='3':
    print('免一周作业')
elif choice=='4':
    print('一起去玩')
else:
    print('输入错误')

执行结果:
请输入你猜的数字:6
输入错误

  5)第五种结构

if 条件:
    if 条件:
        结果
    else:
        结果
else:
    结果

例:

age=input('请猜我的年龄:')
if True:
    if age=='18':
        print('恭喜你猜对了')
    else:
        print('这都看不出来')
else:
    print('输入错误')

执行结果:
请猜我的年龄:22
这都看不出来

 10、while语句

  1)第一种结构

while 条件:
    结果

例:

while True:#死循环
    print(111)
    print(333)
print(444)
执行结果:
111
333
...
...

  2)第二种结构

while 条件:
    else

例1:

count=1
while True:
    print(count)
    if count==3:break#循环被break打断,程序不会走else
    count+=1
else:
    print('循环结束')

执行结果:
1
2
3

例2:

while True:
    print(111)
    print(222)
    continue#遇到continue时continue下面的代码不执行,返回继续执行continue以上的循环
 print(333) 执行结果: 222 333 ... ...

#如何结束循环:1.改变条件,2.break。

  用while循环打印1-100的方法:

  第1种:

flag=True
count=1
while flag:
    print(count)
    count+=1
    if count==100:
        print(count )
        flag=False
执行结果:1
2
...
100

  第2种:

count=1
while count<101:
    print(count)
    count+=1

  第3种:

count=1
while True:
    print(count)
    count+=1
    if count==101:
        break

      

   

   

 

   

 

     

   

原文地址:https://www.cnblogs.com/facestore/p/8643522.html