python3的 基础

# 面试题  把一个列表 排序 去重
lst = [1,2,3,4,12,3,4]
print(list(set(lst)))

# 面试题:

# a = 10

# b = 20

# a,b = b,a      # 10000%

# print(b)  # 10

# print(a)  # 20

# 面试题:

# print(lst)

# n = ()#元组

# print(type(n))

# n = ('')#字符串

# print(type(n))

# n = ('',)#元组元组

# print(type(n))

# n = ('',2)#元组

 面试题:

# print(range(0,10))   # python3 中range(0, 10)  是一个可迭代对象  print(range(0,10))#3.6版本的是它的原始态  3.5的xrange 也是原生态的,3.5的就不是

python2 与py]thon3 的区别

Python2 源码不统一 重复代码 

python2  print 输出是不需要加括号的 input输出的是什么类型 就是什么类型

python3 print是需要加括号的  input 输出的都是字符串 

翻译型  比如jiava c++  开发效率慢 运行速度快

解释型 开发效率开 运行速度慢

变量  

1.必须是 字母数字下划线组成

2.不能以数字开头

3.不能是关键字

4.不能太长

5不能是中文和拼音 

6.区别大小写

7.要具有描述性

写法

大驼峰  单词的首字母都是大写

小驼峰 第一个单词的首字符要小写 其它的大写

常量 就是 把变量大写就可以了

初识编识

gbk  中国的   英文是用一个字节  8 位  中文是俩个字节 16位

ascii  一个字节  表示一个字母  没有中文 一共有256种

unicode 万国码  四个字节  32位

utf-8        英文一个字节 8位

       欧洲俩个字节 16位

        亚洲三个字节 32位

bit 位 

bytes 字节

1bytes = 8bit

1B = 8bit

1024B =1KB

1O24KB=1MB

1O24MB=1GB

1O24GB=1TB

 If while 循环  

格式化输出

%s 站字符    %d 站整型   print(' {}  {}' .formate ( 对应的内容)) print('{}  {}  {}'.format(name,age,hobil))

运算符  

比较运算符

<      >=   ==        != 

逻辑运算符

or  and   not   

算数运算符

- + %* /  

赋值运算符

-=     + =     %=    /=

成员运算符

in    not  in   

数据类型

type  判断是什么类型

int  (整型)   整数 str()强转为字符串   int-----bool  bool(0) =False  bool(其它数)=True

str  (字符串) int()强转为整型 只有整数型的字符串才可以  str---bool       boo('')   和  bool()= False  bool(有内容)=True

str 变为列表  变量名=' '.join(str)

tsr.upper() 全部大写

str.lowr()全部小写

str.capetalize()首字母大写

str.replace(老的,新的,个数)替换元素

str.find('元素')查找下标 没有的话返回-1

str.index('元素'')查找下标 没有的话直接报错

str.count(元素)统计出现多少次这个元素

str.split('内容') 与什么分割

str.stirp()去一头一尾的空格

bool(布尔值)True   False   bool--int    int(Ture) = 非零的数   int(Fals)=0

list (列表) 可以存储大量的数据,是可变的 不可哈希的,有增删查改  soert  给列表排序的  默认升序  soert(resvere=True) 是降序    resvere 是倒叙   列表里的要全部是 整型的元素  li.split 把列表转化为字符串

增:li=[]

li.append("元素'').这个是追加在后面的 

li.insert(下标,内容)按下标插入

li .extend()   迭代添加 整型与bool值都是不可迭代添加的

li+li 自加  # lst = [1,2,3,4]

lst + lst

print(lst + lst)#运行的结果就为[1, 2, 3, 4, 1, 2, 3, 4]

print(5*lst)#所以这个的运行结果就为[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]

删:

del li   删除整个列表

del li[]   可按下标删除  可切片删除

li.pop(下标)     有返回值按下标删除 3.6 是默认删除最后一个

li.clear0  清空整个列表

li.remove(元素) 按元素去删除

查  

按下标查看 

for 循环查看 

改 

li[] = 改的元素 按索引改 还有按切片改

li[].replize 替换 

ret = lst.index('高圆圆')  # 通过内容查找下标

# print(ret)

# print(lst.count('高圆圆'))  # 计数

ret = lst.reverse()  #翻转

# print(ret)  # 这是一操作,没有返回的内容

 lst.sort()   # 排序     默认升序

# lst.sort(reverse=True)  # 降序

tuple(元组)  不可变 的

tu=()                                                    tu('')括号里只有一个引号的时候 引号里边有个内容 的是 str   目前其它的都是 元组

可查   有下标 按下标查询

for  循环查询 

dict (字典)  有键值 keys(键,是不可变的)   valnues(值,随便什么类型的都可以)   items (键值对)  

增  

dic[键]=值    字典原有的键 那就 覆盖 没有的话就增加

dic.setefoude(键 ,值)  字典原有的话 就不添加 没有的话 就添加到后边 

删 

dic.pop(键)  按键删除 

del dic  删除整个字典

del dic[键] 按键删除 

dic.clera() 清空整个列表

dic[键] =值    按键改  直接覆盖   

# dic.popitem()   # 随机删除  python3.6 删除最后一个   3.5 中随机删除:

dic1 = {'33':'jj','44':'TT'}

dic2 = {'33':'gg','66':'pp'}

# dic1.update(dic2)

 

# dic2.update(dic1)

# 更新   被更新的内容如果在 要更新的内容中那值就会被覆盖

# 两个字典中,都没有一样的就是合并

# dic2['33'] = 'tsp'   #是字典中没有的时候才叫增,如果字典中这个键存在就叫做修改

 

# 查:

 

# dic2 = {'33':'gg','66':'pp'}

 

# print(dic2[2])          # 通过键查找   如果键不存在就报错

# print(dic2.get(2))        # 通过键查找    如果键不存在不会报错,返回None

# print(dic2.setdefault('33'))   # 不存在返回None

set (集合)    无序的 没有下标   储存数据的 

se.add(内容)  增加的内容  

set.remove(元素)按元素删除

 

set. clear   

查 

for 查  

list ---tupe     tuple(list)

tupe ---list  list(tuple)

其它是不可以转化为字典的 只能字典转化为 list  并且还是键的  

对于元组来说浅拷贝只是拷贝第一层  一起变化的 

对于元组来说深拷贝是拷贝的内存地址是不一样的  元素是共同的是一样的 不一样的的时候内存地址是不一样的 

enkode

dikoude 

print('name:{}  age:{}  爱好:{}'.format(name,age,hobil))

posted @ 2019-01-06 20:07  LmtMe  阅读(265)  评论(1编辑  收藏  举报