数据类型

======================================整型(int)======================================1、用途:存qq号,手机号,不带字母的身份证号...2、定义方式
age = 18  # age = int(18)int('1.1')  # int只能转纯数字的字符串,小数点都不行

3.进制转换    其他进制转10进制    二进制转十进制  0,1    10    1*(2**1) + 0*(2**0)  2    八进制转十进制  0-7    235   2*(8**2) + 3*(8**1) + 5*(8**0)    十六进制转十进制 0-9 A-F    217   2*(16**2) + 1*(16**1) + 7*(16**0)
        print(int('1100',2))  int可以传第一个参数,表示的是第一个参数到底是什么进制  然后转成十进制print(int('14',8))  八进制print(int('c',16))  十六进制

10进制转其他进制
    10进制转二进制print(bin(12))  # 0b1100  0b表示后面的数字是二进制数
    10进制转八进制print(oct(12))  # 0o14  0o表示后面的数字是八进制数  14 >>> 1*(8**1) + 4*(8**0))
    10进制转16进制print(hex(12))  # 0xc  0x表示后面的数字是十六进制数

总结:    存一个值    有序or无序    有序:但凡有索引的数据都是有序的    不可变        可变类型与不可变类型            可变类型:值改变的情况下,id不变,说明你改的是原值            不可变类型:值改变的情况下,id一定变
                x = 10print(id(x))x = 11print(id(x))

===================================================================================
======================================字符串======================================1、用途:描述性2、定义方式:''," ", """  """
s = 'hello baby'  # str('hello baby')s1 = str([1,2,3,4])print(type(s1))s2 = str({'name':'jason','password':123})print(type(s2))只要是被“”引起来的东西都是字符串

1、按索引取值(正向取+反向取) :只能取
 s = 'hello big baby~'
 print(s[0])

2、切片(顾头不顾尾,步长):从一个大的字符串中截取一段新的小字符串 左边的固定就是头,右边固定就是位  没有说按数字来分头尾
   print(s[0:5])     # helloprint(s[0:10:1])  # hello  步长不写默认是1print(s[0:10:2])  # 步长表示隔几个取一个

了解负数取值
     print(s[-1])print(s[0:5:-2])  # 切片取值默认是从左往右的print(s[5:0:-1])  # 切片取值默认是从左往右的print(s[-1:-10:-1])

3、长度len:统计的是字符串中字符的个数
s1 = ' '
print(len(s1)) >>>1

4、成员运算in和not in: 判断一个子字符串是否存在于一个大的字符串中
 print('egon' in 'egon is dsb and egon is sb')  >>>Trueprint('g' in 'egon is dsb and egon is sb')      >>>Trueprint('jason' not in 'egon is dsb and egon is sb') >>>True

5、去掉字符串左右两边的字符strip,不管中间的
username = input('>>>:').strip()

 strip()默认去除字符串首尾的空格 使用内置的方法统一采用 句点符(.)
name1 = 'jason'
name2 = '   jason   '.strip()
print(name1 == name2)  >>>True
name3 = '$$$$$eg$on$$$$'
print(name3.strip('$'))   >>>eg$on

了解即可
name4 = '% ¥#jason&*)'
print(name4.strip('% ¥#)')) >>>jason&*rstrip() lstrip()
name5 = '$$$$jason$$$$'
print(name5.lstrip('$'))  >>>jason$$$$ # left左边
print(name5.rstrip('$'))  >>>$$$$jason # right右边

6、切分split:针对按照某种分隔符组织的字符串,可以用split将其切分成列表,进而进行取值
    data = 'jaso n|123| handsome'print(data.split('|'))>>>['jaso n', '123', ' handsome']

 解压赋值
username,password,info = data.split('|')
print(username,password,info)>>>jaso n 123  handsome

 强调:split切分出来的数据类型是一个列表
    print(data.split('o'))  # 切割的顺序其实从左往右的print(data.split('o',1))  # 切割的顺序其实从左往右的print(data.rsplit('o',1))  # 切割的顺序其实从左往右的>>>['jas', 'n|123| hands', 'me']>>>['jas', 'n|123| handsome']>>>['jason|123| hands', 'me']

 如果不指定那么split和rsplit效果是一样

7、循环
for i in data:print(i)

============================================================================需要你掌握的
1、strip,lstrip,rstrip
2、lower,uppers = 'JaS1oN'res = s.lower()  小写print(res)print(s)print(s.upper()) 大写print(s)>>>jas1on>>>JaS1oN>>>JAS1ON>>>JaS1oN

调用字符串的方法并没有改变字符串本身

3、startswith,endswiths1 = 'egon is dsb'print(s1.startswith('e'))  # 判断字符串是否以什么什么开头print(s1.endswith('n'))  # 判断字符串是否以什么什么结尾4、format的三种玩法(python推荐使用format做格式化输出)第一种  按位置占位   跟%s原理一致str1 = 'my name is {} my age is {}'.format('jason',18)str1 = 'my name is {} my age is {}'.format(18,'jason',)print(str1)第二种  按索引占位str1 = 'my {1} name is {0} my {0} age is {0}'.format('egon',18)print(str1)第三种  指名道姓占位(关键字传参)str1 = 'my {name} name is {age} my {name} age is {name}'.format(name='jason',age=18)print(str1)5、split,rsplit
6、joindata = 'jason|123|handsome'res_list = data.split('|')print(res_list)res_str = '$'.join(res_list)  # 将容器类型中的多个元素通过指定字符拼接成一个字符串print(res_str)l = ['1','a','b']res = '|'.join(l)print(res)7、replacestr = 'egon is dsb and egon is sb he has a BENZ'res = str.replace('egon','kevin',1)print(res)print(str)8、isdigit # 判断字符串中包含的是否为纯数字while True:age = input('>>>:')if age.isdigit():age = int(age)if age > 28:print('阿姨好')else:         print('你他妈的能不能好好输')

 需要了解的内置方法
1、find,rfind,index,rindex,counts = 'kevin is dsb o and kevin is sb'print(s.find('dsb'))  # 返回的是d字符所在的索引值print(s.find('xxx'))  # 找不到的时候不报错返回的是-1print(s.find('i',0,3))  # 还可以通过索引来限制查找范围print(s.index('o'))  # 返回所传字符所在的索引值print(s.index('i',0,3))  # 返回所传字符所在的索引值print(s.count('n'))  # 统计字符出现的次数2、center,ljust,rjust,zfills9 = 'jason'print(s9.center(12,'*'))print(s9.ljust(40,'$'))print(s9.rjust(40,'$'))print(s9.rjust(40,' '))print(s9.zfill(40))3、expandtabss10 = 'a\tbc'print(s10.expandtabs(100))4、captalize,swapcase,titles12 = 'hElLo WoRLD sH10'print(s12.capitalize())  # Hello world 首字母大写print(s12.swapcase())  # 大小写互换print(s12.title())  # 每个单词的首字母大小5、is数字系列num1=b'4' #bytesnum2=u'4' #unicode,python3中无需加u就是unicodenum3='壹' #中文数字num4='Ⅳ' #罗马数字''.isnumeric(): unicode,中文数字,罗马数字    只要是表示数字都识别print(num2.isnumeric())print(num3.isnumeric())print(num4.isnumeric())''.isdecimal(): unicode   只识别普通的阿拉伯数字print(num2.isdecimal())print(num3.isdecimal())print(num4.isdecimal())''.isdigit() :bytes,unicode    通常情况下使用isdigit就已经满足需求了print(num1.isdigit())print(num2.isdigit())print(num3.isdigit())print(num4.isdigit())

3、常用操作+内置的方法======================================该类型总结====================================存一个值有序(有序:但凡有索引的数据都是有序的)不可变类型
======================================列表(list)======================================
作用:多个装备,多个爱好,多门课程,多个女朋友等定义:[]内可以有多个任意类型的值,逗号分隔
my_girl_friends=['alex','wupeiqi','yuanhao',4,5] #本质my_girl_friends=list([...])
l=list('abc')l1=list({'name':'jason','password':'123'})print(l1)>>>['name', 'password']list内部原理就是for循环取值 然后一个个塞到列表中去优先掌握的操作:
1、按索引存取值(正向存取+反向存取):即可存也可以取l = [1,2,3,4]print(l[0:4:1])print(l[0::])print(l[5::-1])print(id(l))l[0] = 69print(id(l))print(l)>>>[1, 2, 3, 4]>>>[1, 2, 3, 4]>>>[4, 3, 2, 1]>>>2898563605512>>>2898563605512>>>[69, 2, 3, 4]
2、切片(顾头不顾尾,步长)l = [11,22,33,44,55]l1 = [99,88,77,66]l.append(66)  # 注意append值能将被添加的数据当作列表的一个元素print(l)2.任意位置添加元素l.insert(2,96)  # 通过索引在任意位置添加元素print(l)  # 注意insert值能将被添加的数据当作列表的一个元素3.添加容器类型数据l.append(l1)l.insert(-1,l1)l.extend(l1)  # 内部原理for循环l1一个个追加到列表的尾部l.extend([1,])print(l)3、长度print(len(l))4、成员运算in和not inprint( 444 in l)5、往列表中添加元素(******)appendinsertextend6、删除print(l)del l[2]  # del适用于所有的删除操作print(l)res1 = l.pop()  # 尾部弹出res2 = l.pop()res3 = l.pop()print(res1,res2,res3)res1 = l.pop(0)  # 可以指定索引 按照索引弹出元素print(res1)res = l.remove(33)  # 指定要删除的元素的值print(l)print(res)s = 'haha'print(s)del sprint(s)
7、循环for i in l:print(i)

======================================列表(list)======================================
 

转载于:https://www.cnblogs.com/lddragon/p/11126809.html

Python 入门 Day5相关推荐

  1. Python入门-Day5

    正则表达式 正则表达式是可以匹配文本片段的模式,它能帮助你方便的检查一个字符串是否与某种模式匹配.最简单的正则表达式就是普通字符串,可以匹配其自身. re模块 re.match函数 re.match ...

  2. python速成要多久2019-8-28_2019最全Python入门学习路线,不是我吹,绝对是最全

    近几年Python的受欢迎程度可谓是扶摇直上,当然了学习的人也是愈来愈多.一些学习Python的小白在学习初期,总希望能够得到一份Python学习路线图,小编经过多方汇总为大家汇总了一份Python学 ...

  3. Python入门学习方法有哪些?

    Python编程语言是相对比较简单的一门编程语言,在IT行业,很多零基础学员都会优先选择Python语言进行学习,希望可以进入到IT这个大家庭,那么想要学好Python编程,针对Python入门学习方 ...

  4. Python学习day5作业-ATM和购物商城

    Python学习day5作业 Python学习day5作业 ATM和购物商城 作业需求 ATM: 指定最大透支额度 可取款 定期还款(每月指定日期还款,如15号) 可存款 定期出账单 支持多用户登陆, ...

  5. 全了!从Python入门到入魔

    总被读者问到,我看完了python入门的书,后面就不知道要学什么了.今天就给你们整理全套入门到进阶的教程. 这套教程非常全面而且详细,从Python入门到Python进阶.Django.Flask等W ...

  6. 全了!从Python入门到精通

    总被读者问到,我看完了python入门的书,后面就不知道要学什么了.今天就给你们整理全套入门到进阶的教程. 这套教程非常全面而且详细,从Python入门到Python进阶.Django.Flask等W ...

  7. 卧槽!微软Python入门课居然汉化了!

    去年,微软上线了自己的Python入门课程.一时间,好评如潮.但是真正看完这个课程的国人非常少,因为它的翻译实在是太烂了(英文听力好的人应该看的还是很爽的).很明显,微软直接采用了机器翻译,导致视频的 ...

  8. python入门:工欲善其事,必先利其器

    未来将是一个全民编程的年代.本头条号以科普为基础,旨在向大家介绍如何快速掌握这门编程语言,从而能为自己的工作和生活带来高效和便利.本期的主题是python入门,希望通过下面三个步骤把大家带到pytho ...

  9. 15天Python入门-3-流程控制-选择结构

    15天Python入门-3-流程控制-选择结构 时代赋能 生命的意义是成为你自己 已关注 1 人赞同了该文章 设想一个场景,你需要控制机器人和顾客打招呼,假设机器人(在大多数情况下)能够判断出顾客的性 ...

  10. Python入门 Python自学路线 Python如何学习

    本文介绍Python入门 Python自学路线 Python如何学习.先说点题外话吧:首先呢,我刚开始接触编程的时候,学的是C,那时候Python还没有这么火,后来学了C++,PHP,Java,前端. ...

最新文章

  1. 移动语义-右值引用-完美转发-万字长文让你一探究竟
  2. html怎么查看两个块的距离,两个东西之间的距离怎么控制
  3. 为什么越来越多的人消失在朋友圈?
  4. RTX5 | STM32H743+CubeMX+RTX5+两路FDCAN驱动+CANopen协议
  5. 备忘:VC++ 中的异常处理
  6. 工作不饱和 ? 给你 8 个程序员接私活的网站
  7. [转]在python中删除list中元素的3种方法:remove、pop、del
  8. Mysql 远程登陆配置
  9. Docker Compose 配置文件 docker-compose.yml 详解
  10. 我所理解的协方差矩阵
  11. 文档写作利器:Markdown
  12. 关于本人的网络地址请移步简书
  13. 史上最全maven setting解读(本地仓库,远程仓库,鉴权等)
  14. 理解性能的奥秘——应用程序中慢,SSMS中快(4)——收集解决参数嗅探问题的信息
  15. 甲方和乙方怎么区别?
  16. JS实现聊天接收到消息语言自动提醒(您有新的消息请注意查收)
  17. Android处理大图片
  18. window10鼠标加速怎么关_Win10怎么设置去掉鼠标加速
  19. 2021年安全员-C证(山东省-2020版)考试试卷及安全员-C证(山东省-2020版)操作证考试
  20. linux 树莓派 月光宝盒,和我一起玩树莓派3B+--Centos系统安装(五)

热门文章

  1. nginx虚拟主机配置实例
  2. 现任明教教主 NAC Framework EOU 视频
  3. iOS开发之Undefined symbols for architecture x86_64报错
  4. 如何禁用 MacBook 在打开盖子时自动启动功能
  5. sublime text 3的组合快捷键汇总
  6. Aiseesoft Data Recovery从硬盘驱动器恢复丢失的数据的方法
  7. XenDesktop 学习笔记1之DDC
  8. DevExpress v15.1:Reporting控件功能增强(二)
  9. 设置 路由模式 桥接模式
  10. 面试官:有了 for 循环,为什么还要 forEach ??