聪明学python【5】+【6】
聪明学python【5】+【6】
【5】循环
-
for
-
本质(功能):基于提供的范围,重复执行特定次数的操作(注意:区分C语言和python的“重复”和“循环”:C语言更倾向于用循环数字来实现重复,Python可以直接实现重复,在需要时使用数字循环)
-
格式:
#格式1————循环 x for x in range(m, n+1):#格式2————直接遍历列表 for number in list_numbers:#格式3————嵌套 for x in range(1, xMax+1): for y in range(1, yMax+1):可以理解,对纯数字处理来说,嵌套相当于升维
-
range()函数
- 功能:创建一个包含等差数列的可迭代对象
- 格式:
range([start], stop[, step])start: 可选参数,表示数列的起始值,默认为0。stop: 必填参数,表示数列的结束值(不包含在数列中)。step: 可选参数,表示数列的步进值,默认为1。
-
-
while循环
- 功能:(因为你可以注意到,for循环,不像C语言,没有逻辑表达式,所以只能结束循环次数可知(或者间接可知)次数的循环)所以,当不知道什么时候停下来的时候用while。
- 注意:不建议在知道循环次数的情况下用while循环
-
循环控制语句
break跳出当前整个循环continue跳过这次循环pass啥也不做,占位符(不会被运行)
-
假循环&死循环
-
实现循环输入,直到输入特定值,输入结束
while True: response = input("输入一个字符串(输入 done 则退出): ") if response == "done": break -
函数中,做到满足条件就返回
for factor in range(2,n): if n % factor == 0: return False
-
【6】字符串
-
字符串文字:
-
表示:
- 引号
''""""""""''''''四种 - 转义序列
\n换行、\t制表符、 - 字符串不可变,并且别名也不可变
(s = 'Data' “Data”* t = s s += 'whale'
t 只是 “Data” 的一个只读别名)
- 引号
-
错误:
# 这会导致语法错误,Python 无法正确判断一个字符串的终止位置 print("聪明办法学 Python 第二版的课程简称是 "P2S"")#我们现在有两个字符串 #s1 = "Data\tWhale" #s2 = "Data Whale" #它俩看起来似乎是一样的 print("s1:", s1) print("s2:", s2) #s1: Data Whale #s2: Data Whale s1 == s2 False
-
-
字符串常量
-
import string print(string.ascii_letters) #abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ print(string.ascii_lowercase) #abcdefghijklmnopqrstuvwxyz print(string.ascii_uppercase) #ABCDEFGHIJKLMNOPQRSTUVWXYZ print(string.digits) #0123456789 print(string.punctuation) # < = > #!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ print(string.printable) #0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ print(string.whitespace) # print(repr(string.whitespace)) #' \t\n\r\x0b\x0c'
-
-
字符串运算
- 加、乘、in(
"ring" in "strings"是一个逻辑表达式,结果为False或者Ture)
- 加、乘、in(
-
索引、切片
-
单个字符索引(像C语言数组元素的引用,不多说)
-
len()函数:返回字符串长度【注意:IndexError】
-
索引&负数索引
参数:step、
print(s[:4]) print(s[4:]) print(s[:]) '''Data whale Datawhale'''
-
-
字符串循环
-
用索引的 for 循环
for i in range(len(s)): print(i, s[i])使用
enumerate()获得元素的序号for idx, c in enumerate(s): print(idx, c)zip(a, b)可以在一次循环中,分别从a和b里同时取出一个元素for a, b in zip(s, reverseString(s)):输入转换:
split()list__ = list( map( int,input.split() ) ) -
内置函数
str()和len()chr()和ord()(互逆,字符和码的转换)
-
方法
strip()可以将字符串首尾的空格删除replace()替换count()有疑问……???startswith() endswith()注意:是判断而不是输出(分别针对前后缀)- 格式化字符串(前面有说,不多说)
基础文件操作
-
Open()函数- Python
open()函数用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数。 - 格式:
open(file, mode)(和C语言一样)函数主要有file和mode两个参数,其中file为需要读写文件的路径。mode为读取文件时的模式,和C语言一样。
- Python
-
文件对象
-
open函数会返回一个 文件对象。 -
方法:
-
close( ): 关闭文件 -
在r与rb
模式下:
read(): 读取整个文件readline(): 读取文件的一行readlines(): 读取文件的所有行
-
在w与a模式下:
-
write(): -
writelines(): -
注意:每次操作结束后,及时通过
close( )方法关闭文件
理解:指针的理解这里是比较好理解的,所以应对(指针读完后移)的方法是重新关闭和打开(这点和C语言不同)
-
-
-

浙公网安备 33010602011771号