mg4377娱乐娱城官网_mg4377娱乐手机版_www.mg4377.com

【mg4377娱乐手机版】python 基础,python

时间:2019-08-30 23:37来源:mg4377娱乐手机版
python 基础,python python基础一,python基础 有关内部存款和储蓄器分配难点 1 ##字符串新定义则开辟新的一块内存空间 2 str1 = 'hoho' 3 str2 = str1 4 id(str1),id(str2) #查看内存对象地址,观察内存

python 基础,python

python基础一,python基础

有关内部存款和储蓄器分配难点

 1 ##字符串新定义则开辟新的一块内存空间
 2 >>> str1 = 'hoho'
 3 >>> str2 = str1
 4 >>> id(str1),id(str2) #查看内存对象地址,观察内存地址,即str2新开辟了内存空间
 5 (140297199501752, 140297199501752) #这里看到是一样的是由于python的一个内部机制导致的,如果字符串足够大的话就会是不一样的,不用纠结
 6 >>> str2 = 'heihei'
 7 >>> str1
 8 'hoho'
 9 >>> str2
10 'heihei'
11 >>> id(str1),id(str2) #看,内存地址是不是变了
12 (140297199501752, 140297214622552) 
13 
14 ##非字符器,如列表,元组,字典赋值定义后其实只是把新的变量名(可以理解为标签)指向同一内存地址,以字典为例,如下所示
15 >>> dic1 = {'name':'hoho'}
16 >>> dic2 = dic1
17 >>> id(dic1),id(dic2)
18 (140297199190088, 140297199190088)
19 >>> dic1 = {'name':'hoho'}
20 >>> dic2 = dic1
21 >>> id(dic1),id(dic2) #查看内存对象地址,发现是一样的,故修改dic2事实上dic1也跟着修改了
22 (140297199191752, 140297199191752)
23 >>> dic2['name'] = 'heihei'
24 >>> dic2
25 {'name': 'heihei'}
26 >>> dic1
27 {'name': 'heihei'}

 

列表,元组及字典的复制难点(浅复制与深复制 copy模块的行使)

1、列表及元组可选拔切成丝达成浅复制,也可应用 copy模块使用浅复制(包罗字典)

2、使用copy.deepcopy() 实例深复制

 1 >>> import copy
 2 >>> list1 = [1,2]
 3 >>> list2 = list1
 4 >>> list2[0] = 2 #list2改了,list1跟着变了
 5 >>> list1
 6 [2, 2]
 7 >>> list3 = list1[:] #浅复杂,利用数组切片做浅复制
 8 >>> list3 = copy.copy(list1)
 9 >>> id(list1),id(list2),id(list3) #这里就可看到地址空间是不一样的
10 (140297199250696, 140297199250696, 140297199247560)
11 >>> 
12 >>> list4 = [1,[2]] ##复杂结构必须用深复制
13 >>> list5 = list4[:]
14 >>> list5
15 [1, [2]]
16 >>> list5[1][0] = 6
17 >>> list4
18 [1, [6]]     #从这里可以看到内层的列表事实是没复制的,list4也跟着变了
19 >>> list6 = copy.deepcopy(list4) #这里使用深复制
20 >>> list6[1][0] = 8
21 >>> list6
22 [1, [8]]
23 >>> list4
24 [1, [6]] #这里就可以看出已经复制的了

 

常用内置函数

python内置函数是足够多的,记住常用的就行了,但会驾驭怎么查看有哪些内置函数,函数的增派

健康状态下分3步走

整形

mg4377娱乐手机版 11 >>> s,y = divmod(7,3) ## divmod 再次回到数据,值为(商,余数),可用以分页 2 >>> s,y 3 (2, 1) 4 >>> a = -2 5 >>> abs(-2) #abs取相对值 6 2 7 >>> len(str(-2)) #取速度长度 8 2 View Code

浮点

mg4377娱乐手机版 21 >>> a = 7.0 2 >>> divmod(a,3) 3 (2.0, 1.0) 4 >>> a = 7.235 5 >>> a.__round__(2) #四舍五入 6 7.24 7 >>> a.__trunc__() #取整 8 7 View Code

字符串

mg4377娱乐手机版 3 1 >>> str1 = 'this is a string' 2 >>> 'is' in str1 #分子判定 3 True 4 >>> str1[1:3] # 切块操作与索引 5 'hi' 6 >>> len(str1) #长度 7 16 8 >>> str1.find('is') #找出字符串,重临索引值 9 2 10 >>> str1.find('is',3,9) 11 5 12 >>> str1.find('iss') #从没找到重回-1 ,如是index则会报错 13 -1 14 >>> str1.index('is',3) 15 5 16 >>> str1.index('iss') 17 Traceback (most recent call last): 18 File "<stdin>", line 1, in <module> 19 ValueError: substring not found 20 >>> str1 = ' aaa' 21 >>> str1.strip() 去空白,换行,回车 22 'aaa' 23 >>> str1.lstrip() 24 'aaa' 25 >>> str1.rstrip() 26 ' aaa' 27 >>> str1 = 'duiqi'   #对齐操作 28 >>> str1.ljust(20) 29 'duiqi ' 30 >>> str1.ljust(20,'*') 31 'duiqi***************' 32 >>> str1.rjust(20,'*') 33 '***************duiqi' 34 >>> str1.center(20,'*') 35 '*******duiqi********' 36 >>> str1 = 'this is a string' 37 >>> str1.split()  ##分开操作 38 ['this', 'is', 'a', 'string'] 39 >>> str1.splitlines() 40 ['this is a string'] 41 >>> list1 = [1,2,3] 42 >>> '->'.join([str(i) for i in list1]) #连日操作 43 '1->2->3' 44 >>> str1 45 'this is a string' 46 >>> str1.count('is') #计数 47 2 48 >>> str1.replace('is','os') #替换 49 'thos os a string' 50 >>> str1.replace('is','os',1) #替换,只替换1个 51 'thos is a string' 52 53 str1.startswith('sub') #以什么起始 54 str1.endswith('sub') #以怎么着结尾 55 str1.lower() #转为小写 56 str1.upper() #转为大写 View Code

列表与元组(元组不可修改)

mg4377娱乐手机版 4 1 >>> lst1 = ['a'] 2 >>> lst1.append('b') #新增 3 >>> lst1 4 ['a', 'b'] 5 >>> lst2 = ['c','d'] 6 >>> lst1.extend(lst2) #恢宏新扩展 7 >>> lst1 8 ['a', 'b', 'c', 'd'] 9 >>> lst1.insert(0,'z') #插入 10 >>> lst1 11 ['z', 'a', 'b', 'c', 'd'] 12 >>> lst1.pop() #去除末尾 13 'd' 14 >>> lst1 15 ['z', 'a', 'b', 'c'] 16 >>> lst1.remove('z') #删除钦点元素 17 >>> lst1 18 ['a', 'b', 'c'] 19 >>> lst1 = ['a', 'b', 'c', 'd'] 20 >>> lst2 = lst1.copy() # 浅复制 python3才有 21 >>> lst2 = lst1.copy() 22 >>> lst2 23 ['a', 'b', 'c', 'd'] 24 >>> lst2.clear() #清空驶列车表 25 >>> lst2 26 [] 27 >>> del lst2 #删除列表 28 >>> lst1 29 ['d', 'c', 'b', 'a'] 30 >>> lst1.sort() #排序 31 >>> lst1 32 ['a', 'b', 'c', 'd'] 33 >>> lst1.append('a') 34 >>> lst1.count('a') #计数 35 2 36 >>> lst1 37 ['a', 'b', 'c', 'd', 'a'] 38 >>> len(lst1) #长度 39 5 40 >>> lst1.index('a') #索引 41 0 42 >>> lst1.index('a',1) #索引 43 4 View Code

字典

mg4377娱乐手机版 5 1 >>> dic1 = {'key1' : 'a','key2' : 'b'} 2 >>> dic1.get('key1') #取字典值,没取到暗许再次来到None,也可内定 3 'a' 4 >>> dic1.get('key3') 5 >>> dic1.items() 6 dict_items([('key2', 'b'), ('key1', 'a')]) #回来元组列表 7 >>> list(dic1.items()) 8 [('key2', 'b'), ('key1', 'a')] 9 >>> dic1.keys() #返回keys列表 10 dict_keys(['key2', 'key1']) 11 >>> dic1.values()       #回来值列表 12 dict_values(['b', 'a']) 13 >>> dic2 = dic1.copy() #浅复制 14 >>> dic2 15 {'key2': 'b', 'key1': 'a'} 16 >>> dic1['key3'] = 'c' #赋值(修改) 17 >>> dic1 18 {'key2': 'b', 'key1': 'a', 'key3': 'c'} 19 >>> dic1.pop('key1') #除去钦赐的key 20 'a' 21 >>> dic1 22 {'key2': 'b', 'key3': 'c'} 23 >>> dic1.get('key1','a') #取值,未有再次回到'a' 24 'a' 25 >>> dic1 26 {'key2': 'b', 'key3': 'c'} 27 >>> dic1.setdefault('key1','a') #设置暗中同意(貌似没什么用) 28 'a' 29 >>> dic1 30 {'key2': 'b', 'key1': 'a', 'key3': 'c'} 31 >>> dic3 = {'name':'update'} 32 >>> dic1.update(dic3) #更新 33 >>> dic1  34 {'key2': 'b', 'name': 'update', 'key1': 'a', 'key3': 'c'} 35 >>> del dic3 #删除 36 >>> dic1 37 {'key2': 'b', 'name': 'update', 'key1': 'a', 'key3': 'c'} 38 >>> len(dic1) #长度 39 4 View Code

 

关于内部存款和储蓄器分配难题 1 # #字符串新定义则开荒新的一块内部存款和储蓄器空间 2 str1 = ' hoho ' 3 str2 = str1 4 id(str1),id(str2) # 查看内部存款和储蓄器对...

python基础4,python基础

剧情差非常的少:

 

一、递归

递归正是函数本人调用本人,直到满足钦命条件之后一不可多得退出函数

递归性格:

  • 无法不有三个让人瞩指标结束条件
  • 历次进入更加深一层递归时,难题规模比较上次递归都应享有裁减
  • 递归效用不高,递归档期的顺序过多会导致栈溢出(在计算机中,函数调用是透过栈(stack)这种数据结构实现的,每当步入三个函数调用,栈就能够加一层栈帧,每当函数重回,栈就能够减一层栈帧。由于栈的轻重不是Infiniti的,所以,递归调用的次数过多,会促成栈溢出)

示列1:求10!的值。

 1 #方法一递归实现
 2 #/usr/bin/env python
 3 # -*- coding:utf-8 -*-
 4 #Author:W-D
 5 def sumn(n):
 6     if n<=2:#递归结束条件
 7         return n
 8     else:
 9         return (n * sumn(n-1))#调用函数本身
10 print(sumn(10))
11 结果:
12 3628800
13 
14 方法二:for循环实现
15 a=1
16 for i in range(1,11):
17     a=a*i
18 print(a)
19 结果:
20 3628800

示列二:使用递归的诀窍来扭转斐波那契数列(斐波那契数列就是后面给七个数相加得到前面一个数,依次今后)

mg4377娱乐手机版 6

 1 #/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 #Author:W-D
 4 def feola(n1,n2):
 5     n3=n1 n2
 6     if n1>500:#结束条件为数大于500
 7         return
 8     print("{}".format(n1))#打印值
 9     feola(n2,n3)#自身调用
10 feola(0,1)
11 结果:
12 0
13 1
14 1
15 2
16 3
17 5
18 8
19 13
20 21
21 34
22 55
23 89
24 144
25 233
26 377

View Code    

二、匿名函数lambda

 佚名函数,看名就会猜到其意义正是不必要出示的定义函数名的函数,然则在语法上受限于多个表明式。

语法:

1 函数名=lambda 参数:代码

示列:

 1 #/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 #Author:W-D
 4 f=lambda x,y:x y#匿名函数表达式
 5 print(f(3,2))#调用
 6 结果:
 7 5
 8 
 9 #换个姿势用普通方式定义
10 def my_add(x,y):
11     return x y
12 print(my_add(3,2))#调用
13 结果:
14 5

 

内容大致: 一、递归 递归正是函数本人调用自身,直到满意钦命条件以往一稀有退出函数 递归特性: 必得有贰个远近出名...

python基础(二),python基础

 python基础

# 是注释。通过空格进行缩进,当一行语句以 : 结尾时,缩进的话语视为一段代码块。按约定俗成的正规化,使用4个空格进行缩进。最终代码就仿佛那样:

# output name
a = 100
if a > 10:
    print("a>10")
else:
    print("a<=10")

变量

变量的另一种赋值格局

user = 'ljb'
passwd = 'ljb123'
user,passwd = 'ljb','ljb123'

 

 

1. 数据类型和变量

常量

【mg4377娱乐手机版】python 基础,python。变量用小写

MYSQL_CONNECTION = '192.168.1.1'

 

1.1. 数据类型

整数:比方:1, -10, 0等。十六进制表示整数主意为:以 0x 为前缀,后面为0-9, a-f,例如:0x11af

浮点数:比方:0.12, -0.1。对于相当大的浮点数就用科学计数法表示,把10用e表示,比方:1.23 * 10的9次方表示为1.23e9 或 12.3e8

板寸和浮点数在总括器存储方式分裂,整数运算永恒是典型的,可是浮点数恐怕会产出四舍五入的引用误差。

pyc文件

导入模块后会在对应目录生成pyc文件,pyc文件为字节码文件
python调用模块进程
首先调用模块然后会生成pyc的字节码文件,然后解释器通过辨认这么些二进制的字节码文件来推行py程序

注:
py2 上直接在时下目录生成pyc文件
py3上 会创建__pycache__目录下面生产cpython-35.pyc 那样的临近文件

 

1.2. 字符串

字符串:以 单引号'' 或 双引号"" 括起来的文本,举例:'abc'"abc"

是转义符,比如:'I'm ok' 中转义字符串内部中的',输出结果为 I'm ok。此外 n表示换行符,t表示制表符。

为了简化,仍是可以够由此 r''表示''个中的字符串不转义。通过'''...'''来表示非常多行,示例:

mg4377娱乐手机版 7

>>> print('转义: ', '\t\')
转义:      
>>> print('不转义:', r'\t\')
不转义: \t\
>>> print('多行: ', '''line1
... line2
... line3''')
多行:  line1
line2
line3 

mg4377娱乐手机版 8

数据类型

1.3. 布尔值

布尔值独有 True 和 False 三种,能够通过 andornot各自开展与、或、非运算。举例:

>>> True and True
True
>>> True or Flase
True
>>> not 5 > 1
False

1 数字

int long float 复数

1.4. 空值

空值使用 None 表示,类似null的含义。 

2 布尔值

True or False
1 or 0
判断1和0 代表True和False
>>> 1 == True
True
>>> 0 == False
True

1.5. 变量

变量能够是随意数据类型,变量名必须是 大小写、数字、_ 组成,不可能以数字开端。变量通过 = 赋值,例如:a = 123 将变量a赋值为整数123。

python是动态语言,变量的连串是不固定的。而诸如Java则是静态语言,变量在概念时必须钦赐项目,比方:int a = 123;,赋值时候即使类型不相称, 
则编写翻译时会报错。与静态语言比较,动态语言更加灵活。 

3 字符串

字符串常用功效:
• 移除空白

• 分割

• 长度

• 索引

• 切片

username = input('inout you username')

username.strip() #移除空白

name = 'ljb,kkk,lll'

name.split(',')  #拆分

name[2:4] #切分,取第3个到第4个字符

name.center(40,'-') #长度为40,居中展现name的字符,两侧用-填补

name.isdigit #决断输入的字符书否为数字

name.isalnum() #剖断是还是不是有特殊字符

name.startwith('dsfdsa') #判别字符串是还是不是以dsfdsa 开首

name.endwith('sdfaf') #判定字符串是还是不是以sdfaf 结尾

name.find('l') #搜索字符串中的l字符,打字与印刷字符的岗位,子虚乌有展现-1

>>> name = 'langjianbin'
>>> name.find('m')
-1
>>> name.find('j')
4
>>>

  

办法比方

mg4377娱乐手机版 9#!/usr/bin/env python # -*- codind:utf-8 -*- #Author:ljb #user = input('username:') #if user.strip() == 'ljb': #去空白 # print('welcome') #name = 'ljb,langjb,langjianbin' #name1 = name.split(',') #以逗号分割为列表 #print(name1) #print('|'.join(name1)) #以|来统一为三个字符串 name = 'lang jian bin' print(name.center(40,'-')) #居中 print( '' in name) #判别字符串中是还是不是有空格 print(name.capitalize()) #字符串的首字符大写 msg = "Hello ,my name is {Name},age is {Age}" print(msg.format(Name='ljb',Age=33)) #format格式输出 msg2 = 'lang{0}Age{1}' print(msg2.format('jianbin',22)) #format另一种艺术 #age = input('Your age:') #if age.isdigit(): #推断是还是不是为数字 # age = int(age) # print(age) #else: # print('invalid data') name4 = 'adsfdg' name5 = 'AAADDSFDA' print(name4.isalnum()) #推断是还是不是有特殊字符#!@等 print(name4.endswith('dg')) print(name4.startswith('sadSF')) print(name4.upper()) print(name5.lower()) View Code

 

 在字符串中三回九转

上面包车型客车事例表示多个字符串连接起来,但是Computer将那多少个字符串分配了多少个内部存款和储蓄器空间,那样很占用能源,由此在写py程序中注意尽量少用如此的拼接字符串

>>> print ('hello'   'n'   'how are you')
hello
how are you

1.6. 常量

常量正是不可能变的变量。一般习于旧贯准将常量大写。

python中除法有 / 和 ///估测计算结果是浮点数,//计量结果则为整数。通过 % 来取八个整数相除的余数。举例:

>>> 10 / 3
3.3333333333333335
>>> 10 // 3
3
>>> 10 % 3
1 

4 列表

列表的常用操作

• 索引

• 切片

• 追加

• 删除

• 长度

• 切片

• 循环

• 包含

name = ['ljbv','dsfg','222']

插入
name.insert(2,'kkk')  #第1个岗位插入kkk

追加
name.append('aaa') #在列表末尾追加aaa

删除
name.remove('dsfg') #删除列表中未dsfg的要素

del删除内部存款和储蓄器中的多寡
del name[4:6]       #批量去除(不止试用于列表,其余的字典 元组等均能够使用del)

练习
1 写三个列表,列表里带有本组全体成员

2 往中间插入多个临组成员名字

3 抽取第3-8的人列表

4 删除第7个人

5 把刚刚加入的四人三回性删除

6 把老董的名字加上首席营业官备注

7 必要你隔一位打字与印刷一个人

 

mg4377娱乐手机版 10#!/usr/bin/env python # -*- codind:utf-8 -*- #Author:ljb ''' 1 写三个列表,列表里包括本组全体成员 2 往中间插入三个临组成员名字 3 抽出第3-8的人列表 4 删除第7个人 5 把刚刚参加的几个人三遍性删除 6 把COO的名字加上主任备注 7 需要你隔一位打印一人 ''' group_list = ['ljb0','ljb1','ljb2','ljb3','ljb4','ljb5','ljb6','ljb7'] print('本组成员列表:') print(group_list ) print('插入两个临组成员名字:') group_list.insert(4,'zhangsan') #在那之中插入多个临组成员 group_list.insert(5,'lisi') #中档插入多个临组成员 print(group_list) print('抽出第3-8的人列表:') print(group_list[2:8]) #打字与印刷第3-8个人列表 print('删除第7个人') group_list.remove(group_list[6]) #删除第7个人 print(group_list) #一回性删除刚才参与的多个人 print('把刚刚加入的多个人贰次性删除') del group_list[4:6] print(group_list) #首席营业官名字增加备注 print('把首席实践官的名字加上老总备注') group_list.remove('ljb0') group_list.insert(0,'ljb0_zuzhang') group_list[0] = 'ljb0_zuzhang' print(group_list) #距离打字与印刷人士 print('须要您隔一人打字与印刷一位') print(group_list[0::2]) #前后步长 print(group_list[::2]) for i in group_list[0::2]: print(i) View Code

 

剖断列表中是还是不是存在某成分

name = [1,2,3,9,8,65,4,9,10]

#print ('9 in name')
if 9 in name:
    print ('9 in name')

if 9 in name:
    num = name.count(9) #计数9出现的个数
    print ('9 num is ',num)


name.index(9) # 寻找第一个位置的9

 

 

name.extend(name2) #扩大进新的列表中

name.reverse() #反向显示列表

name.sort() #只可以在第22中学排序,3中不帮衬此种排序情势

name.pop(2) #删除2的数值

name.copy() #只能拷贝列表的一层,假若改换列表中的列表时,四个列表都浮动

假若必要完全copy的话须求到倒入copy模块

import copy

name4 = copy.depcopy(name)

列表赋值 给首个变量时也正是做了软链接

 

len(name) #列表长度

常用操作练习

 

mg4377娱乐手机版 11#!/usr/bin/env python # -*- codind:utf-8 -*- #Author:ljb import copy list1 = ['ljb',1,2,34,9,[88,44,88,99],9,34,'lang','zhangsan'] print(list1) list2 = list1.copy() #拷贝list1 list3 = copy.deepcopy(list2) #深等级次序拷贝,修改嵌套中的列表时不受影响 list2[0] = 'LJB' #修改list第22中学三个值,list第11中学不会变 list2[5][0] = 888888 #修改嵌套列表中四个值,list1和list第22中学都会变动(因为拷贝的是贰个分享的内部存款和储蓄器段) print (list2) print (list3) for i in range(list1.count(9)): first_9=list1.index(9) list1[first_9] = 9999999 #列表中找到9并修改为999999 print(list1) for i in range(list1.count(34)): first_34 = list1.index(34) #list1.remove(list1[first_34]) list1.pop(first_34) #列表中找到34然后删除 print(list1) print(list2) list2.reverse() #反向显示 #list3 = sorted(list2) #不能sorted 在py3中 #print(list3) print(list2) list1.extend(list2) #list2扩大加多到list前面 print(list1) View Code

 

 

 

2. 字符串和编码

5元组

 

r = (1,2,3,4,5) #只读列表
r.count()   #统计元组中元素的个数
r.index()   #元素的索引位置

 

 

2.1. 字符串

python中的字符串类型为str,在内部存储器中以Unicode表示,二个字符对应若干字节。借使在互连网上传输或保存到磁盘,就必要把str转折为字节bytesbytes种类数据用带b前缀的单引号或双引号表示:x = b'abc',注意 abcstr类型,而b'abc'则是bytes类型。

str通过encode()能够将编码为钦命的bytes,例如:

mg4377娱乐手机版 12

>>> '中文'.encode('utf-8')
b'xe4xb8xadxe6x96x87'
>>> 'abc'.encode('ascii')
b'abc'
>>> '中文'.encode('ascii')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)

mg4377娱乐手机版 13

英文的str可以用ASCII编码为bytes,中文的str可以用UTF-8编码为bytes,而中文的str不能够通过ASCII编码,因为中文越过ASCII的编码范围,故报错。

bytes能够经过decode()办法解码为str,例如:

>>> b'xe4xb8xadxe6x96x87'.decode('utf-8')
'中文'
>>> b'abc'.decode('ascii')
'abc'

通过len()能够总结str的字符数或bytes的字节数。比方:

>>> len('中文')
2
>>> len('中文'.encode('utf-8'))
6

操作字符串时,大家平常会将str和bytes相互调换,为了防止乱码的难点,一般推荐使用utf-8编码格局。 

6字典

字典的常用操作
• 索引

• 新增

• 删除

• 键、值、键值对

• 循环

• 长度

init_db.has_key #py2.x
key in init_db #py3.x

在字典的巡回中尽量少使用那这这样的循环,此种方式攻下资源非常的大

for k.v in dict1:
    print(k,v)
#如果需要用户循环的话采用
for k in dict1:
    print (k,dict1[k])

 

练习

mg4377娱乐手机版 14#!/usr/bin/env python # -*- codind:utf-8 -*- #Author:ljb #字典定义 init_db = { 1:{ 'name':'ljb', 'age':22, 'addr':'HeBei' }, 2:{ 'name':'zhangsan', 'age':33, 'addr':'Beijing' } } print(init_db) print(init_db[1]) #打印key为1的value init_db[1]['name'] = 'langjb' #修改四个value name的值为langjb init_db[1]['qq'] = '12345678' #累加三个字段 init_db[1].pop('addr') #删除addr的字段 v = init_db.get(1) #获取key为1的值 print(v) dic2 = { 'name':'12dsfasdga', 1:{ 'name':'langjainbin' } } init_db.update(dic2) #将dic第22中学的值更新到init_db中 print(init_db) print(init_db.items()) print(init_db.values()) print(init_db.keys()) #init_db.has_key(1) #only 2.X #1 in init_db # 3.X equal init_db.has_key(1) print(init_db.setdefault('3','langjianbin')) #取一个key值,要是不设有就安装为'langjianbin',借使存在则输出 print(init_db) print(init_db.fromkeys([1,2,34,4,5,6]),'ddddd') #fromkeys(seq[,values])函数用于成立二个新字典,以种类seq中元素做字典的键,value为字典全体键对应的开始值。 #for key in init_db: # print(key,init_db[key]) View Code

 

 

 

2.2. 格式化

python中的字符串格式化形式和C语言类似,都以由此%运算符达成。举例:

>>> "Hi, %s, you have %d" % ('peter', 100)
'Hi, peter, you have 100'

有几个占位符,前边就有多少个变量,顺序要对应好。常见的占位符有:

  • %s: 字符串
  • %d: 整数
  • %f: 浮点数,%.2f 表示保留2位小数

另一种格式化字符串的章程是选用字符串的format()措施,它会用传入的参数依次替换字符串内的占位符{0}、{1}...,例如:

>>> "Hi, {0}, you have {1:.2f}".format('peter', 3.1415926)
'Hi, peter, you have 3.14' 

运算

算术运算符 ( ,-,*,/,%,**,// 取整数重回商的子弹底安顿)

正如运算符(==,!=,<>,>,<,>=,<=)

赋值运算符(=, =,-=,*=,/=,%=,**=,//=)

逻辑运算符(and,or,not)

成员运算符( in,not in )

身价运算符(is,is not)

位运算符

& 按位与

| 按位或

^ 按位异或

~ 按位取反

>> 左移运算

<< 右移运算

 

运算优先级

 mg4377娱乐手机版 15

 

 

3. 主导数据结构

while True循环

练习

巡回玖十八回机关退出循环,在第50-五15回以内不打字与印刷

#!/usr/bin/env python
# -*- codind:utf-8 -*-
#Author:ljb
counter = 0
while True:
    counter  = 1
    if counter >50 and counter <60:
        continue
    print('循环次数',counter)
    if counter == 100:
        print('循环100次结束,跳出循环')
        break

 

变量 变量的另一种赋值格局 user = ' ljb ' passwd = ' ljb123 ' user,passwd = ' ljb ' , ' ljb123 ' 常量 变量用小写 MYSQL_CONNEC...

3.1 list

list是置于的数据结构:列表,表示有序的数量集合。举例:books = ['a', 'b', 'c'],books正是多少个list。使用的一些格局如下:

mg4377娱乐手机版 16

>>> books = ['a', 'b', 'c']
>>> books
['a', 'b', 'c']
>>> len(books)  # 计算list元素的个数
3
>>> books[0]    # 通过索引访问list中的元素,索引下标从0开始
'a'
>>> books[4]    # 超出list的范围会报IndexError错误,最后一个下标是 len-1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range
>>> books[-1]   # 下标-1代表最后一个元素,-2是倒数第二个元素,以此类推
'c'
>>> books[-2]
'b'
>>> books.append(True)  # 往list队尾添加元素
>>> books.insert(1, ['abc', 'def'])  # 往list指定下标位置(1)添加元素
>>> books       # list内的元素可以是不同的类型
['a', ['abc', 'def'], 'b', 'c', True]
>>> books.pop() # 从队尾删除元素
True
>>> books.pop(1) # 从list指定下标位置(index=1)删除元素
['abc', 'def']
>>> books;
['a', 'b', 'c']
>>> books[1] = 'abc' # 可以类似数组,直接替换指定下标位置的元素
>>> list = list(range(5))   # 通过range()函数生成0-4的整数序列,再通过list()函数转换为list
>>> list
[0, 1, 2, 3, 4] 

mg4377娱乐手机版 17

3.2 tuple

tuple是另一种有序数组,但和list不一样的是tuple一经起初化就不能够再修改,不能够应用append()pop()等修改章程。能够和list类似使用books[0]books[-1]例行访谈元素。不可变使得代码更安全。使用办法如下:

>>> books = (1,2,['a','b'])  # 通过(... , ...)定义tuple
>>> books
(1, 2, ['a', 'b'])
>>> books[2][1]
'b' 

编辑:mg4377娱乐手机版 本文来源:【mg4377娱乐手机版】python 基础,python

关键词: