python学习笔记(一)

从菜鸟教程中学习python的笔记:

一、python基础语法篇: 

1、输出语句 print("hello world!")      保存文件形式:xxx.py

2、(1)标识符的第一个字符必须是字母表中字母或下划线 _ 。其余为字母数字和下划线

      (2)保留字不能作为标识符

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

3、(1)单行注释:#xxx

      (2)多行注释:  ''' 注释 ''' 三个单引号             """ 注释 """三个双引号

                                      Python中单引号与双引号的使用方法完全相同。

4、多行语句:(1)如果语句很长,可以用反斜杠来表示\

total=item_one+\

item_two+\

item_three

                        (2)在 [], {}, 或 () 中的多行语句,不需要使用反斜杠 \                                 

total=['item_one','item_two','item_three',

       'item_four','item_fve']

5、字符串:(1)反斜杠可以用来转义,使用 r 可以让反斜杠不发生转义。 如 r"this is a line                                      with \n" 则 \n 会显示,并不是换行。

                    (2)字符串可以用 + 运算符连接在一起,用 * 运算符重复。

                    (3)Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。

                    (4)字符串的截取的语法格式如下:变量[头下标:尾下标:步长]

str='123456789'
print(str)                       # 输出字符串
print(str[0:-1])               # 输出第一个到倒数第二个的所有字符
print(str[0])                   # 输出字符串第一个字符
print(str[2:5])                # 输出从第三个开始到第六个的字符(不包含)
print(str[2:])                  # 输出从第三个开始后的所有字符
print(str[1:5:2])             # 输出从第二个开始到第五个且每隔一个的字符(步长为2)
print(str * 2)                 # 输出字符串两次
print(str + '你好')         # 连接字符串
print('------------------------------')
print('hello\nrunoob')      # 使用反斜杠(\)+n转义特殊字符
print(r'hello\nrunoob')     # 在字符串前面添加一个 r,表示原始字符串,不会发生转义

 字符串是一个左开右闭区间,因此输出的结果如下所示:

123456789
12345678
1
345
3456789
24
123456789123456789
123456789你好
------------------------------
hello
runoob
hello\nrunoob

      python字符串不能被改变

6、空行:函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也                   用一行空行分隔,以突出函数入口的开始。       

print('\n')         #输出空行
print(r‘\n’)   #输出\n
input("\n\n按下 enter 键后退出。")  #\n\n 在结果输出前会输出两个新的空行。一旦用按下 enter 键时,将退出。

7、在交互式命令运行中:空格、换行都算一个字符

8、print默认输出是换行的,即为end="\n",如果要实现不换行需要在变量末尾加上 end="",双引       号里面可以添加特色的符号或者字符串

9、在 python 用 import 或者 from...import 来导入相应的模块。

       将整个模块(somemodule)导入,格式为: import somemodule

      从某个模块中导入某个函数,格式为: from somemodule import somefunction

      从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc

      将某个模块中的全部函数导入,格式为: from somemodule import *

二、python的基本数据类型

1、(1)python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创            建。

      (2)a = b = c = 1     创建一个整型对象,值为 1,从后向前赋值,三个变量被赋予相同的数值。

      (3)a, b, c = 1, 2, "runoob"                   两个整型对象 1 和 2 的分配给变量 a 和 b,字符串对象              "runoob" 分配给变量 c。

2、数值运算:

>>> 5 + 4  # 加法
 9                       
>>> 4.3 - 2 # 减法
2.3
>>> 3 * 7  # 乘法
21
>>> 2 / 4  # 除法,得到一个浮点数
0.5
>>> 2 // 4 # 除法,得到一个整数
0
>>> 17 % 3 # 取余 
2
>>> 2 ** 5 # 乘方
32

3、布尔类型:只有True和False

a = True
b = False
# 比较运算符
print(2 < 3)   # True
print(2 == 3)  # False
# 逻辑运算符
print(a and b)  # False
print(a or b)   # True
print(not a)    # False
# 类型转换
print(int(a))   # 1
print(float(b)) # 0.0
print(str(a))   # "True"

          注:在 Python 中,所有非零的数字和非空的字符串、列表、元组等数据类型都被视为                          True,只有 0、空字符串、空列表、空元组等被视为 False。因此,在进行布尔类型转                     换时,需要注意数据类型的真假性。

4、(1)列表与python字符串不一样的是,列表中的元素是可以改变的:

>>> a = [1, 2, 3, 4, 5, 6]
>>> a[0] = 9
>>> a[2:5] = [13, 14, 15]
>>> a
[9, 2, 13, 14, 15, 6]
>>> a[2:5] = []   # 将对应的元素值设置为 [] 
>>> a
[9, 2, 6]

       注:list写在方括号之间,元素用逗号隔开。

       (2)如果第三个参数为负数表示逆向读取,以下实例用于翻转字符串:     

def reverseWords(input): 
    # 通过空格将字符串分隔符,把各个单词分隔为列表
    inputWords = input.split(" ") 
    # 翻转字符串
    # 假设列表 list = [1,2,3,4],  
    # list[0]=1, list[1]=2 ,而 -1 表示最后一个元素 list[-1]=4 ( 与 list[3]=4 一样) 
    # inputWords[-1::-1] 有三个参数
    # 第一个参数 -1 表示最后一个元素
    # 第二个参数为空,表示移动到列表末尾
    # 第三个参数为步长,-1 表示逆向
    inputWords=inputWords[-1::-1]   
    # 重新组合字符串
    output = ' '.join(inputWords)       
    return output  
if __name__ == "__main__": 
    input = 'I like runoob'
    rw = reverseWords(input) 
    print(rw)

5、元组的元素不能修改,元组写在小括号里,元素之间用逗号隔开。

        构造包含 0 或 1 个元素的元组的特殊语法规则。

tup1 = ()    # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号


6、Python 中的集合(Set)是一种无序、可变的数据类型,用于存储唯一的元素。

     集合中的元素不会重复,并且可以进行交集、并集、差集等常见的集合操作。         

a=set('arbacaadbra')
b = set('alacazam')
print(a-b)    #a和b的差集     在a中有而b中没有的元素

#输出的结果为:{'r', 'b', 'd'}

      在 Python 中,集合使用大括号 {} 表示,元素之间用逗号 , 分隔。

      另外,也可以使用 set() 函数创建集合。

     注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

                集合输出的顺序是不固定的。

7、列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通       过键来存取的,而不是通过偏移存取。

      字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。

      键(key)必须使用不可变类型。在同一个字典中,键(key)必须是唯一的。

8、与字符串类型不同的是,bytes 类型中的元素是整数值(0 到 255 之间的整数),而不是                Unicode 字符。

三、python运算符:

1、算术运算符:

   变量a=10,变量b=21

   (1)%    取模-返回除法的余数      b%a输出结果为1

   (2)**     幂-返回x的y次幂            a**b为10的21次方

   (3)//      取整除-往小的方向取整数           9//2 输出结果为4 ;若-9//2输出结果为-5

2、比较运算符

3、赋值运算符:新增海象运算符

4、位运算符:

下表中变量 a 为 60,b 为 13二进制格式如下:

a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a  = 1100 0011
&按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0(a & b) 输出结果 12 ,二进制解释: 0000 1100
|按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。(a | b) 输出结果 61 ,二进制解释: 0011 1101
^按位异或运算符:当两对应的二进位相异时,结果为1(a ^ b) 输出结果 49 ,二进制解释: 0011 0001
~按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1(~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。
<<左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。a << 2 输出结果 240 ,二进制解释: 1111 0000
>>右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数a >> 2 输出结果 15 ,二进制解释

5、逻辑运算符:查看其余的笔记  bool值除了空的几个为false 其余为true

           注:and 与or的运算顺序为从左至右,而not的运算顺序在and与or之前。

       【Python】详解 逻辑运算符 (and / or / not) + 布尔逻辑 (bool)_not是什么逻辑运算-CSDN博客6、成员运算符:in:在指定序列中找到返回值; not in:在指定序列中没有找到返回值。

7、身份运算符:is:id(x)==id(y)如果引用一个对象则返回True,否则返回False。 is not反之.

     注意is与==的区别:is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值                                        是否相等。

8、菜鸟教程运算符优先级的表格注意查看。

四、python数字

1、数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间。

2、复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b        都是浮点型。

3、数字运算总是返回一个浮点数

4、菜鸟教程上面的一些函数

五、Python字符串

1、变量[头下标:尾下标]          坐标从左是0开始,从右是-1开始

2、转义字符表以及进制转换  详见菜鸟教程此节内容。

3、print(r'\n')输出的结果为\n,r大写也有此意。

4、字符串格式化的表格注意%s以及%d

5、python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符

6、f-string 格式化字符串以 f 开头,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它       会将变量或表达式计算后的值替换进去。

7、python的字符串内建函数如图表

六、python列表

1、创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。

2、可以使用append()方法来添加列表项,如:list.append('Baidu')

3、删除列表元素:使用del语句,如del list[2]

4、列表相加为元素的扩展,并不是对应位置相加而是数量上面的扩展。

5、迭代为循环语句

6、列表比较:需要引入operator 模块的 eq 方法

7、Python列表函数&方法详见菜鸟教程此节最后面。

七、python元组

1、元组使用小括号(),列表使用方括号[],元组中的符号使用逗号隔开

2、元组中只包含一个元素时,需要在元素后面添加逗号 (,),否则括号会被当作运算符使用

3、元组中的元素值是不允许修改的,但我们可以对元组进行连接组合

4、元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组

5、元组是不可变的:所谓元组的不可变指的是元组所指向的内存中的内容不可变。

八、python字典

1、字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花          括号 {} 中 ,格式如下所示:

   d = {key1 : value1, key2 : value2, key3 : value3 }

2、创建空字典: 使用大括号 { } 创建以及使用内建函数 dict() 创建

3、删除字典元素:

tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
del tinydict['Name'] # 删除键 'Name'
tinydict.clear()     # 清空字典
del tinydict         # 删除字典

4、字典键的特性:

      (1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住

      (2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行

5、字典内置函数&方法看菜鸟教程此节最后面

九、python集合

1、集合中的元素不会重复,并且可以进行交集、并集、差集等常见的集合操作。

2、可以使用大括号 { } 创建集合,元素之间用逗号 , 分隔, 或者也可以使用 set() 函数创建集合。

3、创建格式:

parame = {value01,value02,...}
或者
set(value)

4、注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

5、集合输出有去重功能;a-b集合a中包含而集合b中不包含的元素

6、集合的添加操作:s.add(x)  或者s.update(x)参数可以是列表,元组,字典等

                移除操作:s.remove(x)或者s.discard移除集合中的元素,且如果元素不存在,不会发生                                    错误。随机删除s.pop()set 集合的 pop 方法会对集合进行无序的排列,然后                                    将这个无序排列集合的左面第一个元素进行删除。

                清空操作:s.clear()

7、集合内置方法完整列表见菜鸟教程此节最下方。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值