首页 技术 正文
技术 2022年11月21日
0 收藏 610 点赞 3,432 浏览 4896 个字

1、数据

  数据为什么要分不同的类型

    数据是用来表示状态的,不同的状态就应该用不同类型的数据表示;

  数据类型

    数字(整形,长整形,浮点型,复数),字符串,列表,元组,字典,集合

2、字符串

  1、按索引取值,只能取 

input_info = 'Hello World'
print(input_info[6])

  2、切片(顾头不顾尾)  

input_info = 'Hello World'
print(input_info[0:5])

  3、长度len

input_info = 'Hello World'
print(len(input_info))

  4、成员运算in和not in 

input_info = 'Hello World'
# if 'Hello' in input_info:
# print('OK')
if 'wang' not in input_info:
print('wang is not in input_info!' )

  5、移除空白strip (移除开头和结尾的空格)

input_info = '    Hello World'
input_info2 = ' Hello World '
print(input_info)
print(input_info.strip())
print(input_info2.strip())

  6、切分split

input_info = 'egon,alex,wupeiqi,oldboy' #默认按照空格进行切分
# print(input_info.split()) #切分完成后得到一个列表
print(input_info.split(',')) #指定分隔符进行切分

  7、循环

input_info = 'hello world'
for item in input_info:
print(item)

  #字符串需要掌握的方法

    1、lower,upper

input_info = 'Hello World'
print(input_info.upper())
print(input_info.lower())

    2、startswith和endswith

input_info = 'hello world'
print(input_info.startswith('hello')) #返回布尔值
print(input_info.endswith('world')) #返回布尔值

    3、format

res='{} {} {}'.format('egon',18,'male')
res='{1} {0} {1}'.format('egon',18,'male')
res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)

    4、join

tag=' '
print(tag.join(['egon','say','hello','world'])) #可迭代对象必须都是字符串

    5、replace

name='hello,every one,are you ok,are you good'
print(name.replace('hello','Hello'))
print(name.replace('you','then',1))

    6、isdigit

res_input = input('Input>>: ')
print(res_input.isdigit())

  #字符串类型总结:

    1、只能存一个值,
  2、有序
3、不可变:值变,id就变。不可变==可hash

3、列表

  定义:[]内可以有多个任意类型的值,逗号分隔

#按索引存取值(正向存取+反向存取):即可存也可以取 
my_girl_friends=['alex','wupeiqi','yuanhao',4,5]
print(my_girl_friends[0])
my_girl_friends.insert(1,'zhaoliying')
print(my_girl_friends)
  #切片(顾头不顾尾,步长)
my_girl_friends=['alex','wupeiqi','yuanhao',4,5,'zhaoliying','wangxiaomi']
print(my_girl_friends[1:6:2])
  #长度
my_girl_friends=['alex','wupeiqi','yuanhao',4,5]
print(len(my_girl_friends))
  #成员运算in和not in
my_girl_friends=['alex','wupeiqi','yuanhao',4,5]
if 'alex' in my_girl_friends:
print('This is ok')
if 'zhaoliying' not in my_girl_friends:
print('ni xiang sha ne')
  #追加
my_girl_friends=['alex','wupeiqi','yuanhao',4,5]
my_girl_friends.append('zhaoliying') #append,在列表的尾部添加
print(my_girl_friends)
my_girl_friends.insert(1,'zhaoliying') #insert,可以指定列表的下标添加元素
print(my_girl_friends)
  #删除
my_girl_friends=['alex','wupeiqi','yuanhao',4,5]
print(my_girl_friends.pop()) #pop,删除列表中的元素,从尾部开始删除,并且会返回删除的值
print(my_girl_friends.pop())
print(my_girl_friends.pop())
  #循环
my_girl_friends=['alex','wupeiqi','yuanhao',4,5]
for item in my_girl_friends:
print(item)
  #步长
l=[1,2,3,4,5,6]
print(l[0:3:1]) #正向步长
print(l[2::-1]) #反向步长
print(l[::-1]) #列表翻转

  #列表类型总结

    1、可以存多个值,值都可以是字符串,列表,字典,元组

    2、有序

    2、可变:值变,id不变。可变==不可hash

      

4、元组

  

#按索引取值(正向取+反向取):只能取
age=(11,22,33,44,55)
print(age[1])
 #2、切片(顾头不顾尾,步长)
age=(11,22,33,44,55)
print(age[1:3])
  #3、长度
age=(11,22,33,44,55)
print(len(age))
  #4、成员运算in和not in
age=(11,22,33,44,55)
if 11 in age:
print('This is ok!')
if 88 not in age:
print('This is error')
  #5、循环
age=(11,22,33,44,55)
for item in age:
print('your age is %s' %item)

5、字典

  作用:存多个值,key-value存取,取值速度快

  定义:key必须是不可变类型,值可以是任意类型

  info={‘name’:’egon’,’age’:18,’sex’:’male’}

  

  #1、按key存取值:可存可取
info={'name':'egon','age':18,'sex':'male'}
print(info['name'])
  #2、长度len
info={'name':'egon','age':18,'sex':'male'}
print(len(info))
  #3、成员运算in和not in
info={'name':'egon','age':18,'sex':'male'}
if 'name' in info:
print(info['name'])
  #4、删除
info={'name':'egon','age':18,'sex':'male'}
print(info.pop('age'))
print(info)
  #5、键keys(),值values(),键值对items()
info={'name':'egon','age':18,'sex':'male'}
for item in info:
print(item,info[item])

6、集合

  作用:去重,关系运算

  定义集合:

    集合可以包含多个元素,用逗号分隔

    集合的元素遵循三个原则:

      1. 每个元素必须是不可变类型

      2. 没有重复的元素

      3. 无序

  注意:集合的目的是将不同的值存放到一起,不同的集合用来做关系运算

#1、长度len
# pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
# print(len(pythons))
pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
linuxs={'wupeiqi','oldboy','gangdan'}
#3、|合集
# print(pythons|linuxs)
#4、&交集
# print(pythons & linuxs)
#5、-差集
# print(pythons - linuxs)
#6、^对称差集
# print(pythons ^ linuxs)

7、 文件编码

  字符编码的发展3个阶段:

    1、 现代计算机起源于美国,最早诞生也是基于英文考虑的ASCII

    2、为了满足中文和日文,中国定制了GBK

    3、每一个国家都有自己的标准,就不可避免的会有冲突,在多语言混合的文本中,显示出来就会乱码,如何解决:

      1. 能够兼容万国字符

      2. 与全世界所有的字符编码都有映射关系,这样就可以转换成任意国家的的字符编码。

  总结:内存中统一采用Unicode,浪费空间来换取可以转换成任意编码(不乱码),硬盘可以采用各种编码,如utf-8,保证存放于硬盘或者基于网络传输的数据量很小,提高传输效率与稳定性。

总结:保证不乱码的的核心法则:

  字符按照什么标准而编码的,就按照什么标准解码。

  在内存中写的所有字符,都是Unicode编码。

8、 文件操作

  1、文件操作流程

    打开文件,得到文件句柄并赋值给一个变量

    通过句柄对文件进行操作

    关闭文件

    打开文件的模式有:

    r,只读模式(默认)。
    w,只写模式。【不可读;不存在则创建;存在则删除内容;】
    a,追加模式。【可读; 不存在则创建;存在则只追加内容;】
    ”+” 表示可以同时读写某个文件

    r+,可读写文件。【可读;可写;可追加】
    w+,写读
    a+,同a
    ”U”表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)

    rU
    r+U
    ”b”表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

    rb
    wb
    ab

f = open('文件操作.file','r',encoding='utf-8')
# print(f.read())
print(f.readline(3).strip())
#readline每次读一行,可以设置limit(字符)

     2、with语句

      为了避免打开文件后忘记关闭,可以用with:

with open('文件操作.file','r',encoding='utf-8') as f:
pass

      python2.7后,with支持对多个文件的上下文进行管理

        

with open('log1') as obj1, open('log2') as obj2:
pass
下一篇: OA_1界面
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,910
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,435
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,250
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,061
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,693
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,731