python基础语法3

python基础语法3

1.流程控制之for循环

for循环时python中循环结构中的第二种循环方式,for循环可以做的事while循环都可以实现,之所以用for循环时因为在循环取值时(即遍历值)时for循环比while循环更加简洁。

能让for循环遍历的值一定是个可迭代对象 。   # 此时只需知道可迭代对象可以是字符串\列表\字典,我们之后会专门讲解可迭代对象

for循环的用法如下:

  1.for + break

  与while循环一样,直接结束循环。

  2.for+continue

  结束本次循环

  3、for + else

  循环正常结束后才能运行else中的代码,被break打断循环时,不会运行else

  4.for+range

  运行range后得到的值是一个列表,在python2中就会得到一个列表,但是在python3中就是range(x,y),如果直接生成列表,数据太多就会浪费内存,range就会用一个取一个,节省内存。

  range中可以输入3个值,range(x,y,z)x代表起始位置,y代表结束位置,z代表步长,最终的值中x可取到,y取不到,所以我们称range是顾头不顾尾。数据中只有一个数据时,默认数据为y,x默认为  0,步长默认为1。

  5、for+enumerate(列举)

  ll = [111,222,33,444,555]

  for i,v in enumerate(ll): # i,v=(0, 111)
  print(i,v)

  从中可以看出,表示索引值,v表示索引中的值。

  6、for循环嵌套

  for循环也可以循环嵌套

  案例一:九九乘法表  

  """
  for i in range(1,10):
  for j in range(1,10):
   if j <= i:
   print("{}*{}={}".format(i,j,i*j),end="\t")
   print("\n")
  # 优化
  for i in range(1,10):
   for j in range(1,i+1):
   print("{}*{}={}".format(i,j,i*j),end="\t")
   print("\n")
  """

  案例二:金字塔

  # max_l = 5
  # for min_l in range(1,max_l+1):
  # for i in range(max_l-min_l):
  # print(" ",end=" ")
  # for j in range(2 * min_l - 1):
  # print("*",end=" ")
  # print("\n")

二 可变和不可变类型

可变类型:值改变了,id不变,证明就是在改变原值,原值是可变类型。                        例如:list列表类型,dict字典类型

不可变类型:值改变了,id也跟着变,证明就是在产生了新的值,原值是不可变类型。  例如:int 整数型,float浮点数型,str字符串类型

 

三 数字类型

int 和 float 的基本使用

本质:age = 10   #age = int(10)

   salary = 3.1 #salary = float(10)

# 注意:名字+括号的意思就是调用某个功能,比如
# print(...)调用打印功能
# int(...)调用创建整型数据的功能
# float(...)调用创建浮点型数据的功能

数据转换:

  int只能转换纯数字型的字符串

  float转换可以有一个小数点

进制转换:

  bin():转换为二进制

  oct():转换为八进制

  hex():转换为十六进制

它们都只能存一个值,是不可变类型。

 

字符串的基本使用

定义:在单引号 / 双引号 / 三引号 包含的一串字符

类型转换:str() 可以把任何类型转换为字符串类型

使用:1.优先掌握的操作

   (1)按索引取值

    str[x]  当x为正数时是正向取,当x为负数时是反向取。正向取的第一个是0号索引,反向取的第一个是-1。

    字符串只能取值,不能改值。

   (2)切片:

      str[x,y,z] 类似与range中的值,x是起始位置,y是结束位置,顾头不顾尾,z是步长。

   (3)反向切片:和正向切片的区别是x最多是-1,y要比x小,步长也要是负数。

   (4)长度len:len()可以计算字符串的长度

   (5)成员运算in 和not in :in判断是否在字符串里面,not in 相反。

   (6)strip移除字符串首尾指定的字符(默认是空格)。

   (7)切分split 以括号中的字符为分隔字符,切分为多个部分(括号中不指定字符,默认是空格)

     切分的结果为列表list。

   (8)循环:字符串可以被for循环遍历,一个个输出字符。

  2.需要掌握的操作

  1.strip, lstrip, rstrip

  strip是移除两边的字符,lstrip就是移除左边的字符,rstrip就是移除右边的字符

  2.lower(),upper()

  lower()是将英文字符串全转换为小写

  upper()是将英文字符串全转换为大写

  3.startswith,endswith

  判断结果是否与括号里的相同,结果是布尔值。

  4.格式化输出之format

  字符串的内置方法format提供了一种不依赖位置的传值方式。

# format括号内在传参数时完全可以打乱顺序,但仍然能指名道姓地为指定的参数传值,name=‘tony’就是传给{name}
>>> str4 = 'my name is {name}, my age is {age}!'.format(age=18,name='tony')
>>> str4  
'my name is tony, my age is 18!'

>>> str4 = 'my name is {name}{name}{name}, my age is {name}!'.format(name='tony', age=18)
>>> str4  
'my name is tonytonytony, my age is tony!'

  5.split,rsplit

  split是从左往右切分,rsplit是从右往左切分。

  6.join

  可以将可迭代对象中的字符串按指定的分隔符进行拼接,结果还是字符串。

  "x".join(y) x是指定的分隔符,y是可迭代对象。

  7.replace

  用新的字符替换旧的字符。replace(x,y,z) x是旧值,y是新值,z是个数(没有z时全部换)。

  之前说到str类型是不可变类型,所以replace之后会产生一个新的字符串,并不是改变了之前的字符串。

  8.isdigit

  判断字符串是否为纯数字组成,返回结果时布尔值。

 

posted @ 2021-03-22 12:18  余鑫  阅读(77)  评论(0)    收藏  举报