1、for循环

for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

for循环字典时默认取出key:

dic={'x':111,'y':222,'z:333'}

for k in dic:

print(k)  #只输出k

print(k,dic[k])  # 同时输出key和value

while循环 VS for循环

①while循环:称之为条件循环,循环的次数取决于条件何时Flase

for循环:称之为迭代器循环,循环的次数取决于数据包含元素的个数

②for循环专门用来取值,在循环取值方面比while循环要强大,以后但凡遇到循环取值的场景,就应该用for循环。

for循环的搭配:

Ⅰ for+break

 names=['egon','kevin','alex','hulaoshi']
for name in names:
    if name == 'alex':break
    print(name)
输出结果:
egon
kevin

Ⅱ for+continue

names=['egon','kevin','alex','hulaoshi']
for name in names:
   if name == 'alex':continue
   print(name)
输出结果:
egon
kevin
hulaoshi

Ⅲ for+else

names=['egon','kevin','alex','hulaoshi']
for name in names:
   print(name)
else:
   print('=====>')
输出结果:
egon
kevin
alex
hulaoshi
=====>

Ⅳ 循环嵌套

for i in range(3): 
   for j in range(2):
       print(i,j)
'''
外层循环第一次:i=0
  内层循环
      0,0
      0,1
       
外层循环第二次:i=1
  内层循环
      1,0
      1,1
外层循环第三次: i=2
  内层循环
      2,0
      2,1
       

'''

tip: range(start,end):start可以为空,默认起始为0;end不可为空。输出结果顾头不顾尾

range(0,3) # 等于range(5)
print(range(5))
0
1
2

换行问题之print()详解:

print()语法:
print(*objects, sep=' ', end='\n', file=sys.stdout)
参数含义:
objects -- 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
sep -- 用来间隔多个对象,默认值是一个空格。
end -- 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
file -- 要写入的文件对象。
一些例子:
print('www','z','cn')
print('www','z','cn',sep='.')
输出结果:
www z cn
www.z.cn
for i in range(0,3):
   print(i)    # 默认换行,即print(i, end='\n')
输出结果:
0
1
2
for i in range(0,3):
   print(i,end=' ')  # end处为空格
输出结果:
0 1 2

len() 方法返回对象(字符、列表、元组等)长度或项目个数。

len(‘1,2,3,4’)  # 输出结果为7,如果改为len(‘1 2 3 4’)输出结果也为7,因为空格也占位;
len(‘1234’)  # 输出结果为4;格式为len(str),注意空格也算长度。
2.数据类型及内置方法:
tip:进制之间的转换
十进制转成。。。进制
print(bin(13))  # 十进制转换为二进制
print(oct(13))  # 十进制转换为八进制
print(hex(13))  # 十进制转换为十六进制
输出结果:
0b1101   # 0b表示二进制
0o15     # 0o表示八进制
0xd      # 0x表示十六进制
 1. 整型int
======================================基本使用======================================
1、用途:记录年龄、等级、号码等

2、定义方式
age=10 # age=int(10)

类型转换
print(int(3.1))
print(int('123'))   # 对于纯数字的字符串,可以使用
print(int('122.2')) # 并非纯数字构成,会报错

======================================该类型总结====================================
每个变量名只能存一个值
不可变类型
x=10
print(id(x))
x=11
print(id(x))   # 值改变,id也会变化


2. 浮点型float
======================================基本使用======================================
1、用途:记录身高、体重、薪资等

2、定义方式
salary=10.1 # salary=float(10.1)

类型转换
print(float(10))
print(float(1.1))
print(float('1.1'))

======================================该类型总结====================================
每一个变量名只能对应一个值
不可变类型
x=10.3
print(id(x))
x=11.2
print(id(x))
3.字符串类型str
======================================基本使用======================================
1、用途:记录描述性值的状态,比如名字、性别等

2、定义方式
msg='hello world' #msg=str('hello world')

类型转换: 可以把任意类型专场字符串类型
res1=str(10)
res2=str(10.3)
res3=str([1,2,3])
res4=str({'x':1}) #res4="{'x':1}"

3、常用操作+内置的方法
优先掌握的操作:(*****)
Ⅰ 按索引取值(正向取+反向取) :只能取
msg='hello world'
print(type(msg[0]))
print(msg[-1])
输出结果:
<class 'str'>
d


Ⅱ 切片(顾头不顾尾,步长)
msg='hello world'
print(msg[0]+msg[1]+msg[2])
print(msg[0:5])
print(msg[0:5:2]) #"""0 2 4 步长可以为负,但不可以为0。对于正数步长,python会从序列的头部开始向右提取元素,直到最后一个元素,对于负数步长,则是从序列尾部开始向左提取元素,直到第一个元素。正数步长必须让开始点小于结束点,而负数步长必须让开始点大于结束点。""" print(msg[0:]) #输出全部
print(msg[:])  #输出全部

print(msg[-1:-5:-1]) #-1 -2 -3 -4
print(msg[::-1]) #-1 -2 -3 -4

Ⅲ 长度len:统计的是字符的个数
msg='h你d'
print(len(msg))  #输出结果为3

Ⅳ 成员运算in和not in:判断一个子字符串是否存在与一个大字符串中
msg='hello world'
print('ho' in msg)
print('ho' not in msg)


Ⅴ 移除空白strip:移除字符串左右两边的某些字符
strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
str.strip([chars])  # chars -- 移除字符串头尾指定的字符序列。 msg='     hello     '
print(msg.strip(' '))
print(msg.strip())
print(msg)

msg='***h**ello**********'
print(msg.strip('*'))

msg='*-=+h/ello*(_+__'
print(msg.strip('*-=+/(_'))


Ⅵ 切分split: 把有规律的字符串切成列表从而方便取值。
  split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串
info='egon:18:180:150'
res=info.split(':',1) # 仅分割一个
print(res)
print(res[1])
输出结果:
['egon', '18:180:150']
18:180:150

info='egon:18:180:150'
res=info.split(':')
print(res)
输出结果:
['egon', '18', '180', '150']

Ⅶ join:join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
res=['egon','18','180','150']
s1=':'.join(res)  # res中的元素必须都是字符串
print(s1)
输出结果:
egon:18:180:150


Ⅷ 循环
for i in 'hello':
    print(i)



# 需要掌握的操作(****)
1、strip,lstrip,rstrip
msg='*****hello****'
print(msg.strip('*'))
print(msg.lstrip('*'))
print(msg.rstrip('*'))
输出结果:
hello
hello****
*****hello

2、lower,upper
msg='AaBbCc123123123'
print(msg.lower())
print(msg.upper())
输出结果:
aabbcc123123123
AABBCC123123123

3、startswith,endswith
msg='alex is dsb'
print(msg.startswith('alex'))
print(msg.endswith('sb'))
输出结果:
 True
 True

4、format的三种玩法
msg='my name is %s my age is %s' %('egon',18)
print(msg)
输出:my name is egon my age is 18
msg='my name is {name} my age is {age}'.format(age=18,name='egon')
print(msg)
输出:my name is egon my age is 18
了解
msg='my name is {} my age is {}'.format(18,'egon')
msg='my name is {0}{0} my age is {1}{1}{1}'.format(18,'egon')
输出:
my name is 18 my age is egon
my name is 1818 my age is egonegonegon


5、split,rsplit
cmd='get|a.txt|33333'
print(cmd.split('|',1))
print(cmd.rsplit('|',1))
输出:
['get', 'a.txt|33333']
['get|a.txt', '33333']

6、replace
msg='kevin is sb kevin kevin'
print(msg.replace('kevin','sb',2))
输出结果:
sb is sb sb kevin

7、isdigit #当字符串内为纯数字时结果为True
res='11111'
print(res.isdigit())
输出:True





# 了解(**)
1、find,rfind,index,rindex,count
find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果指定范围内如果包含指定索引值,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1。index功能类似,但是如果没有检索到,会报错。
print('xxxkevin is sb kevin'.find('kevin')) #输出索引位置
print('xxxkevin is sb kevin'.index('kevin'))
print('xxxkevin is sb kevin'.rfind('kevin'))
print('xxxkevin is sb kevin'.rindex('kevin'))
输出结果:
3
3
15
15

print('kevin is kevin is kevin is sb'.count('kevin')) #计次
输出结果为3

2、center,ljust,rjust,zfill
print('egon'.center(10,'*'))  # 字符居中
print('egon'.ljust(10,'*'))   # 字符居左
print('egon'.rjust(10,'*'))   # 字符居右
print('egon'.zfill(10))       # 原字符串右对齐,前面填充0
输出结果:
***egon***
egon******
******egon
000000egon

3、captalize,swapcase,title
print('my name is kevin'.capitalize()) #句首字母大写
print('AaBbCc'.swapcase())          #大小写字母互换
print('my name is kevin'.title())    # 所有单词首字母
输出结果:
My name is kevin
aAbBcC
My Name Is Kevin

4、is其他
name='egon123'
print(name.isalnum()) #字符串由字母或数字组成 ====》True
print(name.isalpha()) #字符串只由字母组成     ====》 False

print(name.islower())  # ===》True
print(name.isupper())  # ===》False
name='   '
print(name.isspace())  #===》True
msg='I Am Egon'
print(msg.istitle())   # ===》True




======================================该类型总结====================================
存一个值

有序类型(虽然只存一个值,但也是有序序列)

不可变类型(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash)
x='aaa'
print(id(x))
x='bbb'
print(id(x))

20181121笔记(for,数字类型和字符串类型的内置方法)的更多相关文章

  1. for循环,数字、字符串和列表内置方法

    目录 控制流程之for循环 基本语法 for+break for+continue for+else for循环打印lodaing 数字类型内置方法 整型 int 浮点型 float 字符串内置方法 ...

  2. Python基础之字符串类型内置方法

    目录 1. 字符串类型 2. 常用操作及内置方法 3. 其他内置方法 1. 字符串类型 用途:姓名,性别等 定义: name1 = 'zhaojun' name2 = "zhaojun&qu ...

  3. python学习番外篇——字符串的数据类型转换及内置方法

    目录 字符串的数据类型转换及内置方法 类型转换 内置方法 优先掌握的方法 需要掌握的方法 strip, lstrip, rstrip lower, upper, islower, isupper 插入 ...

  4. python中字符串的内置方法

    这里说的是字符串中的内置方法,毕竟字符串是最常用的操作对象. ['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '_ ...

  5. Python学习笔记(二):字符串类型

    在上一篇随笔(https://www.cnblogs.com/g-qiang/p/10448813.html)中,说到 Python 有六种标准数据类型,而数字类型和字符串类型又是其中基本的数据类型. ...

  6. for循环,数字类型,字符串类型

    for 循环: l=['a','b','c'] for i in l : print(i) while循环和for循环 while循环:条件循环,循环的次数取决于条件何时为False for循环:循环 ...

  7. day5 五、数字类型、字符串,列表类型的基本操作和内置方法

    一.可变与不可变 可变:值改变,但是id不变,证明就是在改变原值,是可变类型.它的原理是在内存里有一个值,然后这个值发生了改变,意为id地址是同一个,没有变化 # l=['a','b'] # prin ...

  8. Python3:数字类型和字符串类型的相互转换

    Python3:数字类型和字符串类型的相互转换 一.python中字符串转换成数字 方法1: 类中进行导入:import string str='555'num=string.atoi(str)num ...

  9. python基础——4(数字、字符串、列表类型的内置方法介绍)

    目录 一.可变与不可变类型 二.数字类型 三.字符串类型 四.列表类型 一.可变与不可变类型 可变类型:值改变,但是id不变,证明就是在改变原值,是可变类型 不可变类型:值改变,id也跟着改变,证明产 ...

随机推荐

  1. python 基础(七) 异常处理

    异常处理 一.需求 当遇到错误的时候 不让程序停止执行 而是越过错误继续执行 二.主体结构 (抓取所有异常) try:   可能出现异常的代码段 except:   出现异常以后的处理   三.处理特 ...

  2. 阿里云ECS基础知识01

  3. ubuntu管理apt包的常用命令

    安装 apt-get install nginx #安装 apt-get install nginx --reinstall #重新安装 删除 apt-get remove nginx #卸载 apt ...

  4. Django 使用allauth报错

    一:报错 RuntimeError: Model class django.contrib.sites.models.Site doesn't declare an explicit app_labe ...

  5. python采用sqlachmy购物商城

    一.流程图: 二.目录结构: C:\USERS\DAISY\PYCHARMPROJECTS\S12\MARKET │ __init__.py │ __init__.pyc │ ├─backend │ ...

  6. Android 面试总结~~~

    一.面试中的问题 通过这几天的面试,总结了自己在面试过程中问到的问题,部分问题已经给出了答案,还有部分问题,还未有时间整理出来. ListView出现闪图.图片错乱原因解决方案 函数式编程 (Lamb ...

  7. MediaRecord一些使用记录

    今天学习了MediaRecord的使用,第一次使用做个记录. MediaRecord作用是声音录制,使用步骤如下: 1.新建出音频文件代码如下: 先创建出用于存储音频文件 File dir = new ...

  8. /etc/default/useradd

    系统默认的shell在,/etc/default/useradd 中,添加用户的时候如果不指定shell,默认的shell就是该文件下制定的文件

  9. nagios的一些东西

    make install 用来安装nagios的主程序,cgi和html文件 make install-init 在/etc/rc.d/init.d目录下创建nagios启动脚本 make insta ...

  10. linux各文件夹的作用(转)

    转自:http://www.cnblogs.com/amboyna/archive/2008/02/16/1070474.html linux下的文件结构,看看每个文件夹都是干吗用的/bin 二进制可 ...