变量和常用数据类型

1.变量

定义一个变量储存需要打印的信息:

message="hello,world!"

print(message)

 

变量的命名和使用

变量的命名规则:

变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message。

变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greeting message会引发错误。

不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print。

变量名应既简短又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_persons_name好。

慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。

小练习

1 简单消息: 将一条消息存储到变量中,再将其打印出来。
2 多条简单消息: 将一条消息存储到变量中,将其打印出来;再将变量的值修改为一条新消息,并将其打印出来。

 

2.Python的五个标准数据类型:

  • Numbers(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Dictionary(字典)

     a.数字类型

  • int(有符号整型)
  • long(长整型[也可以代表八进制和十六进制])
  • float(浮点型)
  • complex(复数)

 

intlongfloatcomplex
10 51924361L 0.0 3.14j
100 -0x19323L 15.20 45.j
-786 0122L -21.9 9.322e-36j
080 0xDEFABCECBDAECBFBAEl 32.3e+18 .876j
-0490 535633629843L -90. -.6545+0J
-0x260 -052318172735L -32.54e100 3e+26J
0x69 -4721885298529L 70.2E-12 4.53e-7j

      b.字符串

      示例: m="abcde"

      方法:   m.capitalize()  #首字母大写  输出:'Abcde'

                m.decode()   #按指定格式解码,默认Unicode  输出: u'abcde'

                m.encode()   #按指定格式编码

                m.expandtabs() #把字符串 string中的tab符号转为空格,tab 默认8个空格   m='\tabc\t123',m.expandtabs 输出:'        abc     123'

                m.index(str) #返回str在m中的下标  m.index('b') 输出:1

                m.isdigit()  #判断是否全是数字,是则返回True  输出:False

                m.istitle()   #判断首字母是否大写 输出: False

                m.ljust(width,str)     #返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串  m.ljust(10,'0') 输出:'abcde00000'

                m.rjust(width,str)     #返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串  m.rjust(10,'0') 输出:'00000abcde'

                m.partition(str) #从str出现的第一个位置起,把字符串str分 成 一 个3元素的元组 m.partition('b') 输出:('a', 'b', 'cde')

                m.rpartition(str) #最右侧开始,从str出现的第一个位置起,把字符串str分 成 一 个3元素的元组  m="abcefgdcbac" m.rpartition('b') 输出:('abcefgdc', 'b', 'ac')

                m.reindex(str) #返回子字符串str在字符串中最后出现的位置  m="this is string example" str="is"  m.rindex(str) 输出: 5

                m.splitlines() #按每行切割  m="\n123\nabc\n"   输出: ['', '123', 'abc']

                m.swapcase() #转换m中的大小写  m="AbcDe" 输出:'aBCdE'

                m.upper() #转换m中的小写字母为大写 输出:'ABCDE'

                m.lower() #转换m中的大写字母为小写 m="ABCDE" 输出:'abcde'

                m.center(width,str) #返回一个以str填充,原字符串居中,总长度为width的新字符串  m.center(10,'-') 输出: '--abcde---'

                m.find(str) #检测str是否在 string 中,如果存在则返回最先找到的索引值,否则返回-1

                m.rfind(str) #从最右侧开始查找str,如果存在则返回最先找到的索引值,否则返回-1 m='abcdefgdcb' m.rfind('d') 输出:9

                m.isalnum() #检测字符串是否由字母和数字组成,如果含有其他字符则返回False  m='a b c'  m.isalnum() 输出:False

                m.isalpha() #检测字符串是否由字母和数字组成,如果含有其他字符则返回False  m='a b c' m.isalpha() 输出:False

                m.islower() #判断是否全是小写字母 输出:True

                m.isupper() #判断是否全是大写字母 输出:False

                m.replace(str1,str2,count) #将str1替换成str2,不超过count次,count不输入默认全部替换  m.replace('a','f') 输出: 'fbcde'

                m.startswith(str)  #检查字符串是否是以str开头,是则返回True,否则返回False。 m.startswith('a') 输出: True

                m.endswith(str)  #检查字符串是否是以str结尾,是则返回True,否则返回False。 m.startswith('e') 输出: True

                m.title() #首字母大写  输出: 'Abcde'

                m.zfill(width) #返回长度为width的字符串原字符串str右对齐,前面填充0  输出:'00000abcde'

                m.count(str) #统计str的个数 m.count('a') 输出: 1

                m.format() #格式化输出字符串  '{0}-{1}-{0}'.format('a','b') 输出:'a-b-a'

                m.isspace() #判断m是否是由空格组成 m="   " m.isspace() 输出: True

                str.join(m) #以str作为分隔符,将m中所有的元素合并为一个新的字符串 '-'.join(m) 输出:'a-b-c-d-e'

                m.split(str) #以str为分割, str不输入默认为空格  m.split('b') 输出:['a', 'cde']   

                m.strip() #用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列 m.strip('e') 输出:'abcd'

           字符串的切片

                m='abcde'  #字符串索引值默认从0开始计位

                m[1:]  #从第二个开始往后取  输出:'bcde'

                m[-2:] #从右侧取几个 输出:'de'

                m[:1] #第一个开始取几个 输出:'a'

                m[:-2] #取到索引值为-2 输出:'abc'

                m[1:2] #m[1:] 与m[:2]的交集  输出:'b'

                m[::-1]  #倒序取值 输出:'edcba'

                m[::-2] #步长为2倒序取值  输出:'eca'

                m[2::-1] #倒序从索引值为2的开始取 输出:'cba'

                m[2::1] #从索引值为2的开始取 输出:'cde'

                m[:-2:1] #倒序取 2-1 个 输出: 'e'

                m[-2::-1] #倒序从第2个开始取 输出:'dcba'

                m[:2:-1] #倒序取,取到索引值为2(索引值为2的不取) 输出:'ed'

                m[3:2:-1] #m[3::-1] 与m[:2:-1]的交集 输出:'d'

      c.列表

      示例: list=[1,2,3,4,5]   

      方法: list.append(obj) #在列表末尾添加新的对象 list.append(6)   打印list 输出:[1, 2, 3, 4, 5, 6]

                list.index(obj) #从列表中找出第一次匹配obj的索引位置 list.index(3) 输出:2

                list.remove(obj) #从列表中移除obj  list.remove(6) 打印list 输出: [1, 2, 3, 4, 5]

                list.count(obj) #统计obj的个数 list.count(3) 打印list 输出:1

                list.insert(index,obj) #在列表的index(索引值)之前插入obj  list.insert(1,7)  打印list 输出:[1, 7, 2, 3, 4, 5]

                list.reverse() #将列表进行倒序  list.reverse()  打印list 输出:[5, 4, 3, 2, 1]

                list.extend(list1) #将list1加入到list,生成一个新的列表  list1=[6,7,8] list.extend(list1) 打印list 输出:[1, 2, 3, 4, 5, 6, 7, 8]

                list.pop(index) #移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 list.pop(3) 打印list 输出:[1, 2, 3, 5]

                list.sort(cmp=None,key=None,reverse=False) #对原列表进行排序,reverse=False 升序(默认) list=['d','b','c','a','e']    list.sort()  打印list 输出:['a', 'b', 'c', 'd', 'e']

           列表的复制

                #浅copy

                a=[1,2]  b=a  a.append(3)  打印b  输出:[1, 2, 3]   #错误方法

                a=[1,2]  b=a[:]  a.append(3)  打印b  输出:[1, 2]    #正确方法,适用于简单列表,如果列表元素中还存在列表,此方法不适用

                #深copy     

                a=[1,[2]]  b=a[:]  a[1].append(3)  打印b 输出:[1, [2, 3]]  #错误方法

                a=[1,[2]]  b=copy.deepcopy(a)  a[1].append(3)  打印b 输出:[1, [2]]   #正确方法     

       d.元组  #元组对象不可修改(更新,增加,删除元素)

       示例:t=(1,2,3,4,5)

       方法:t.count(obj)  #统计元素个数

                t.index(obj)  #从列表中找出第一次匹配元素的索引位置

       e.字典

       示例:dic={"key1":"value1","key2":"value2"}

       方法:dic.clear() #清空字典中的元素 

                dic.get(keyname) #获取字典中key对应的值  dic.get("key1") 输出:'value1'

                dic.items() #返回由字典所有键值对构成的列表 输出:[('key2', 'value2'), ('key1', 'value1')]

                dic.keys() #返回由字典所有键构成的列表 输出:['key2', 'key1']

                dic.values() #返回由字典所有值构成的列表 输出:['value2', 'value1']

                dic.setdefault(keyname,default=None) #如果键不存在字典中,将会添加键并将值设为默认值   dic.setdefault('key3','value3') 打印dic 输出:{'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}

                dic.viewitems() #返回字典dic的元素视图 输出:dict_items([('key2', 'value2'), ('key1', 'value1')])

                dic.copy() #返回字典dic的浅拷贝 #同列表的复制

                dic.pop() #如果key在字典dic中,则返回并删除dic[key]  dic.pop('key1')  打印dic 输出:{'key2': 'value2'}

                dic.update(dic1) #把字典dic1的键/值对更新到dic中 dic1={'key3':'value3'}    dic.update(dic1)   打印dic 输出:{'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}

                dic.fromkeys(seq[, value]) #用序列seq中的元素作为键,值全为value(未指定,则默认为None)

                dic.popitem() #返回并删除字典dic中的任意一个元素(如果dic为空,则抛出KeyError异常)dic.popitem()  输出:('key2', 'value2')  打印 dic  输出:{'key1': 'value1'}

posted @ 2018-08-09 09:34  imcati  阅读(259)  评论(0编辑  收藏  举报