zoukankan      html  css  js  c++  java
  • Python基础语法,基本数据类型及相关操作

    ---恢复内容开始---

    1. python文件

      1. 文件开头要有  #!/usr/bin/ python        --在linux中是告诉系统phthon的路径是在/usr/bin/ python目录下,在执行python文件时可以使用 ./文件名  ,如:./h.py  即可执行

      2. 所以python2.7文件开头都需要有 # -*- coding:utf-8 -*- 这句来设置编码格式

      3. 当有中文输出时,常会输出为乱码,这是因为代码是utf-8格式的,但显示终端的编码格式是gbk格式的。如果显示终端的格式是utf-8格式的则会正常显示,但如果是gbk格式的,就显示为乱码了。而utf-8编码与gbk编码同为unicode(万国码)的简化和优化,只是编码方式不一样。要解决中文输出显示乱码的问题,需把utf-8格式先解码成unicode,再以gbk编码,再输出,即可正常显示中文,如下:

        1.   
           1 # -*- coding:utf-8 -*-
           2 
           3 temp = “你好”
           4 
           5 #先把utf-8解码为unicode
           6 
           7 temp_unicode = tem.decode(‘utf-8’)  #这里的utf-8是指定原来的编码是utf-8编码
           8 
           9 temp_gbk = temp_unicode.encode(“gbk”)  #这里的gbk是指定以gbk格式进行编码
          10 
          11 print(temp_gbk)
          12 
          13 #到了py3中自动转换utf-8 unicode gbk,utf-8可直接编码成gbk
          14 
          15 #py3中移除了python的unicode类型
    1. 在cmd命令窗口中输入python可以进入pythod的录入环境,输入exit()即可退出这个编辑环境

    2. 注释

      1. 单行注释,使用 #

      2. 多行注释,使用 “””  多行内容  “””

    3. 导入文件

      1. python为用户提供的 .py 文件

      2. 导入时 使用import 后面写导入文件的名称(不带.py)

      3. 执行程序后会自动生成同名的 .pyc字节码文件,这个就相当于缓存文件

      4. 执行时会优先找 .pyc文件,并执行,如果找不到 .pyc文件,则会去找 .py文件,并执行

    4. 获取输入文本

      1. i1 = raw_input(“Username:  “),获取明文录入的文本

      2. i2 = getpass.getpass(“Password: ”)   (在使用此句前需导入文件 import getpass)

    5. 创建 xxx.py 文件

      1. 建议 文件名、存放路径 都不要有中文

      2. 头部两行的代码较特殊,必须要有

    6. 基本数据类型

      1. 数字: a1 = 123

      2. 字符串: s1 = “abc”  或  s2 = ‘ABC’    或   s3=”””cde”””(三引号中的内容是多行文本字符串)

      3. 布尔值: isAble = true

    7. 流程控制

      1.  if

    if 条件 :

       内容一

       内容二

    elif 条件 :

       内容五

       内容六

    else :

       内容三

       内容四

      1. python 是严格按缩进来执行的

      2. 一个等号是赋值,两个等号是比较, != 是不等于

      3. while

    while 条件 :

       内容一

      1. time.sleep(1)   暂停1秒钟

      2. break,可以跳出整个循环

      3. continue,跳出本次循环,继续下次循环

      4. pass,什么都不做,不可以空着不写,写个pass即可

      5. for循环

    s7 = "Return a copy of the string"
    
     for item in s7:
        print item
    
        1. enumerate()

          1. 接受参数可以是列表

          2. 用于中for循环时自动给列表项生成一列,默认从0开始,自增1

    li = ["Computer","iphone","Watch","Car"]
    
    for key,item in enumerate(li):
        print(key,item)
    
    inp = input("请输入商品:")
    inp_num = int(inp)
      print(li[inp_num])
    

    ------------------------输出-------------------------

    (0, 'Computer')

    (1, 'iphone')

    (2, 'Watch')

    (3, 'Car')

    请输入商品:0

    Computer

    1. 运算符

      1. 算数运算

        1. +  -  *  /  %(取余)  **(幂,返回x的y次幂)  //(取整数,返回商的整数部分)

    py2: 9/2 = 4

          9/2=4.5  (需导入模块,如:from __future__ import division)

    py3:  9/2 = 4.5

    1.  PyCharm中设置py文件的模板,给头部添加上固定的两行:file àsetting àEditor àfile and code template àpython script -> 录入固定的两行 àOK

    2.  PyCharm中切换py版本,file à settings à project interpreter à 选择版本

    3.  比较运算符: ==  !=  <>  >  <  >=  <=

    4.  赋值运算符: =   +=  -=  *=  /=   %=  **=

    5.  ctrl + /  注释快捷键

    6.  逻辑运算符:and  or  not

    7. 成员运算符:  in    not in

    8.  基本数据类型

      1. 数字            int

        1. int类中有__的方法,是有特殊功能的方法

    n1 = 123

    n2 = 456

    print(n1 + n2)  就相当于  print(n1.__add__(n2))

        1. bit_length(),获取可表示的二进制最短位数

    n1 = 4  #00000100

    ret = n1.bet_length()

    print(ret)

      1. 字符串       str

        1. capitalize()方法,首字母大写

        2. center(长度,空白填充字符)方法,把当前字符串显示到中间,空白部分用指定字符替换

        3. count()方法,子序列的个数,指定字符串中当前字符串中重复出现的个数

        4. decode()方法,解码

        5. encode()方法,编码

        6. endswith()方法,[获取字符串里大于等于0的位置,小于2的位置] ,是否以xxx结束

        7. expandtabs()方法,把tab( )转换为空格(默认8个空格)

        8. find()方法,查找子序列首次出现的位置,如果没找到,返回-1

        9. format()方法,字符串序列化

    s = "hello {0}, age {1}"
    print(s)
    
    s2 = s.format("alex",20)
    print(s2)
    

    ------------------------输出-------------------------

    hello {0}, age {1}
    hello alex, age 20
        1. index()方法,查找子序列的位置,如果没有找到,报错

        2. int(字符串),把指定字符串转换为数字并返回

        3. isalnum()方法,判断是否同时有字母和数字

        4. isalpha()方法,判断是否都是字母

        5. isdigit()方法,判断是否是数字

        6. islower()方法,判断是否小写

        7. isspace()方法,判断是否是空格

        8. istitle()方法,判断是否是标题(每个单词的首字母大写)

        9. join()方法,连接

    li = ["alex","eric"]
    
    s3 = "_".join(li)
    
    print(s3)
    

     ------------------------输出-------------------------

    alex_eric
        1. ljust()方法,内容做对齐,右侧填充,与center()类似

        2. lower()方法,变小写

        3. len()方法,返回字符串长度

        4. lstrip()方法,移除左侧空白

        5. partition()方法,分割字符串成左中右三部分

        6. split()方法,分割字符串

        7. replace()方法,替换字符串

        8. rfind()方法,从右向左找

        9. rindex()方法,类似于lindex(),只是这里的是从右向左找

        10. rjust()方法,类似于ljust(),方向与ljust()相反

        11. rpartition()方法,与partition()类似,方向与partition()相反

        12. rsplit()方法,与split()方法类似,方向与split()方向相反

        13. rstrip()方法,与lstrip()方法类似,方向与lstrip()方向相反

        14. strip()方法,去除左右两侧的空格

        15. startswith()方法,判断字符串是否以指定字符串开始

        16. swapcase()方法,小写变大写,大写变小写

        17. title()方法,把文本变成标题

        18. upper()方法,把文本转换为大写

        19. 切片

    s6 = "alex"
    print(s6[0:2])  #大于等于左边,小于右边
    

    ------------------------输出-------------------------

    al

      1. 布尔值       bool

      2. 列表            list

        1. append()方法,追加元素

        2. count()方法,统计某元素有多少个

        3. extend()方法,批量想列表中追加数据

        4. index()方法,获取某个元素的索引

        5. insert()方法,向某个索引处插入元素

        6. pop()方法,把最后一个元素移除,并可以返回被移除的元素

        7. remove()方法,移除某个元素,只移除从左侧找到的第一个

        8. reverse()方法,反转列表

        9. sort()方法,排序列表

        10. del 列表[index] ,删除列表指定索引的元素

      3. 元组            tuple

        1. 元组与列表几乎是一样的,列表可以修改,元组不可以修改

      4. 字典            dict

        1. 字典的每个元素都是一个键值对,有点类似于简单的JSON对象

    user_info = {
        "name":"alex",
        "age":73,
        "gender":"M"
      }
    
        1. 字典元素的索引就是对应的key字符串

        2. 字典不支持切片

        3. keys()方法,获取字典中的所有key

        4. values()方法,获取字典中所有value

        5. items()方法,获取字典中所有的键值对

        6. for循环

          1. for循环时字典时,默认输出key,即:for k in user_info 等同于 for k in user_info.keys()

          2. 如果要循环出字典的值,则:for v in user_info.values()

          3. 如果要同时循环出字典的键和值,则: for k,v in user_info.items()

        7. clear()方法,清空字典中所有元素

        8. get()方法,根据key获取值,如果key不存在,可以指定一个任意值

        9. haskey()方法,检查字典中指定key是否存在,也可以使用in来代替

        10. pop()方法,获取并中字典中移除

        11. setdefault()方法,如果key不存在,则创建,如果存在,则返回已存在的值且不修改

        12. update()方法,更新,批量把一个字典中的元素更新到另一个后面

        13. del 字典[key],删除字典指定key的元素

      1. range , xrange

        1. range,中py2.7中用于获取指定范围内的数,如range(0,1000000),会一下子把这个范围内的数都创建出来,内存占用会急速上升

        2. xrange,中py2.7中用于获取指定范围内的数,如range(0,1000000),初始时并不创建范围中的数,只有中for循环时才会创建其范围中的一个元素,性能大大提高

        3. 在py3中,没有了xrange,而是range,但其效果于py2.7中的xrange效果一样

        4. range(0,10),获取0~9之间的所有数字,取数范围是大于等于左边的数,小于右边的数

    li = ["Computer","iphone","Watch","Car"]
    
    n = len(li)
    
    for i in range(0,n):
    
        print(i,li[i])
    

    ------------------------输出-------------------------

    (0, 'Computer')

    (1, 'iphone')

    (2, 'Watch')

    (3, 'Car')

    1.  查看对象的类,或对象所具备的功能

      1. type(变量) 函数可以查看变量的数据类型,然后可根据 ctrl+左键,查看内部所有方法

      2. dir(变量),快速查看变量类型的全部方法

      3. help(type(变量)),查看变量类型的详细方法情况

  • 相关阅读:
    P2426 删数
    P2115 [USACO14MAR]破坏Sabotage
    P2679 子串
    P2979 [USACO10JAN]奶酪塔Cheese Towers
    P1114 “非常男女”计划
    P2105 K皇后
    P4053 [JSOI2007]建筑抢修
    P1294 高手去散步
    P4316 绿豆蛙的归宿
    P2253 好一个一中腰鼓!
  • 原文地址:https://www.cnblogs.com/crucial/p/5746891.html
Copyright © 2011-2022 走看看