zoukankan      html  css  js  c++  java
  • python基础

    一、python介绍

    1、python的出生与应用

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

     

    2、python是什么编程语言 

    解释型
    优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。

    缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。

     

    3、python的注释

      单行注释    #被注释的内容

      多行注释  ''' 被注释的内容'''      """ 被注释的内容"""

     

    4、python种类

    CPython

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

    PyPy

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

    绝大部分Python代码都可以在PyPy下运行,

    Jython

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

     

    5、python2.x 和3.x的不同

    2.x:

      源码重复,不规范

      有long int数据类型

      默认是ASCII码,解决方式加行 # --*--coding:UTF-8 --*--

      print是语句

      

    3.x:

      整合源码

      无long int类型

      默认是utf-8

      print语句没有了,取而代之的是print()函数。

     

    二、python的基础知识

    1、变量

    #变量: 将程序中运行的中间结果暂时存在内存中,以便后续调用使用
    1、变量由数字,字母,下划线组成
    2、变量不能由数字开头
    3、变量不能为python中的关键字
    4、变量具有可描述性
    5、变量不能使用中文
    6、变量不能过长

     

    2、变量命名格式

    官方提供变量命名格式:
    2.1、驼峰

      WoAiEat = 12


    2.2、下划线

      wo_ai_eat = 12

     

    3、#常量  值不变的量,π

    #约定俗称 全部大写的量为常量,而且放置在文件最上面

     

    4、#基础数据类型:

    int:数字:计算
    str: python中用引号引起来的就叫做字符串
    用处:储存简单的少量数据
    +(拼接)  *(相乘)

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

    单双引号没有任何区别的,下面这种情况需要,需要考虑单双引号的配合

      msg = "My name is nan, I'm 26 years old!"


    bool:True False

     

    5、#input 用户交互

      input 出来的数据类型全是字符串

     

    6、#格式化输出    %占位符

    6.1 第一种表现形式

     1 name = input('pls input your name:')
     2 age = input('pls input yupur age:')
     3 job = input('pls input you job:')
     4 hobbie = input('pls input you hobbie:')
     5 
     6 msg1 = '''
     7 ---------info of name:%s----------
     8 name:%s
     9 age :%d
    10 job :%s
    11 hobbie :%s
    12 ---------end----------------------
    13 '''% (name, name, int(age), job, hobbie)
    14 print(msg1)
    View Code

     

    6.2第二种表现形式

    1 dic = {'name': 'lei', 'age': 23, 'job': 'it', 'hobbie': 'girl'}
    2 msg2 = '''
    3 ------------info of name:%(name)s---------
    4 name : %(name)s
    5 age  : %(age)d
    6 job  : %(job)s
    7 hobbie : %(hobbie)s
    8 ''' % dic
    9 print(msg2)
    View Code

     

    print('i am %s,i age %s.学习进度5%%' % ('lei', 23))

    %% 表示 %

     

    7、if语句

    7.1 第一种形式

     1 if 2>1: 2 print(666) 

     

    7.2 第二种形式

    1 if 2>1:
    2     print(666)
    3 else:
    4     print(333)

     

    7.3 第三种形式

    num = int(input('guesting:'))
    if num == 6:
        print(666)
    elif num = 5:
        print(777)
    elif num = 4:
        print(888)

     

    7.4 第四种形式

    num = int(input('guesting:'))
    if num == 6:
        print(666)
    elif num = 5:
        print(777)
    elif num = 4:
        print(888)
    else:
        print(999)

     

    7.5 第五种形式

    1 if 2>1:
    2     if 2<1:
    3         print()
    4     else:
    5         print()
    6         
    View Code

     

    8、while 循环

    while True:
        print(statement)
    while 条件:
        结果

    #何如终止循环:
    #1,改变条件不成立

     

    标志位

    1 flag= True
    2 count  =1
    3 while flag:
    4     print(count)
    5     count += 1
    6     if count == 100:
    7         flag = False
    View Code

    #while 关键字:break, continue
    #break 结束循环


    #while else 如果while循环被break打断,则不会走else语句,否则会走

    1 count = 1
    2 while count<5:
    3     print()
    4     if count == 3:
    5         break
    6     count+=1
    7 else:
    8     print('循环非正常完毕')
    View Code

     

    9、初始编码

    #初始编码
    ascii:8位 == 1个字节,表示一个字符

    万国码:unicode 把所以国家的语言包括进去
    16位 两个字节表示一个字符
    改版:
    32位 四个字节表示一个字符
    浪费资源

    unicode升级:
    utf-8:最少用8位表示一个字符
    utf-16:最少用16位表示一个字符

    gbk:国标
    只有中文和英文
    英文用一个字节
    中文用两个字节

    单位的转化:
    8bit == 1bytes
    1024bytes == 1kb
    1024kb == 1Gb

     

    10、for循环(有限循环)

    for else 和while else一样的,可以被break 打断

     

    11、基本运算符

    算数运算

     

    比较运算

     

    赋值运算

     

    逻辑运算

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

      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。

     

    例题:求出下列逻辑语句的值。

    8 or 4
    0 and 3
    0 or 4 and 3 or 7 or 9 and 6

     

    in,not in :

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

    例如:

    #print('喜欢' in 'dkfljadklf喜欢hfjdkas')
    #print('a' in 'bcvd')
    #print('y' not in 'ofkjdslaf')

     

    三、相关练习题

    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、用户登陆(三次机会重试)

     

  • 相关阅读:
    hdu 1561 The more, The Better(树形dp入门)
    poj 2342 Anniversary party (树形dp入门)
    hdu 2089 不要62(数位dp入门)
    hdu 3555 Bomb (数位dp入门)
    hdu 5591 ZYB's Game
    hdu 5592 ZYB's Premutation (线段树+二分查找)
    智能指针原理代码
    友元类
    类与类指针的关系
    虚析构函数
  • 原文地址:https://www.cnblogs.com/zh-lei/p/8692386.html
Copyright © 2011-2022 走看看