zoukankan      html  css  js  c++  java
  • Python3 学习基础知识

    python是动态语言(对象属性可以动态改变,删除添加..),不是强类型语言,所以和java,c/c++等强类型静态语言有不一样地方需要注意。

    一:基本数据类型

    变量

    counter = 1   # 整型变量
    miles = 1.0  # 浮点型
    name = "John,h"   # 字符串
    str = 'Hello World!' #字符串(支持双引号,也可使用单引号)

    counter=’111‘ #此时counter为string类型

    从例子可以看出,python使用变量可以直接赋值使用,不需要先声明类型,在使用,同时一个变量可以指向多种类型数据,即变量在使用中在确定。

    (pytthon中变量可以看作一个引用,没有类型概念。类型只是针对对象而言,变量只是对象的引用而已)

    布尔类型:True、False两种值
    逻辑符: and、or和not
    空值:None是一个特殊的空值

     常量
    在Python中,通常用全部大写的变量名表示常量
    但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法

    字符串格式化:

    s1 = 'Hello {}! I am is {}.'.format('World', 'Python')
    s2 = 'Hello {name1}! I am is {name2}.'.format(name1='World', name2='Python')
    
    str = ("My name is %s and age is %d !" % ('Tom', 18))
    

    运算符
    a = 2,b = 3
    c = a**b //2的3次方幂运算

    /除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数
    10/5 ->2.0

    //表示整除运算
    a = 10,b = 5
    c = a//b

    对象类型

    list
    list数据类型是列表:是一种有序集合,可动态add,delete,motify其中的元素

    tinylist = ['123', 'john','lll','poi']
    tinylist.append('haha')
    tinylist.insert(2,'cba')
    tinylist.remove('john')
    tinylist.pop(1) # 删除索引为1位置元素
    tinylist.pop() # 删除list末尾的元素
    len(tinylist) #计算元素个数,len()函数可以由于任何对象
    



    tuple
    元组:tuple和list非常类似,但是tuple一旦初始化就不能修改,在定义的时候,tuple的元素就必须被确定下来
    tu=(1, 2,3,4,5,6)
    注意,tt=(1)不表示元组,因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义
    只有1个元素的tuple定义时必须加一个逗号,,来消除歧义,例:tt = (1,)

    dict
    字典:dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储
    如果key不存在,dict就会报错 KeyError: 'xxx'

    tinydict = {'name': 'john', 'code': 6734, 'dept': 'sales'}
    
    print(dict['one'])  # 输出键为'one' 的值
    print(dict[2])  # 输出键为 2 的值
    print(tinydict)  # 输出完整的字典
    print(tinydict.keys())  # 输出所有键
    print(tinydict.values())  # 输出所有值
    print([value for value in tinydict.values()])
    for k, v in tinydict.items(): # 同时迭代key和value
        print('key='+k+'value='+v)
    

     
    tinydict.get('1')
    tinydict.get('1',-1)

    set
    set和dict类似,也是一组key的集合,但不存储value
    s = set([1, 2, 3])

    条件判断

    num = 3
    if num >= 10:
        print('more than 2 bit num')
    else:
        print('1 bit num')
        
    num = 3
    if num >= 100:
        print('3 bit num')
    elif num >= 10:
        print('2 bit num')
    else:
        print('1 bit num')
    

    # 循环
    for letter in 'Python':  #遍历字符串内每个字符
        print ('current letter :'+letter)

    fruits = ['banana', 'apple', 'mango']
    for fruit in fruits:  # 通过直接取值输出
        print ('fruit name :'+fruit)


    for index in range(len(fruits)):#通过遍历索引输出
        print ('fruit name :'+ fruits[index])

    数据集(一定范围内的数值)
    通过range()生产数据集

    for num in range(10,50): 
       for i in range(2,num):
          if num % i == 0:      
             j = num / i         
             print ('%d = %d * %d' % (num,i,j))
             break            
       else:                  
          print(num+'是一个质数')
    

    切片[]应用

    1,用于string
    str = 'Hello World!'
    print(str[0])    # 输出字符串中的第一个字符
    print(str[2:5])  # 输出字符串中第三个至第五个之间的字符串
    print(str[2:])   # 输出从第三个字符开始的字符串

    2,用于list
    lst = ['hello', 88, 2.23, True, 10]
    lst[1:3]  # 取出第二个至第三个的元素
    lst[2:]  # 取出从第三个开始至列表末尾
    lst[-2:]  #倒数第二个,后2个元素
    lst[::5]  #每隔5个元素取一个,正序
    lst[::-2] #倒序每隔2个元素取出一个

    列表生成式:    
     
    # 筛选出仅偶数的平方
    [x * x for x in range(1, 11) if x % 2 == 0]
    # 输出[4, 16, 36, 64, 100]

    # 两层循环,生成全排列
    [m + n for m in 'ABC' for n in 'XYZ']
    # ['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']

     
  • 相关阅读:
    离线语音
    云知声语音开发
    自定义View -- 柱状图 我也来自定义个柱状图来玩玩
    android studio中如何替换gradle以防下载卡住
    如何查询当前手机的cpu架构,so库导入工程又出异常了?
    android 学习mvc 和 mvp 和 mvvm参考项目
    【整理】Android中EditText中的InputType类型含义与如何定义( 转 )
    Android点击EditText文本框之外任何地方隐藏键盘的解决办法
    Android开发 adb命令提示:Permission denied (转)
    Node.js-串行化流程控制
  • 原文地址:https://www.cnblogs.com/happyxiaoyu02/p/6820851.html
Copyright © 2011-2022 走看看