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

    输入输出

    1)print() 输出:

    print() 函数可接受多个字符串,用逗号隔开,print() 会依次打印每个字符串,遇到逗号会输出一个空格。

    print("abc", "bcd", "def")

    2)input() 输入:

    num = input("input a number:")

    数据类型

    整数、浮点数

    二进制数:0b110 为6             16进制:0x20 为32

    字符串

    字符串可以用 'laksd' 或者 “askjda” 

    常量

    为了便于标识,一般将常量用大写字母表示: PI = 3.1415926535

    除法

    / :精确除法         // :整除

    字符串

    编码

    ASCII编码:1字节,只有常用的127个字符,即英文字母+数字+符号

    GB2312编码(不常用):2字节,ASCII基础上将中文编码进去

    Unicode:2字节,把所有语言都放到统一的一套编码中

    UTF-8:变长编码,由于Unicode长度统一,则在经常使用英文字母的环境中Unicode显然比ASCII多占1倍存储空间,因此UTF-8将常用英文字母编为1字节,汉字编为3字节,生僻字编为4-6字节。

    由于UTF-8将英文编为1字节,所以ASCII是UTF-8的一部分,支持ASCII的一般也支持UTF-8。

    计算机在内存中统一使用Unicode编码,当保存为文件或传输时转换为UTF-8编码。

    python字符串

    python3中字符串用unicode编码,所以python的字符串支持多种语言。

    ord() 函数将获取字符的整数unciode编码,chr() 函数将整数unicode编码转换为对应字符。

     在网络中传输或保存需要将str编为字节为单位的bytes类型。 str以单个字符为单位处理(如unicode的字符的字节数不定),而bytes以字节为单位。

    #unicode形式的str转换为bytes
    'ABC'.encode('ascii')
    "汉字".encode('utf-8')  #中文转换为ascii会出错

    #将字节流变为str,出现无法解析的字节会报错,可人为忽略错误 b'xe4xb8xadxe6x96x87'.decode('utf-8') b'xe4xb8xadxe6x96x87'.decode('utf-8', errors='ignore')

    当python源代码包含中文时,在保存到磁盘时,需要指定保存为utf-8。打开源代码读取时也应显式指明编码

    # -*- coding: utf-8 -*-

    格式化输出

    #与c语言类似,但后面参数列表需要用()括起来,前面还要加%
    print('%02d %s' %(200, 'abcd'))

    list和tuple

    list:

    name = ['abc', 'def', 'kas']
    name[-1]    #-1表示倒数第一个索引,-2同理
    name.append('ada')    #追加元素到末尾
    name.insert(2, 'ccc')    #插入到指定位置
    name.pop()    #删除末尾元素
    name.pop(2)    #删除指定位置
    name[1] = "dddd"    #修改元素
    L = ["abc", 1000, True]    #元素可不同类型   

    tuple

    tuple一旦初始化就不可修改,只能访问。

    tp = (1,2,3)    #初始化
    tp = ( )    #空的tuple
    tp = (1)    #这不是tuple,而是一条赋值语句,括号被当成运算符号
    tp = (1,)    #这是tuple
    tp = ('abc', 100,  ['a', 'b', 'c'])    #tuple不可变,但其内部的list可变

     循环

    1)for in 循环:

    for i in [1,2,3,4,5]:
        print(i)
    for i in range(101):    #左闭右开,故i从0到100
        print(i)

    2)while 循环

    dict 与 set

    1)dict

    dic = {'Mich':95, 'Bob':75, 'Tracy':85}    #新建字典
    print( dic['Mich'] )    #访问字典
    dic['Mich'] = 99    #更改键值
    'Bob' in dic      #查询键值是否存在,返回bool值
    dic.pop('Bob')    #删除键值

    注:dict中的键值必须是不可变对象,因此list不能作为键值

    2)set

    st = set([1,2,3,4])    #创建set需要提供一个list作为输入集合
    st.add(5)    #添加到set
    st.remove(4)    #删除元素
    st3 = st1 & st2    #集合取交
    st3 = st1 | st2    #集合取并

    函数

    1)一些内置函数:

    abs(): 求绝对值,只有一个参数

    max(): 求最大值,可接受任意多个参数

    数据类型转换: int('123')    int(12.45)    float('3.1415')    str(1000)    bool(1)

    2)自定义函数:

    def myFunction(a, b):
        if a > b:
            return  a, b
        else:
            return b, a

    注:函数只能返回一个值,但这里的 a,b 其实是返回了一个tuple,只不过省略了括号

    3)函数参数

    默认参数:默认参数可以填写,也可以不填写,不填写时取默认值

    def pow(x, n=2, m=3):    #n=2 m=3即为默认参数
        s = 1
        while n > 0:
            n = n - 1
            s = s * x
        return s
    pow(5)    #5传给了 x
    pow(5, m=4)    #多个默认参数时,可以按顺序提供,也可以 m=4 显式制定参数

    可变参数:即传入的参数的个数是可变的,可以是0、1、2....个;参数传入后变成tuple

    def calc(*numbers):    # *numbers 即为可变参数
        sum = 0;
        for i in numbers:       #可变参数在函数内部会变成一个 tuple 
            sum = sum + i
        return sum
    
    calc(1, 2)    #参数个数可变
    calc(1, 2, 3, 4)
    
    lt = [1, 2, 3, 4]
    calc(*lt)  #该方法可以把list 或 tuple 的所有元素变成可变参数传入

    关键字参数:不仅传入的参数个数可变,还允许这些参数带参数名;参数传入后变成 dict

    def person(name, age, **kw):    # **kw 即为关键字参数
        print('name:', name, 'age:', age)
        for i in kw:       #传入的关键字参数在函数内变成了 dict
            print(i, kw[i])
    
    person("Sam", 12, rank="1st", gender="m", grade="100")   #可传入任意个数的带参数名的关键字参数 
    
    dic = {"rank":"1st", "gender":"m", "grade":"100"}    
    person("Sam", 12, **dic)     # **dic 可以将整个字典当作关键字参数传入
  • 相关阅读:
    《西北师范大学疫情防控信息系统》
    《西北师范大学学生疫情上报系统》项目报告
    201771010138-邹丰蔚 实验一 软件工程准备-<学习准备>
    201771030111-刘维 实验四 软件项目案例分析
    201771030111-刘维 实验三 结对项目—《西北师范大学疫情防控信息系统》项目报告
    MySql-5.7.29 zip版安装教程
    201771030111-刘维 实验二 个人项目—《西北师范大学学生疫情上报系统》项目报告
    201771030111-刘维 实验一 软件工程准备一<读《现代软件工程-构建之法》有问>
    201771030106-葛佳诚 实验四 软件项目案例分析
    201771030106-葛佳诚 实验三 结对项目—《西北师范大学疫情防控信息系统》项目报告
  • 原文地址:https://www.cnblogs.com/zhuqiwei-blog/p/10400413.html
Copyright © 2011-2022 走看看