python学习相关02

001循环与条件语句

1.Python可有效避免循环else
相同缩进级别的if 和 else相互搭配,不会像c语言一样实行就近原则

2.条件表达式–三元操作符
可以使用一条语句实现条件判断和赋值操作

 x,y=4,5
>>> small = x if x<y else y
>>> small

3.断言 assert
当关键字assert后的条件为假时,程序自动崩溃并抛出AssertionError

>>> assert 3>4
Traceback (most recent call last):
  File "<pyshell#21>", line 1, in <module>
    assert 3>4
AssertionError

一般用它在程序中置入检查点,当需要确保程序中的某个条件一定为真时才能让程序工作,此时assert非常有用

4.while循环
while 条件:
循环体(为真时执行循环体)
注意每执行一次循环体,条件的 i 就要+1

5.for循环
for 目标 in 表达式 //目标是变量,表达式是列表
循环体

>>> favorite = 'bts'
>>> for t in favorite:
	print(t,end='')

	
bts

在列表中的情况

>>> member = ['v','jimin','suga']
>>> for each in member:
	print(each,len(each))

	
v 1
jimin 5
suga 4
>>> 

6.range()函数
for的内置函数,用于生成随机数,生成一个从start开始到stop参数的值,如range(1,5)生成的数为1~4
step=1是默认的,默认每次增加的数为1,称为步进,也可以为负数

range(1, 5)
>>> list(range(1,5))
[1, 2, 3, 4]

7.两个关键的语句
break 与 continue
break:终止当前循环,跳出循环体
continue:终止本轮循环并开始下一轮循环

>>> for i in range(10):
	if i%2 != 0:
		print(i)
		continue
	i += 2
	print(i)

	
2
1
4
3
6
5
8
7
10
9

002列表(索引从0 开始)

打了激素的数组
1.普通列表,混合列表,空列表

 bts = ['金硕珍','闵玧其','郑号锡','金南俊','朴智旻','金泰亨','田柾国']
>>> bts
['金硕珍', '闵玧其', '郑号锡', '金南俊', '朴智旻', '金泰亨', '田柾国']
>>> number[1,2,3,4,5]
>>> number=[1,2,3,4,5]
>>> number
[1, 2, 3, 4, 5]

2.向列表末尾添加元素
使用append(),一次只能添加一个,超过会报错

>>> number.append(7)
>>> number
[1, 2, 3, 4, 5, 7]

使用extend(),可以添加其他列表

>>> number.extend([5,7])
>>> number
[1, 2, 3, 4, 5, 7, 5, 7]
>>> 

使用insert()插入到列表的任意位置,注意索引是从[0]开始

>>> number
[1, 2, 3, 4, 5, 7, 5, 7]
>>> number.insert(2,6)
>>> number
[1, 2, 6, 3, 4, 5, 7, 5, 7]
>>> 

3.从列表中获取元素
从元素的索引值从列表中获取单个元素,注意索引是从0开始的

>>> number
[1, 2, 6, 3, 4, 5, 7, 5, 7]
>>> number[2]
6

4.从列表删除元素
remove(),可以不知道元素的位置,但是必须知道元素的值,删除后还可以接着使用被删除的值
remove是个函数,使用方法是列表.remove(元素变量)

del [ ]知道元素位置,删除的元素之后不能再使用
del是语句,直接使用,标出元素位置 ,如del[1]

pop(),从列表中取出最后一个元素并返回给你接着使用,相当于弹出栈顶元素
实际上,pop()可以弹出列表中任意位置的元素,只要知道索引,加上参数即可

5.列表分片/切片slice
利用索引值,每次可以从列表中获取一个元素,如果需要一次性获取多个元素,利用列表分片即可实现,原列表不发生变化
列表名称[第一个元素的索引值:第二个元素的索引值的后一个]
左闭右开

>>> bts = ['金南俊','金硕珍','闵玧其','郑号锡','朴智旻','金泰亨','田柾国']
>>> bts[1:4]
['金硕珍', '闵玧其', '郑号锡']

使用[ : ] 可以复制列表,进行改动,并不改变原列表

003列表的一些常用操作符

>>> list1 = [123,234]
>>> list2 = [234,111]
>>> list1 > list2
False

比较,默认从索引为0的开始比较只要有一个为false就不再比较后面的
and / in / not in / * / *=等等

004列表的一些内置函数

dir(list)
[‘add’, ‘class’, ‘contains’, ‘delattr’, ‘delitem’, ‘dir’, ‘doc’, ‘eq’, ‘format’, ‘ge’, ‘getattribute’, ‘getitem’, ‘gt’, ‘hash’, ‘iadd’, ‘imul’, ‘init’, ‘init_subclass’, ‘iter’, ‘le’, ‘len’, ‘lt’, ‘mul’, ‘ne’, ‘new’, ‘reduce’, ‘reduce_ex’, ‘repr’, ‘reversed’, ‘rmul’, ‘setattr’, ‘setitem’, ‘sizeof’, ‘str’, ‘subclasshook’, ‘append’, ‘clear’, ‘copy’, ‘count’, ‘extend’, ‘index’, ‘insert’, ‘pop’, ‘remove’, ‘reverse’, ‘sort’]

count()计算参数在列表中出现的次数

>>> list1 = [123,234,234,234,456,678,454]
>>> list1.count(234)
3

index(),返回参数在列表中的位置,即索引值

>>> list1 = [123,234,234,234,456,678,454]
>>> list1.count(234)
3
>>> list1.index(123)
0
>>> list1.index(234,1,4)
1
>>> //从索引值14范围内,234第一次出现的索引位置

reverse(),将整个列表原地反转,逆排序

sort(),使用指定的方法对列表元素进行排序,默认的是按从小到大进行排序

>>> list1 = [2,3,5,1,2,7,9]
>>> list1.sort()
>>> list1
[1, 2, 2, 3, 5, 7, 9]
>>> list1.reverse()
>>> list1
[9, 7, 5, 3, 2, 2, 1]
>>> 

sort的参数有三个
sort(func, key, reverse=false)此时默认的是正排序,如果将reverse参数改为true,则就逆排序

>>> list1.sort(reverse=True)
>>> list1
[9, 7, 5, 3, 2, 2, 1]

拷贝与直接赋值的区别

>>> list2 = list1[:]
>>> list2
[9, 7, 5, 3, 2, 2, 1]
>>> list3 = list1
>>> list3
[9, 7, 5, 3, 2, 2, 1]
>>> list1.sort()
>>> list1
[1, 2, 2, 3, 5, 7, 9]
>>> list2
[9, 7, 5, 3, 2, 2, 1]
>>> list3
[1, 2, 2, 3, 5, 7, 9]
>>> 

拷贝之后,对原列表进行的操作对拷贝后的列表不影响,但是直接赋值的列表会和原列表进行一样的操作,直接赋值相当于起了个别的名字,多了一个指向他的标签

004元组

1.元组的定义
元组和列表是近亲关系,列表适用于存储在程序运行期间可能变化的数据集,列表是可以修改的,但是有时需要创建一组不可修改的元素,python将不能修改的值称为不可变的,不可变得列表被称为元组
注意元组使用圆括号而不是列表的方括号来标识,逗号是最重要的

想要创建一个空元组,若要想创建只有一个元素的元组,记得加逗号,不然类型会出错

>>> temp1 = (1)
>>> type(temp1)
<class 'int'>
>>> temp2 = 2,3,4,
>>> type(temp2)
<class 'tuple'>

创建只有一个元素的元组

>>> temp3 = (2,)
>>> type(temp3)
<class 'tuple'>
>>> 

2.元组的更新和删除
对列表的更新常使用切片的方法,那么对于元组呢
虽然不能修改元组的元素,但是可以给存储元组的变量赋值,因此,如果要修改,可以重新定义整个元组

>>> temp = ('闵玧其','金泰亨','金南俊')
>>> temp = temp[:2]+('朴智旻',)+temp[2:]
>>> temp
('闵玧其', '金泰亨', '朴智旻', '金南俊')
>>> del temp
>>> temp
Traceback (most recent call last):
  File "<pyshell#49>", line 1, in <module>
    temp
NameError: name 'temp' is not defined
>>> 

3.元组的相关操作符
拼接:+ 左右类型必须一致,是元组都是元组
逻辑操作符,成员操作符,

005字符串的内置方法

  1. capitalize() 把字符串的第一个字符改为大写
  2. casefold() 把整个字符串中的所有字符改为小写
  3. center(width) 将字符串居中,并使用空格填充至长度width的新字符串,长度为参数
  4. count(sub[,start[,end]]) 返回sub在字符串里出现的次数,start和end参数表示范围,可选
  5. endswith(sub[,start[,end]]) 返回的结果是布尔值,检查字符串是否以sub子字符串
  6. expandtabs([tabsize=8]) 把字符串中的tab符号(\t)转换为空格,如不指定参数,默认的空格数是tabsize=8
  7. find(sub[,start[,end]])检测sub是否包含在字符串中,如果有就返回索引值,否则返回-1
  8. index(sub[,start[,end]])与find的作用一样,只是当sub不在字符串中时不是返回-1而是产生一个异常
  9. isalum()如果字符串至少有一个字符并且所有的字符都是字母或数字则返回true否在返回false
    10.isalpha()如果字符串至少有一个字符且所有字符都是字母则返回true
>>> str2 = '防弹少年团'
>>> str2.center(40)
'                 防弹少年团                  '
>>> len(str2)
5
>>> str2.count('少')
1
>>> str2
'防弹少年团'
>>> str3 = ('\tb\tts')
>>> str3.expandtabs()
'        b       ts'
>>> str3.expandtabs(5)
'     b    ts'
>>> str3.find('t')
3
>>> str3.find('v')
-1
>>> 

006字符串的格式化

1.按照统一的规格去输出字符串

>>> "{0} love {1}.{2}".format("I","bts","com")
'I love bts.com'
>>> 

字段0,1,2分别用花括号括起来表示字段,通过位置参数I,bts,com,传递给了format()方法,format()方法对字符串进行了格式化整理

注意,format()有两种参数,一种是上面例子所示的{}内的位置参数,一种叫做关键字参数

>>> "{a} love {b}.{c}".format(a="I",b="bts",c="com")
'I love bts.com'
>>> 

位置参数与关键字参数的结合,但是结合时,位置参数必须在关键字参数之前

>>> "{0} love {b}.{c}".format("I",b="bts",c="com")
'I love bts.com'
>>> '{0:.1f}{1}'.format(27.658,'GB')
'27.7GB'
>>> #冒号表示格式化符号的开始,后面接的就是格式化符号。.1表示四舍五入保留一位小数点,f表示打印出定点数

2.字符串独自享有的操作符
%号在遇到数字时求余操作符,但是当 %c 遇到字符串时,就变为格式化字符及其ASCII码

>>> '%c'%77
'M'
>>> 

%s ,%d, %o, %x, %X, %f, %e 等

3.格式化操作辅助命令
m,n
m是显示的最小总宽度,n是小数点后的位数
+
用于在正数前面加正好
‘-’
用于左对齐
#
在八进制前显示‘0’,在十六进制前显示‘0x’
‘0’
显示的数字前面填充零来取代空格

>>> '%.2e'%27,658
('2.70e+01', 658)
>>> '%10d'%5
'         5'
>>> '%-10d'%5
'5         '
>>> '%+d'%5
'+5'
>>> '%+d'%-5
'-5'
>>> '%#o'%10
'0o12'
>>> '%#x'%108
'0x6c'
>>> '%#d'%10
'10'
>>> '%010d'%5
'0000000005'
>>> '%0-10d'%5
'5         '
>>> 

4.字符串转义字符的含义
’ 打印出一个单引号
"打印出一个双引号
\n 换行符
\t 制表符

>>> '\''
"'"
>>> '\"'
'"'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值