python学习笔记
注释:
会被解释器所忽略,辅助调试
单行注释以#开头,如
#此为一个注释
多行注释:多个# 或者三个单or双引号,如
##我是
##注释
##我也是
‘’’/“””
我是注释
‘’’/“””
结构
注意 :👈冒号
多分枝结构:if elif else
注意缩进 👆
循环:while&for
while语句
while<条件>:
<语句块>
for语句(遍历):
for i(元素) in A(组合 如字符串 列表 元组 )
break语句:跳出当前循环
行与缩进
缩进:Python中用来表示代码块,就不必用大括号
意味着,同一个代码块中的语句中必须包含相同的缩进空格数
如:
if Ture:
print(“True”)
else:
print(“False)
print(“You fool”)
👆此处代码块的缩进不一致,便会出现运行错误:
IndentationError: unindent does not match any outer indentation level
注意:tab换行长度上和四个空格一样 但有时混用tap和空格可能导致报错
但是根本很难看得出来
除非你用 notepad+ 去查看
多行语句
用反斜杠\来实现多行语句,例如:
*total = one +\*
*two +\*
three
在[], {} , ()中的多行语句则不需要使用反斜杠
数据类型
int:整数 可正负 无取值范围限制
bool:布尔,如:True
float:浮点数,如:1.23、3E-2
complex:复数,如:1+2j、1.1+2.2j
字符串
- python中单引号’与双引号”使用完全相同,使用三引号(单双都行)可以指定一个多行字符串
- 反斜杠\用来转义,用字母r可以使反斜杠不转义。
- *按字面意义级联字符串,如 “this “ “is “ “string” 会被自动转换为 this is string。*
- 字符串可以用 + 运算符连接在一起,用 ***** 运算符重复。
- Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始
- Python 中的字符串不能改变。
- Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
- 字符串的截取(切片)的语法格式如下:变量[头下标:尾下标:步长]
eg:
str=’123456789’
print(str) # 输出字符串 123456789
print(str[0:-1]) # 输出第一个到倒数第二个的所有字符 12345678
print(str[0]) # 输出字符串第一个字符(从0开始数) 1
print(str[2:5]) # 输出从第三个开始到第五个的字符 345
print(str[2:]) # 输出从第三个开始后的所有字符 3456789
print(str[1:5:2]) # 输出从第二个开始到第五个且每隔一个的字符(步长为2)24
print(str * 2) # 输出字符串两次 123456789123456789
print(str + ‘你好’) # 连接字符串 123456789你好
print(‘hello\nrunoob’) # 使用反斜杠()+n转义特殊字符 hello换行rb
print(r’hello\nrunoob’) # 在字符串前面添加一个 r,表示原始字符串,不会发生转义 hello\nrunoob
在需要在字符中使用特殊字符时,python 用反斜杠 ** 转义字符。如下表:
转义字符示例
转义字符 描述 实例 (在行尾时) 续行符 >>> print("line1 \ ... line2 \ ... line3") line1 line2 line3 >>>
\ 反斜杠符号 >>> print("\\") \
' 单引号 >>> print('\'') '
" 双引号 >>> print("\"") "
\a 响铃 >>> print("\a")
执行后电脑有响声。\b 退格(Backspace) >>> print("Hello \b World!") Hello World!
\000 空 >>> print("\000") >>>
\n 换行 >>> print("\n") >>>
\v 纵向制表符 >>> print("Hello \v World!") Hello World! >>>
\t 横向制表符 >>> print("Hello \t World!") Hello World! >>>
\r 回车,将 \r 后面的内容移到字符串开头,并逐一替换开头部分的字符,直至将 \r 后面的内容完全替换完成。 >>> print("Hello\rWorld!") World! >>> print('google runoob taobao\r123456') 123456 runoob taobao
\f 换页 >>> print("Hello \f World!") Hello World! >>>
\yyy 八进制数,y 代表 0~7 的字符,例如:\012 代表换行。 >>> print("\110\145\154\154\157\40\127\157\162\154\144\41") Hello World!
\xyy 十六进制数,以 \x 开头,y 代表的字符,例如:\x0a 代表换行 >>> print("\x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64\x21") Hello World!
\other 其它的字符以普通格式输出 ord chr函数
ord(“”) 获取unicode编码
chr(“”) 根据unicode 编码输出字符
有点像c里Ascii码与字符互相确定 不过python里能够使用汉字
字符串处理方法
方法:有别于函数又有类似之处
str.lower() 小写
str.upper() 大写
str.split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串 返回列表
str.replace(old,new) 指定内容替换
str.center(width[])方法返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
etc.
****
列表list
lis1 = [ ]
位置值(索引) 对应元素
👆从0开始 0对应第一个 1对应第二个
列表的方法;
Python包含以下方法:
序号 方法 1 list.append(obj) 在列表末尾添加新的对象 2 list.count(obj) 统计某个元素在列表中出现的次数 3 list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) 4 list.index(obj) 从列表中找出某个值第一个匹配项的索引位置 5 list.insert(index, obj) 将对象插入列表 6 [list.pop(index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 7 list.remove(obj) 移除列表中某个值的第一个匹配项 8 list.reverse() 反向列表中元素 9 list.sort( key=None, reverse=False) 对原列表进行排序 10 list.clear() 清空列表 11 list.copy() 复制列表
运算符
优先级由高到低:not and or
1 | x = True |
结果是 yes!
is 与 == 区别:
is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。
函数:
使用def 函数定义新函数
def 函数名 ( 函数参数):
xxx 函数体
return x 返回值
输入函数input()
使用格式:<变量> = input(<提示信息字符串>)
用户输入信息以字符串类型保存在<变量>中
print函数
print(a,b,sep=”空格”)控制间隔
print(a,b,end=”默认\n”)控制结束时
格式化输出:
print(“hello %s you are %d” %(name,age))
print(“hello {数字表示顺序 默认0}, you are {默认1}”.format(name,age))
string.format
{<参数序号>:(填充)<格式控制标记>}
eval函数
函数用来执行一个字符串表达式,并返回表达式的值。
eval() 函数也可以直接用来提取用户输入的多个值。
例如:
1 | a,b=eval(input()) |
输入:10,5,得到 a=10,b=5。
range函数:创建整数列表
range(start,end,step)
默认0 默认1 默认1
数学函数
数学函数与随机数函数示例
函数 | 返回值 ( 描述 ) |
---|---|
abs(x) | 返回数字的绝对值,如abs(-10) 返回 10 |
ceil(x) | 返回数字的上入整数,如math.ceil(4.1) 返回 5 |
cmp(x, y) | 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。 Python 3 已废弃,使用 (x>y)-(x<y) 替换。 |
exp(x) | 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045 |
fabs(x) | 返回数字的绝对值,如math.fabs(-10) 返回10.0 |
floor(x) | 返回数字的下舍整数,如math.floor(4.9)返回 4 |
log(x) | 如math.log(math.e)返回1.0,math.log(100,10)返回2.0 |
log10(x) | 返回以10为基数的x的对数,如math.log10(100)返回 2.0 |
max(x1, x2,…) | 返回给定参数的最大值,参数可以为序列。 |
min(x1, x2,…) | 返回给定参数的最小值,参数可以为序列。 |
modf(x) | 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。 |
pow(x, y) | x**y 运算后的值。 |
[round(x ,n]) | 返回浮点数 x 的四舍五入值,如给出 n 值,则代表舍入到小数点后的位数。其实准确的说是保留值将保留到离上一位更近的一端。 |
sqrt(x) | 返回数字x的平方根。 |
随机数函数
随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。
Python包含以下常用随机数函数:
函数 | 描述 |
---|---|
choice(seq) | 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。 |
[randrange (start,] stop [,step]) | 从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1 |
random() | 随机生成下一个实数,它在[0,1)范围内。 |
[seed(x]) | 改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。 |
shuffle(lst) | 将序列的所有元素随机排序 |
uniform(x, y) | 随机生成下一个实数,它在[x,y]范围内。 |