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

                                             python基础篇                                                  

    • python 2.*  与Python 3.*

    input()  ==  eval(input())

    raw_input()  ==  input()

    • python初始化

    #!/usr/bin/env python  【env 是调用的环境变量】
    #-*- coding:utf-8 -*-   【可以在代码中写入中文】

    >>> print ("Hello World")
    Hello World
    • 变量

    变量赋值:

    >>> name_value='freddy'

    1 >>> name_value=freddy
    2 Traceback (most recent call last):
    3   File "<stdin>", line 1, in <module>
    4 NameError: name 'freddy' is not defined
    View Code

    【变量的值如果是字符串必须要加引号否则定义变量会报错 (因为他把变量值当成一个变量)】

    >>> freddy=18
    >>> name_value=freddy

    【如果先把freddy定义一个变量,然后再进行赋值,不加引号,也可以定义变量】

    >>> name_age=18

    【如果变量的值是数字,可以不用加引号

     变量命名规范:

    you_name_is_freddy = tang  OK

    YouNameIsFreddy = tang  OK

    you-name-is-freddy = tang NO  【不能是中杠,“-”等于“减号”】

    88you_name_is_freddy = tang  NO 【不能以数字开头】

    !!you_name_is_freddy = tang  NO 【不能以特殊字符开头】

    you name is freddy = tang  NO 【不能有空格】

    变量调用:

    %d  整数

    %f  浮点数

    %s  字符串

    %x  十六进制整数

    • 变量调用,指针

    >>> freddy = 18
    >>> freddy
    18
    >>> sb = freddy
    >>> sb
    18

    按说把freddy变量改成88,因为sb赋值给freddy了,所以sb也会为88,但是sb还是18,说明sb赋值时指向的不是freddy,而直接指向18,所以改变变量名freddy的值后,sb变量值不受影响
    View Code

    >>> freddy = 88
    >>> freddy
    88
    >>> sb
    18
    >>>

    图片原理示例:

     

    • python内置常用函数

    len(name)  【统计字符串长度】

    dir(name)  【查看内置函数用法】

    id(name)  【查看变量在内存中的位置】

    type()    【查看数据类型】

    id(freddy)  【查看变量所在内存地址】

    • 数据类型

    数据类型分类:

    int【整型 如: 18、73、84】  
    log【长整型 可能如:2147483649、9223372036854775807】
    float【浮点型 如:3.14、2.88】
    complex【复数】
     
    布尔值:
    真 或 假
    ||     ||
    1  或  0
     
    • 列表【优点:可以存取多个信息】

    name_list = ["alex","freddy","eric"]     【声明一个列表】
     
    name_list[0]    【取值】
     
    name_list.append("ERIC")    【追加】
     
    name_list.insert(2,"alex")     【在列表的第2个值后面插入alex】
     
    name_list.index("alex")   【查找alex值】
     
    name_list.count("alex")     【计算这个列表中有多少个alex】
     
    name_list.pop()   【删除这个列表中的最后一个值】
     
    name_list.remove("alex")  【删除alex,只会删除一个】
     
    name_liset.reverse() 【反转显示结果】
     
    name_list.sort()   【排序】
     
    name_list.extend(list2)  【列表相加:把name_list和list2列表相加】
     
    type(name_list) is list  【判断name_list是不是一个列表】
     
    【删除一个列表中所有freddy】

    >>> name = ['freddy','aaa','ccc','freddy','ddd'] >>> for i in range(name.count('freddy')): ... print(name.remove('freddy')) ... None None >>> name ['aaa', 'ccc', 'ddd'] >>>
    【列表中匹配值的方法】
    >>> name
    ['1', '2', 'aa', 2, 8]
    >>> "aa" in name
    True
    >>> 2 in name
    True
    
    >>> if "aa" in name:
    ...  print("aaa")
    ...
    aaa
    >>>
    【判读列表中有没有haha这个值】
    
    name = ['freddy','aaa','ccc','freddy','ddd']
    
    if 'haha' not in name:
        print("name list not haha")
    【判读“t”是不是一个列表】
    
    >>> type(t) is list
    True
    • 元组列表类型转换

    元组转换成列表:
    >>> t=('123','123','123')
    >>> t
    ('123', '123', '123')
    >>> type(t)
    <class 'tuple'>
    
    >>> list(t)
    ['123', '123', '123']
    View Code
     
    列表转换成元组:
    >>> a=['123','123','123']
    >>> a
    ['123', '123', '123']
    
    >>> tuple(a)
    ('123', '123', '123')
    >>>
    View Code
     
    查看内置函数用法:
    >>> dir(name_list)
    >>> dir(name_list)
    ['__add__', '__class__', '__contains__', '__delattr__', '__del
    , '__doc__', '__eq__', '__format__', '__ge__', '__getattribute
    , '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '_
    , '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__redu
    x__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '
    izeof__', '__str__', '__subclasshook__', 'append', 'clear', 'c
    tend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
    View Code
    •  去除空格

    name=' aaaaaaaa aaaaaaaaaa ' 

     name.strip()  【去除两边的空格】
     name.lstrip()  【去除左边的空格】
     name.rstrip()  【去除右边的空格】
    • 分割【分割后会变成一个列表】

    >>> name = "allen,25,wonderful
    >>> name.split(',')
    ['allen', '25', 'wonderful']
    •  切片

    name_list[2:5]     【取2~5个】
     
    name_list[:5]    【取0~5这个范围】
     
    name_list[-2:]    【取列表中最后两个值】
     
    • 元组【作用:不能改,一共有两种方法】

    创建元组:

    ages = (11, 22, 33, 44, 55)   或   ages = tuple((11, 22, 33, 44, 55))

    • 字典

    创建字典:

    person = {"name": "mr.wu", 'age': 18}  或  person = dict({"name": "mr.wu", 'age': 18})

    person = {
        "name":"allen",
        "age":"25",
        "gender":"man",
    }
    
    #person['name']
    for k,v in person.items():  #字典无序
        print k,v 
    
    person.keys()  #所有key
    person.values() #所有value
    person.items()  #所有元素  
    • 循环

    continue  【跳出本次循环】

    for i in range(10):
    if i <5:
    continue
    print(i)

    break  【跳出这层循环】

    • 运算符

    算数运算:+ - * / % ** //
    比较运算:==  !=  < >   >=  <=
    赋值运算:=  +=  -=  *=  /=  %=  **/  //=
    逻辑运算:and  or  not
    成员运算:in  not in
    身份运算:is  is not    
    位运算:& | ^ ~  >> <<

    点这里【运算符大全】

    • 文件操作

    文件打开方式:

    python中打开文件有两种方式,即:open(...) 和 file(...),推荐使用open(...)

    文件打开模式:

    r 【只读方式(默认)】

    w 【打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件】

    a 【打开一个文件用于追加写入。新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入】

    w+ 【写读:打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件(没人用)】

     “+”  【表示可以同时读写某个文件】

    r+  【可读;可写;可追加】

    a+   【等同于a】

    “U”表示在读取时,可以将 自动换成 【与 r 或 r+ 模式同使用】

    rU

    r+U

    “b”表示处理二进制文件【如:FTP发送上传ISO镜像文件,linux可以忽略,windows处理二进制文件时需要标注】

    rb

    wb

    ab

    【向test.log覆盖写入test input】
    f = open("test.log","w") f.write("test input ") f.write("test input ") f.write("test input ") f.write("test input ") f.colse

    f
    = open("test.log","r")
    print(f.read()) 【读文件里所有内容】 f = open("test.log","r") print(f.readline())  【一次只读一行】 f = open("test.log","r") print(f.readlines()) 【以列表形式全读出来】
    • python格式化打印

    name = input("name:")
    age = input("age:")
    job = input("job:")
    【方法一:】 msg
    = ''' Infomation of %s: name:%s age:%s job:%s '''%(name,name,age,job) print(msg)
    【方法二:】
    print("Infomation of %s name:%s age:%s job:%s"%(name,name,age,job))
    •  流程控制

     使用while实现猜数字小游戏:

    【无限次数猜】
    locky_num
    = 19 input_num = -1 while locky_num != input_num: input_num=int(input("Please input number:")) if input_num > locky_num: print("tai gao le....") elif input_num < locky_num: print("tai di le .....") print("Bingo")
    【只能猜三次】
    guess_count=0
    lucky_num=19
    
    while guess_count < 3:
    #    print("guess_count:",guess_count)
        input_num=int(input("Plese input num:"))
        if input_num > lucky_num:
            print("tai gao le.....")
        elif input_num < lucky_num:
            print("tai xiao le.....")
        else:
            print("Bingo....")
            break
        guess_count += 1
    else:
        print("too may number 33333....")

    使用for实现猜数字小游戏:

    lucky_num=19
    input_num=-1
    for i in range(3):
        input_num=int(input("Please input number:"))
        if input_num > lucky_num:
            print("tai gao le ....")
        elif input_num < lucky_num:
            print("tai di le .....")
        else:
            print("Bingo")
            break
    else:
        print("too may 333333")
    •  嵌套循环

    【例1:】
    count = 0
    while True:
    print(count)
    count += 1
    if count > 5:
    break
    
    【例2:】
    for j in range(5):
    for i in range(10):
    if i <5:
    continue
            if i > 8:
    break
    print(i)
  • 相关阅读:
    java解析xml
    支持向量机SVM
    资源-菜单
    GIT
    基于OpenCV的图书扫描识别程序开发
    最大公约数(gcd)还有最小公倍数(lcm)的共通之处
    python网页分析
    python爬虫的基本知识储备
    大数加法 (A + B Problem II)
    Andy's First Dictionary (set)
  • 原文地址:https://www.cnblogs.com/tangshengwei/p/5079582.html
Copyright © 2011-2022 走看看