python学习笔记

  • 编译型:源代码转换为目标代码的过程。程序执行所用为目标代码(静态)
  • 解释型:源代码逐条转换为目标代码并同时逐条运行目标代码的过程(脚本)

IPO(Input Process Output)程序编写

output

差异化记忆

符号作用

range()

产生一个[n,m)的整数序列
**幂运算
//整除
id()查看内存地址
type()查看数据类型
ord()得到unicode码
str()转化为字符串类型
+

连结字符串

  • Unicode码与Ascill码类似,Unicode为每种语言中的每个字符设定了统一并且唯一的二进制编码

            中文编码范围[U4e00~U9fa5],可用ord()函数得出unicode编码值

输出函数print

  1. print(输出内容)
  2. print(value,...,sep=' ',end='\n',file=None)
    print('北京欢迎你',end='-->')#修改了结束符,不会换行
  3. 将print()函数输出到文件
    fp=open('note.txt','w')#打开(创建)文件,w --> write
    print('北京欢迎你',file= fp)
    fp.close()


输入函数input

x=input()  #中文提示词,input数据类型为字符串
x=int(x)   #强制转换 ,将字符型转为整型

 注释

        单行   #

        多行   '''         '''   ;  """     """

        中文声明注释:Python文件编码格式由第一行代码(中文声明注释)决定

关键字的查询

impor keyword
print(keyword.kwlist)#获取关键字
print(len(keyword.kwlist))#获取关键字个数

标识符命名规范

        模块名    grame_main

        包名   com.yspython

        类名  Myclass

        模块内部的类   _InnerMyClass

        常量  全部为大写字母

        Python专用标识  双下划线开头结尾   _init_()  初始化函数

数值类型

整数类型(不可变数据类型)

不可变数据类型,无增改删等一系列操作

进制种类引导符
十进制
二进制0b或0B
八进制0o或0O
十六进制0x或0X

浮点型(不可变数据类型)

  • 科学计数法数据类型为浮点型
  • 两个浮点型的数进行运算时,有一定概率在结果增加一些不确定的尾数问题

        可使用round()函数解决

         round(a,b)

        a 需要进行四舍五入的数字。
        b 指定的位数,按此位数进行四舍五入

        如果 b 大于 0,则四舍五入到指定的小数位
        如果 b 等于 0,则四舍五入到最接近的整数
        如果 b 小于 0,则在小数点左侧进行四舍五入

  • 虚数

        real表示实部,imag表示虚部

x=5+3j
print("该虚数的实部为:"x.real,"该虚数的虚部为:"x.imag)

字符串类型(不可变数据类型)

        由单引号或双引号括起来的部分

        三引号可进行定义多行字符串

转义字符

    /t    进入下一个制表位,一个制表位8个字符

print(hello/toooo)#helllo为5个字符/t所占即为3个字符

   /'    ;    /"  :    输出引号

   r/R   使转义字符失效,成为普通字符

print(r"北京/n欢迎你")
输出为:北京/n欢迎你

切片的语法结构

        字符串或字符串变量s[N:M](从N开始,到M结束但不包括M)

                若无N,默认从0开始;若无M,默认到结尾

s='HELLOWORLD'
print(s[0],s[-10])
print('HELLOWORLD'[0])
#结果输出均为 H

常用字符串操作

x+y将字符串x,y连接起来
x*n或n*x复制n次字符串x
x in sx为s的子串,结果为Ture,否则为False

布尔类型(不可变数据类型)

x=True
print(x)
print(x+10)
print(x+10.1)
结果:
True
11
11.1

布尔值为False

  • False,None
  • 数值0;0.0;虚数0
  • 空(序列,字符串......)

类型转换

        隐式转换

                发生在计算过程中

        显示转换

                通过函数进行转换

函数描述
int(x)x转换为整型
float(x)x转换为浮点型
str(x)x转换为字符串
chr(x)将整数x转换为一个字符
ord(x)将一个字符x转换为对应Unicode码的数值
hex(x)整数x转换为十六进制字符串
oct(x)整数x转换为八进制字符串
bin(x)整数x转换为二进制字符串

 浮点型强制转换为整数型只会保留整数部分

字符串非数字部分无法转换

eval函数

        去掉字符串最外侧引号,并执行相关操作

        eval()常与input()一起使用

                #input()函数所得为字符串类型

运算符

优先级

    

运算符描述说明
**幂运算
~,+,-取反,正好,负号
*,/,&,//算术运算符
+,-算术运算符
<< , >>位运算符
&位运算符
^位运算符
|位运算符
< , <= , > , >= , !=...比较运算符
=赋值运算符

逻辑运算符

将布尔值进行运算

位运算符

将数字看作二进制运算(16位)

“位与” &

        数字对齐,同一为一,不同为0

“位或” |

        数字对齐,有一为一

“位异或” ^

        同为0,不同为1

“位取反” ~

        对于单个数字而言,取反

“左移位” <<

        将二进制向左移动指定位数,左端丢弃,右端补0

“右移位” >>

        将二进制向右移动指定位数,右端丢弃,右端补相应数字

模式匹配

  • 与switch()类似
match score:#score为变量名
    case 'A':
        print("优秀")

python3.11新特性

1.结构模型匹配

语法结构

        match data:

                case {}:

                        pass

        case[]:

                                pass

        case():

                                pass

        case_:

                                pass

2.字典合并运算符 |

3.同步迭代

match data1,data2:

        case data1,data2:

                pass

循环结构

    遍历循环for

        扩展:for...else...for板块正常运行,就执行else板块

    无限循环while

  1. 初始化变量
  2. 条件判断
  3. 语句块
  4. 条件变化

       扩展while-else结构

pass语句

占位符,代替语句块使语法完整

序列

字符串

 列表

创建方式

直接创建

        使用[]直接创建

                列表名=[element1,element2,element3......]

        list()

                列表名=list(序列)

列表生成式的使用(间接创建)

lst=[expression for item in range]

        item是对expression的解释

lst=[expression for item in range if condition]

列表遍历操作

1.for循环

2.for循环+索引

3.enumerate函数

        for idex ,item,in enumerate()

        idex序号,默认从0开始

        item元素

列表相关操作方法

排序操作

        1.lst.sort(key=None,reverse=False)

        key:排序规则        reverse排序方式,默认升序False,Ture为降序

        2.内置函数  sorted(iterable,key=None,reverse=False)   产生新列表

        iterable:排序对象

元组

创建方式

1.元组名=(元素1,元素2,...)逗号不能省略

2.元组名=tuple(序列)

字典

创建方式

1.{}直接创建

d={key1:value1,key2:value2,...

2.内置函数dict()

(1)映射函数创建字典zip(lst1,lst2)

(2)关键字创建dict(key1=value1,key2=value2,...) 

取值

        d[key]或d.get(key)

        区别:若key不存在,d.get(key)可以指认一个值

遍历

1.遍历key与value的元组

        for element in d.items()

2.分别遍历出可key,value

        for key,value in d.items()

相关操作

字典生成式 

d={key:value for item in range}

d={key:value for key,value in zip(lst1 lst2)}

集合

创建方式

1.{}直接创建

        语法结构 :       s={element1,element2,...}

2.内置函数set()创建

        语法结构 :       s=set(可迭代对象)

相关操作

---------------------------------------------------------------------------------------------------------------------------------

......

  • 16
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值