zoukankan      html  css  js  c++  java
  • python基础学习笔记(一)

    最好有点c++基础来看,,每天都更新一篇吧

    这一篇是一些基础东西

    1.运算符
    2.变量
    3.基本输入输出
    4.字符串
    5.列表
    6.元组
    7.字典
    8.集合
    9.简单的说下循环啥的

    1.运算符

    特别的

    a / b:为浮点数,a // b 为整数,丢弃小数部分 a**b 为a的b次方

    还有 c // = a,c ** = a;

    python 中没有 &&, ||, !

    分别为 如 if(a and b)   ,if(a or b)   if( not a),  

    and  ,or , not来代替

    其中还有  in    和  not  in

    可以在字符串,列表或元组序列中使用  直接查找是否存在

    还有is   和  is not  顾名思义

    2.变量

    不必声明变量类型   直接  比如  x = 3即可

    改变的时候也可以直接转换

    x = 'a'
    y = 'b'
    print(x)
    print(y)
    x = 1
    y = 2
    print(x)
    print(y)

    3.基本输入输出

    输入用input  

    x = input("x:")
    y = input("y:")
    #print(x * y)  则错误  ,因为输入的内容是以字符串的形式返回的,应该转换成int型
    print(int(x) * int(y))

    输入不区别单引号和双引号

    print('hello runoob') # 使用反斜杠()+n转义特殊字符
    print(r'hello runoob') # 在字符串前面添加一个 r,表示原始字符串,不会发生转义"""

    或者  写成  \n  其中  \ 表示   

    # 换行输出
    print( x )
    print( y )
    
    print('---------')
    # 不换行输出
    print( x, end=" " )#表示末尾为空格
    print( y, end=" " )
    print()'''

    print用,连接字符串和变量

    x = "aaaa"
    print("x:" ,x)

    4.字符串

    str = "wangpeibing"
    print(str)
    print(str[0:-1])
    print(str[0])
    print(str[2:5])#截取
    print(str[2:])#第二个字符到最后
    print(str*2)#输出两次
    print(str+"你好")#连接

    可以有查找

    if("wang" in str):
        print(1)

    字符串的格式化:就是类似于c语言的表达形式

    print("My name is %s and weight is %d kg!" % ('peibing', 21) )

     5.列表

    类似c语言数组,有下标。特征是中括号,也有切片,,类似字符串

    a = [1,2,3]
    b = [4 ,5 ,6]
    print(a + b)#连接
    print(len(a))#长度
    print(a*4)
    del a[0]#删除第一个元素
    print(a[-1])#倒数第一个 print(3 in a) for i in a :#循环迭代输出 print(i)

    还可以嵌套

    c = [a,b]  #嵌套  类似于二维数组
    print(c)
    print(c[1][0])

    一些常用方法

    max(a)#列表最大值
    min(a)#列表最小值
    list.append(1)#a的末尾添加1
    list.count(1)#a中统计出现1次数
    list.index(1)#从列表中找出某个值第一个匹配项的索引位置
    list.insert(下标,obj)#将对象插入列表,obj自己定义
    list.pop([index=-1]])#移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
    list.remove(obj)#移除列表中某个值的第一个匹配项
    list.reverse()#反向列表中元素
    list.clear()#清空列表
    list.copy()#复制列表

    sort,sort 方法不适合 int 和 str 类型的比较。

    #list.sort(cmp=None, key=None, reverse=False)#对原列表进行排序
    #reverse = True 降序, reverse = False 升序(默认)
    # 获取列表的第二个元素
    def takeSecond(elem):#函数
        return elem[1]
    # 列表
    random = [(2, 2), (3, 4), (4, 1), (1, 3)]
    # 指定第二个元素排序
    random.sort(key=takeSecond)
    # 输出类别
    print('排序列表:', random)
    list=[ ["1","c++","demo"],  
               ["1","c","test"],  
               ["2","java",""],  
               ["8","golang","google"],  
               ["4","python","gil"],  
               ["5","swift","apple"]  
        ]  
    list.sort(key=lambda ele:ele[0])# 根据第1个元素排序
    print(list)
    list.sort(key=lambda ele:ele[1]) #先根据第2个元素排序
    print(list)
    list.sort(key=lambda ele:ele[1]+ele[0]) #先根据第2个元素排序,再根据第1个元素排序
    print(list)

    6.元组

    元组和列表差不多 特点是不能修改,小括号啊

    只有一个元素要加,

    >>>tup1 = (50)
    >>> type(tup1)     # 不加逗号,类型为整型
    <class 'int'>
     
    >>> tup1 = (50,)
    >>> type(tup1)     # 加上逗号,类型为元组
    <class 'tuple'>

    删除的话要么全部删除,要不就不能删

    其他的方法都和列表 差不多

    list(元组)  将元组转化成列表    tuple(列表)  将列表转化成元组

    7.字典

    理解为c++中的map。特点是大括号,每一个键都对应这键值

    dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
     
    print ("dict['Name']: ", dict['Name'])
    print ("dict['Age']: ", dict['Age'])
    dict['Name'] = 'peibing' #修改相应的键值
    del dict['Name'] # 删除键 'Name' 
    dict.clear() # 清空字典 
    del dict # 删除字典

    注意  键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行,

    一些方法

    求长度 len(dict)   为3

    显示 str(dict)

    判断类型type(dict)

    8.集合

    和c++的set差不多,主要是去重

    可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

    a = {'abracadabra'}#这时候set里面有一个字符串的值
    print (type(a))
    print(a)
    a = set('abracadabra')#这时候给他规定为这个set里依次存放了这个字符串的字符
    print (type(a))
    print(a)
    >>> a = set('abracadabra')
    >>> b = set('alacazam')
    >>> a                                  
    {'a', 'r', 'b', 'c', 'd'}
    >>> a - b                              # 集合a中包含元素
    {'r', 'd', 'b'}
    >>> a | b                              # 集合a或b中包含的所有元素
    {'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
    >>> a & b                              # 集合a和b中都包含了的元素
    {'a', 'c'}
    >>> a ^ b                              # 不同时包含于a和b的元素
    {'r', 'd', 'b', 'm', 'z', 'l'}
    >>>thisset = set(("Google", "Runoob", "Taobao", "Facebook"))
    >>> thisset.pop()
    'Facebook'
    >>> print(thisset)
    {'Google', 'Taobao', 'Runoob'}

    9.简单的说下循环啥的

    有while 和for两个,基本用法都和c差不多,包括break和continue,先看while

    i = 1
    while i < 10:   
        i += 1
        if i%2 > 0:    
            continue
        print i        
     
    i = 1
    while 1:            # 循环条件为1必定成立
        print i         # 输出1~10
        i += 1
        if i > 10:     # 当i大于10时跳出循环
            break

    有c++基础的应该不难看懂,注意这个没有大括号,是通过缩进和一些  :  来判别的

    接下来是for循环

    可以是

    fruits = ['banana', 'apple',  'mango']
    for fruit in fruits:        # 第二个实例
       print (当前水果 :', fruit)

    也可以是

    fruits = ['banana', 'apple',  'mango']
    for index in range(len(fruits)):
       print ('当前水果 :', fruits[index])

     range返回一个序列的数。

    for num in range(10,20):  # 迭代 10 到 20 之间的数字
       for i in range(2,num): # 根据因子迭代
          if num%i == 0:      # 确定第一个因子
             j=num/i          # 计算第二个因子
             print ('%d 等于 %d * %d' % (num,i,j))
             break            # 跳出当前循环
       else:                  # 循环的 else 部分
          print (num, '是一个质数')

    else if 在python中写成elif

  • 相关阅读:
    我的2007, 兼谈些对技术的看法
    回帖整理: 关于"学习Java社区"更清晰的思路
    回帖整理: 创业心态
    我的世界观 by 爱因斯坦
    回帖整理: 论团队中的设计工作
    请大家帮我一个忙
    回帖整理: Java社区有什么可学的?
    SSL原理及应用(1)SSL协议体系结构
    文件和目录的访问控制(4) 审核规则
    强名称(2)引用强名称签名的程序集
  • 原文地址:https://www.cnblogs.com/wpbing/p/9795233.html
Copyright © 2011-2022 走看看