1.1
(1)转义字符
(2)print(),默认换行。即在输出后自动加上一个换行符(\n)。
使用 end=" ":改变 print() 的默认行为。告诉 print() 函数在每次输出完后不要换行,而是加一个空格 " "。
举例:
for x in [1, 2, 3]:
print(x, end=" ")
输出结果:
1 2 3
for x in [1, 2, 3]:
print(x)
输出结果:
1
2
3
(3)字符串格式化:即把一些值放到字符串里,形成一个完整的句子。
使用方法:
1.使用 % 符号:
类似于 C 语言里的格式化,用 % 来占位。
举例:
name = "小朋友"
age = 5
print("你好,我是 %s,我今年 %d 岁了。" % (name, age))
%s:表示这里会放一个字符串。
%d:表示这里会放一个整数。
输出结果:
你好,我是 小朋友,我今年 5 岁了。
2.使用 format() 方法:
可把值放到大括号 {} 里,稍微现代一点。
举例:
name = "小朋友"
age = 5
print("你好,我是 {},我今年 {} 岁了。".format(name, age))
输出结果:
你好,我是 小朋友,我今年 5 岁了。
3.使用 f 字符串(格式化字符串,Python 3.6 以上):
更简洁,把变量直接写到大括号 {} 里,并在字符串前加个字母 f。
举例:
name = "小朋友"
age = 5
print(f"你好,我是 {name},我今年 {age} 岁了。")
输出结果:
你好,我是 小朋友,我今年 5 岁了。
(4)字符串格式化符号:
(5)格式化操作符辅助指令:
(6)Python三引号
‘’’ 或 “”" 可以用来写多行字符串或注释。
允许一个字符串跨多行,字符串中可包含换行符、制表符及其他特殊字符。
作为注释:不会输出。
作为字符串:会输出。
举例:
1.做注释:不输出内容
'''
这是一个多行注释。
不会输出。
'''
print("Hello!")
输出结果:
Hello!
注释不会输出,只有 print(“Hello!”) 才会显示 Hello!。
2.作为多行字符串:会输出。
举例:
text = '''这是一个多行字符串,
它会输出。'''
print(text)
输出结果:
这是一个多行字符串,
它会输出。
(7)HTML 帮助我们做网页。
SQL 帮助我们管理很多数据。
(8)f-string
字面量格式化字符串,新的格式化字符串的语法。
以 f 开头,后跟字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去,
(9)f-string 和 % 格式化字符串的区别
举例:
1.使用 f-string 的例子:
name = "Runoob"
age = 5
print(f"My name is {name} and I am {age} years old.")
输出:
My name is Runoob and I am 5 years old.
f-string 用大括号 {} 把变量直接放进去,像 {name} 会被替换成变量 name 的值,
{age} 会被替换成 age 的值。不用担心变量顺序和类型,直接写变量名。
2.使用 % 的例子:
name = "Runoob"
age = 5
print("My name is %s and I am %d years old." % (name, age))
输出:
My name is Runoob and I am 5 years old.
%s 表示字符串,%d 表示整数。
在最后用 % (name, age),此处 % 就像把 name 和 age 这些值
按顺序插入到字符串里的占位符 %s 和 %d 中。
% 格式化需要指定类型,还需把变量用 % 连接起来。
(10)字符串内建函数
(11)center(width, fillchar) 方法
作用:把字符串放在一个宽度为 width 的区域中,总宽度为width,
字符串两边填充 fillchar 字符(默认为空格)。
注意:1.需确保总宽度包括了字符串的实际长度加上希望填充的字符。
2. 居中时,两边的填充字符数尽量相等。若总宽度减去字符串长度是奇数,
填充字符数会分布在两边,其中一边会多一个填充字符。
举例:
text = "hello"
new_text = text.center(20, '*')
print(new_text) # 输出 "*******hello*******"
(12)列表、元组、集合、字典
列表和元组可以包含重复的元素。
集合不允许有重复的元素。
字典的键不能重复,但值可以重复。创建时若同一个键被赋值两次,后一个值会被记住;
(键必须不可变,故可用数字,字符串或元组充当,不可用列表)。
列表:可以修改、更新、添加和删除。有序。[]
元组:不可修改、更新、添加或删除。一旦创建,就不可再改(不可变指元组所指向的内存中
的内容不可变)。但能重新赋值元组变量。有序。()
集合:可以添加和删除,但不可修改现有元素。无序。{},set([])
字典:可以修改值、添加和删除键值对。3.7后有序。{}
(13)修改/更新列表
append() 添加列表项:列表名.append(想要添加的字符)
举例:
list = ['Google', 'Runoob', 1997, 2000]
print ("第三个元素为 : ", list[2])
list[2] = 2001
print ("更新后的第三个元素为 : ", list[2])
list1 = ['Google', 'Runoob', 'Taobao']
list1.append('Baidu')
print ("更新后的列表 : ", list1)
输出结果:
第三个元素为 : 1997
更新后的第三个元素为 : 2001
更新后的列表 : ['Google', 'Runoob', 'Taobao', 'Baidu']
(14)删除列表元素
del 语句删除列表中的元素:del 列表名[索引]
(15)嵌套列表
即在一个列表中包含另一个列表,类似于二维数组。
每个元素可以是普通的数值、字符串、甚至另一个列表。
举例:
nested_list = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
# 访问嵌套列表的元素
print(nested_list[0]) # 输出: [1, 2, 3]
print(nested_list[0][1]) # 输出: 2 (访问第一行的第二个元素)
(16)列表比较
引入 operator 模块的 eq 方法,(对应元素)相等则输出True。
(17)可迭代系列
即可以一个一个拿出里面的东西的东西,像列表和字符串。可以想象它们像一串糖果,可以一个一个拿出来。
tuple(iterable) 即把这些东西放到一个盒子里,这个盒子一旦封好,里面的东西就不会变了。盒子即元组,一旦糖果放进去,它们就不能再被改变。
(18)字典:dict是关键字和内置函数,变量名不建议命名为 dict。
创建字典的方法:
1.大括号{}
2.内置函数dict()
(19)字典的 copy() :就像你用复印机复印一张纸。你会得到一张看起来一样的纸,但如果纸上有一些可以拿掉的贴纸(像列表一样的东西),你在一张纸上把贴纸拿掉,另外一张纸上的贴纸也会消失。
举例:
1.你有一张纸,写着:
original_dict = {'a': 1, 'b': 2, 'c': [3, 4]}
2.你用复印机复制了一张:
copied_dict = original_dict.copy()
3.现在,你在新纸上把数字 1 改成 10:
copied_dict['a'] = 10
4.改完后,只有新纸变了:
原来的纸还是 {‘a’: 1, ‘b’: 2, ‘c’: [3, 4]}。
新纸是 {‘a’: 10, ‘b’: 2, ‘c’: [3, 4]}。
5.但是,若改了贴纸上的数字呢?
copied_dict['c'].append(5)
结果原来的纸和新纸上都出现了 [3, 4, 5]。
因为这些“贴纸”是共享的,你改一张,另一张也会跟着变!
(20)创建集合的方法:
1.大括号 { } ,set1={1,2,3}
2. set() 函数:从列表创建集合,set([1,2,3])
3. 创建空集用set()。创建空字典用{}。创建空元组tupel(),元组单个元素tuple(值,)。
(21)移除集合元素 s是集合名
1.s.remove( x ):将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。
2.s.discard(x):将元素 x 从集合 s 中移除,如果元素不存在,不会发生错误。
3.设置随机删除集合中的一个元素 s.pop():多次执行测试结果都不同。set 集合的 pop 方法会对集合进行无序排列,再将该无序排列集合的左面第一个元素进行删除。
(22)添加集合元素
1.s.add(x):将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。
2.s.update(x):参数可以是列表,元组,字典等。
(23)有些直接调用,而有些需要加上变量名.函数名。
内置函数:直接用函数名调用。
方法:用对象加点号调用方法。定义在对象上的函数,需通过对象来调用。必须先有一个对象(例如一个列表或字符串),再用点号(.)加上方法名来调用。
(24)if-elif-else:何时不需else,若在所有条件不满足的情况下不用执行任何特定的操作,或后续的代码逻辑无论如何都会执行,就可以不需要else语句。
match …case:3.10版本之后的。
(25)无限循环
可通过设置条件表达式永不为 false 来实现无限循环,可使用 CTRL+C 来退出当前的无限循环。其在服务器上客户端的实时请求非常有用。
(26)简单语句组: while 循环体中只有一条语句时可以将该语句与 while 写在同一行。
(27)for 循环:
1.可遍历任何可迭代对象,如一个列表或者一个字符串,若系列中无元素,则直接结束。
2.break 语句用于跳出当前循环体,不会执行 else 子句
举例:
遍历
sites = ["Baidu", "Google","Runoob","Taobao"]
for site in sites:
print(site)
输出结果:
Baidu
Google
Runoob
Taobao
打印
word = 'runoob'
for letter in word:
print(letter)
输出结果:(print输出默认换行,end=''用在末尾表示输出之间空格)
r
u
n
o
o
b
(28)内置函数range
1.range(stop)
生成从 0 开始到stop - 1的整数序列。
2.range(start,stop)
生成从start开始到stop - 1的整数序列。步长默认为 1。当start=stop时,无任何整数满足条件,故其是一个空的序列。
3.range(start, stop, step)
生成从start开始,每次增加步长step,到stop - 1的整数序列,step可正可负。
step为负:开始值大于结束值,生成一个从 start 开始,逐步递减(每次减少 step 的绝对值),直到小于 stop 的整数序列。
range(10, 0, -2) 会生成 10、8、6、4、2
4.range() 和 len() 函数以遍历一个序列的索引
举例:
>>>a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ']
>>> for i in range(len(a)):
... print(i, a[i])
输出结果:
0 Google
1 Baidu
2 Runoob
3 Taobao
4 QQ
>>>
5.break与contiune
break:可跳出for和while循环体。遇到break,剩余语句不再执行,直接跳出。
continue:被用来告知跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
举例:
while中break
n = 5
while n > 0:
n -= 1
if n = = 2:
break
print(n)
print('循环结束。')
输出结果:
4
3
循环结束。
while中 continue
n = 5
while n > 0:
n -= 1
if n == 2:
continue
print(n)
print('循环结束。')
输出结果:
4
3
1
0
循环结束。
(29)pass语句:一个占位符,表示在这个条件下什么都不做,且不会输出任何内容。
当语法上需要有语句但实际不想执行任何操作时可用,本身不产生任何输出。只是在代码结构中起到占位的作用,保证程序在语法上的正确性,直到需要的时候再用实际的代码替换pass。
(30)斐波那契数列
(31)注意
1.赋值先后顺序
a = 0; b = 1是两条依次执行的语句,先执行a = 0,然后执行b = 1。
a, b = 0, 1是在一个步骤中同时完成对a和b的赋值。
(32)推导式:用一句话,从一个东西里生成一个新的结果。
1.列表推导式
[表达式 for 变量 in 列表]
[out_exp_res for out_exp in input_list]
表示从 input_list 中逐个取出元素,取出的每个元素都暂时存放在 out_exp 这个变量里。
对 out_exp 做一些操作,然后将结果存入 out_exp_res 中。
或
[表达式 for 变量 in 列表 if 条件]
[out_exp_res for out_exp in input_list if condition]
2.字典推导式
{ key_expr: value_expr for value in collection }
或
{ key_expr: value_expr for value in collection if condition }
3.集合推导式
{ expression for item in Sequence }
或
{ expression for item in Sequence if conditional }
4.元组推导式(生成器)
(expression for item in Sequence )
或
(expression for item in Sequence if conditional )
可用range 区间、元组、列表、字典和集合等数据类型,快速生成一个满足指定需求的元组.
元组推导式是用 () 圆括号将各部分括起来,而列表推导式用的是中括号 []
生成器对象:像一个魔法箱子,每次你问它要数字,它就给你一个,直到所有数字都给完。
None:空类型。