• Python之路---day2


    一: 作用域

    对于变量的作用域,只要内存中存在,该变量就可以使用。

    二:三元运算

    name = 值1 if 条件 else 值2

    如果条件为真:result = 值1

    如果条件为假:result = 值2

    方式一:

    name = 'ccc'
    if 
    1==1:
        name = 'sb'
    else
    :
        name = 'sb'
    方式二:
    name = 'sb' if 1==else '2b'

    实例:

    name = raw_input('your name: ')
    reslut = 'sb' if name == 'alex' else 'nice'

    print reslut

    三:进制

     

    python的一切事物都是对象。对象是基于类创建的。

    查看list这个类有哪些方法

    dir(类型名)

    help(类型名)

    把详细的内容显示出来

    help(类型名.功能名)

    通过type()查看对象的类型

    实例:

    print dir(list)

    print help(list)

    print help(list.append)

    类中的方法分为带下划线和不带下划线的。

    带下划线的是内置方法,可能有多种执行方法;

    不带下划线的是非内置方法,只有一种执行方法;对象.方法

    对于上面那句话的理解

    一:数字

    i = 10
    i1 = int(10)
    i2 = int("10",2)

    后面的数字表示进制,前面的是进制下对应的值

    下面是int中的部分方法

     1 #比较大小
     2 
     3 age = 18
     4 print age.__cmp__(19)
     5 print age.__cmp__(18)
     6 print age.__cmp__(17)
     7 print cmp(18,19)
     8 #取绝对值
     9 a = -9
    10 print a.__abs__()
    11 #相加
    12 b = 9
    13 print b.__add__(8)
    14 #强制生成一个元组
    15 c = 7
    16 print c.__coerce__(6)
    17 #取商和余数,计算分页使用
    18 d = 98
    19 print d.__divmod__(10)
    20 #取商
    21 e = 9
    22 print e.__div__(3)
    23 #转换为浮点类型
    24 f = 7
    25 f1 = f.__float__() 
    26 
    27 print type(f1)
    28 
    29 #哈希值用于在字典中快速找到他的键

    二:字符串(str)

     1 str_1 = "alex"
     2 str_2 = str("alex")
     3 #首字母变大写
     4 
     5 print str_2.capitalize()
     6 
     7 #将内容显示在中间;总长度是20;以*填充
     8 
     9 print str_2.center(20)
    10 print str_2.center(20,"*")
    11 #子序列个数;d的个数;从0-10的位置找
    12 name = "dfghjdfghjdfghdfghdfg"
    13 print name.count('d')
    14 print name.count('d',0,10) 

    ###############################################################

    编码的转化  gbk==>unicode==>utf-8

    encode:编码

    decode:解码  

     1 >>> '我靠' 
     2 
     3 'xcexd2xbfxbf'
     4 >>> str1 = 'xcexd2xbfxbf'
     5 >>> print str1
     6 我靠
     7 >>> str1.decode('gbk')
     8 u'u6211u9760'
     9 >>> str1.decode('gbk').encode('utf-8')
    10 'xe6x88x91xe9x9dxa0'
    11 >>> print str1.decode('gbk').encode('utf-8') 
    12 
    13 鎴戦潬 

    编码解释

    ###############################################################

     1 #以什么结尾;是在返回true
     2 str_1 = "alex"
     3 print  str_1.endswith('x')
     4 #将tab转换成空格,默认一个tab转换成8个空格;转换成1个
     5 name = 'ale     x'
     6 print name.expandtabs()
     7 print name.expandtabs(1)
     8 #寻找子序列的位置;-1表示没有找到
     9 print str_1.find('e')
    10 print str_1.find('le')
    11 print str_1.find('s')
    12 #找到第一个
    13 str2 = "alexa"
    14 print str2.find('a')
    15 #字符串格式化
    16 ##按照下标(有序的)
    17 name = "i am {0},age {1}"
    18 print name.format("cgt",24)
    19 ##使用列表的方式
    20 name_list = ["cgt",24]
    21 print name.format(*name_list)
    22 ##按照名称(无序的)
    23 name = "i am {aa},age {bb}"
    24 print name.format(aa="cgt",bb=24)
    25 print name.format(bb=24,aa="cgt")
    26 ##使用字典的方式
    27 name_dict = {'aa':'cgt','bb':24}
    28 print name.format(**name_dict)
    29 #使用index来查找;找不到就报错,而find是返回-1
    30 name = "alex"
    31 print name.index('a')
    32 #是否是数字和字母
    33 print name.isalnum()
    34 #是否是字母
    35 print name.isalpha()
    36 #是否是数字
    37 print name.isalnum()
    38 #是否是小写
    39 print name.islower()
    40 #是否是空格
    41 print name.isspace()
    42 #是不是标题istitle(标题的格式就是单词的首字母大写)
    43 print name.istitle()
    44 #设置为标题的格式title
    45 print name.title()
    46 #是不是大写isupper
    47 print name.isupper()
    48 #连接join
    49 print '__'.join(name)
    50 #内容左对齐ljust(宽度,填充)
    51 print name.ljust(20,'*')
    52 #内容右对齐rjust(宽度,填充)
    53 print name.ljust(20,'&')
    54 #变成小写lower
    55 print name.lower()
    56 #变成大写upper
    57 print name.upper()
    58 #大小写交换swapcase
    59 name = "AleX"
    60 print name.swapcase()
    61 #移除左边的空白lstrip
    62 print name.lstrip()
    63 #分隔partition(前,中,后)
    64 name = "hello cgt"
    65 print name.partition("ll")
    66 #替换replace(old,new)
    67 name = 'alex'
    68 print name.replace('a','b')
    69 #从右边开始找rfind
    70 print name.rfind('e')
    71 #以什么开始
    72 print name.startswith('a') 

    三:列表(list)

     1 #定义一个列表
     2 
     3 li = [11,22,33,11]
     4 #append添加
     5 print li.append(12)
     6 #count出现的次数
     7 print li.count(11)
     8 #extend扩展
     9 print li.extend(['ccc','ggg'])
    10 #index返回第一个匹配的值的下标,不存在,报错
    11 
    12 print li.index(11) 
    13 
    14 #insert插入,在指定位置插入(位置,内容)
    15 
    16 li.insert(4,'aa') 
    17 
    18 #pop删除并返回指定下标的值,如果没有指定在返回最后一个的值
    19 li = [11,22,33,11,'alex']
    20 name = li.pop(11)
    21 name2 = li.pop()
    22 #remove移除;指定值,不是指定下标。只删除第一个的值
    23 
    24 li.remove(11) 
    25 
    26 #reverse反转列表
    27 
    28 li.reverse() 
    29 
    30 #sort排序
    31 
    32 li.sort() 

    四:元组

    元组的元素不能被修改,但是元组的元素的元素是可以修改的

    count

    index

    五:字典

    #判断元素的类型是不是某种类型

    #例子

    #type(name) is list  

     1 dic = {'k1':'aa','k2':'bb','k3':'cc'}
     2 #清除内容
     3 #a = dic.clear()
     4 #print  a
     5 #根据key获取值
     6 print dic['k1']
     7 print dic.get('k1')
     8 #如果key值不存在,不使用get的方式会报错;使用get的方式,可以实现设置默认的值,如果这个key存在,则不打印默认值
     9 #print dic['k4']
    10 print dic.get('k4','ok')
    11 #判断是否有key
    12 print dic.has_key('k5')
    13 #所有项的列表形式
    14 print dic.items()
    15 #所有key的列表
    16 print dic.keys()
    17 ##判断是否有key
    18 for k in dic:
    19     print k,dic[k]
    20 #获取显示出来并在字典中移除
    21 '''
    22 print dic.pop('k1')          #指定key删除
    23 print dic.popitem()          #随机的删除
    24 
    25 '''
    26 
    27 dic = {'k1':'aa','k2':'bb','k3':'cc'}
    28 #清除内容
    29 #a = dic.clear()
    30 #print  a
    31 #根据key获取值
    32 print dic['k1']
    33 print dic.get('k1')
    34 #如果key值不存在,不使用get的方式会报错;使用get的方式,可以实现设置默认的值,如果这个key存在,则不打印默认值
    35 #print dic['k4']
    36 print dic.get('k4','ok')
    37 #判断是否有key
    38 print dic.has_key('k5')
    39 #所有项的列表形式
    40 print dic.items()
    41 #所有key的列表
    42 print dic.keys()
    43 ##判断是否有key
    44 for k in dic:
    45     print k,dic[k]
    46 #获取显示出来并在字典中移除
    47 '''
    48 print dic.pop('k1')          #指定key删除
    49 print dic.popitem()          #随机的删除
    50 
    51 '''
    52 
    53 #copy:浅拷贝和深拷贝、别名的区别
    54 
    55 >>> dic
    56 {'k3': 'cc', 'k2': 'bb', 'k1': 'aa'}
    57 >>> copy_dic = dic.copy()
    58 >>> copy_dic
    59 {'k3': 'cc', 'k2': 'bb', 'k1': 'aa'}
    60 >>> second_dic = dic
    61 >>> second_dic
    62 {'k3': 'cc', 'k2': 'bb', 'k1': 'aa'}
    63 >>> dic
    64 {'k3': 'cc', 'k2': 'bb', 'k1': 'aa'}
    65 >>> second_dic
    66 {'k3': 'cc', 'k2': 'bb', 'k1': 'aa'}
    67 >>> copy_dic       
    68 {'k3': 'cc', 'k2': 'bb', 'k1': 'aa'}
    69 >>> dic['k4']='dd'
    70 >>> dic
    71 {'k3': 'cc', 'k2': 'bb', 'k1': 'aa', 'k4': 'dd'}
    72 >>> second_dic   
    73 {'k3': 'cc', 'k2': 'bb', 'k1': 'aa', 'k4': 'dd'}
    74 >>> copy_dic      
    75 
    76 {'k3': 'cc', 'k2': 'bb', 'k1': 'aa'} 

    六:集合(是一个无序且不重复的元素集合)  

     1 >>> a = range(5,10)
     2 >>> b = range(7,12)
     3 >>> a
     4 [5, 6, 7, 8, 9]
     5 >>> b 
     6 
     7 [7, 8, 9, 10, 11] 
     8 
     9 #将a列表set成集合
    10 
    11 >>> c = set(a)
    12 >>> c 
    13 
    14 set([8, 9, 5, 6, 7]) 
    15 
    16 #在a列表追加一个 6,重新set后只显示一个6 
    17 
    18 >>> a.append(6)
    19 >>> a
    20 [5, 6, 7, 8, 9, 6]
    21 >>> c = set(a)
    22 >>> c
    23 set([8, 9, 5, 6, 7])
    24 >>> d = set(b)
    25 >>> c,d 
    26 
    27 (set([8, 9, 5, 6, 7]), set([8, 9, 10, 11, 7])) 
    28 
    29 #取交集
    30 
    31 >>> c & d 
    32 
    33 set([8, 9, 7]) 
    34 
    35 #取合集
    36 
    37 >>> c | d 
    38 
    39 set([5, 6, 7, 8, 9, 10, 11]) 
    40 
    41 #取交集的补集
    42 
    43 >>> c ^ d 
    44 
    45 set([5, 6, 10, 11]) 
    46 
    47 #取差集
    48 
    49 >>> c - d 
    50 
    51 set([5, 6]) 
    52 
    53 #是否是子集
    54 
    55 >>> e = set([8,9])
    56 >>> e
    57 set([8, 9])
    58 >>> e.issubset(d) 
    59 
    60 True 
    61 
    62 #是否是父集
    63 
    64 >>> e.issuperset(d)
    65 False
    66 >>> e
    67 set([8, 9])
    68 >>> e.pop()
    69 8
    70 >>> e
    71 set([9])
    72 >>> d
    73 set([8, 9, 10, 11, 7])
    74 >>> d.remove(9)
    75 >>> d
    76 set([8, 10, 11, 7])
    77 >>> e
    78 set([9])
    79 >>> d
    80 set([8, 10, 11, 7])
    81 >>> d.update(e)
    82 >>> d 
    83 
    84 set([7, 8, 9, 10, 11]) 

    七:时间

    有三种形式:时间戳、格式化  

     1 import  time 
     2 print time.time()
     3 #以时间戳的形式存在
     4 #1445324355.64
     5 print time.gmtime()
     6 #time.struct_time(tm_year=2015, tm_mon=10, tm_mday=20, tm_hour=6, tm_min=59, tm_sec=15, tm_wday=1, tm_yday=293, tm_isdst=0)
     7 print time.strftime('%Y-%m-%d %H:%M:%S')
     8 #自定义格式
     9 
    10 #2015-10-20 15:00:52
    11 
    12 print time.strptime('2014-11-11', '%Y-%m-%d')
    13 #将格式化的时间转成一个结构化的时间
    14 
    15 #time.struct_time(tm_year=2014, tm_mon=11, tm_mday=11, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=315, tm_isdst=-1)
    16 
    17 print time.localtime()
    18 #是一个结构化的时间

     

    作者:曹小贱
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
    Serverless 实战 —— Funcraft + OSS + ROS 进行 CI/CD
    急速搭建 Serverless AI 应用:为你写诗
    O'Reilly 1500 份问卷调研:2019 年 Serverless 落地到底香不香?
    2019 阿里巴巴云原生这一年
    快速部署 Spring PetClinic 到函数计算平台
    1354. Construct Target Array With Multiple Sums
    1352. Product of the Last K Numbers
    1351. Count Negative Numbers in a Sorted Matrix
    1347. Minimum Number of Steps to Make Two Strings Anagram
  • 原文地址:https://www.cnblogs.com/caoxiaojian/p/4935343.html
Copyright © 2020-2023  润新知