Loading... # 笔记 **学习 py 只是为了考过计算机二级,有什么写的不周到的地方轻喷。** **文章写于typora,这里只是做一个备份。可能会有某些语法渲染问题什么的,无视即可。** > **python 为脚本语言** (脚本语言 = 解释语言 = 交互式) > > **C 语言为静态语言** (静态语言 = 需要编译 = 文件) **python 具有通用性** **python 语法简洁** **python只有*****33 个保留字*** python 采用严格的 ***缩进*** 来表明程序的格式框架 ***缩进*** 是 python 语言中***表明程序框架的唯一手段*** 当表达分支、循环、函数、类等程序含义时,在 if、while、for、def、class 等保留字所在完整语句后通过英文冒号「:」结尾并在之后进行缩进,表明后续代码与紧邻无缩进语句的所属关系 ## 数字运算与类型 **0x** 或 **0X** 十六进 如: 10 = 16 *十进制不需要加任何东西* **0o** 或 **0O** 八进制 如: 0o10 = 8 **0b** 或 **0B** 二进制 > **可以使用三个函数来进行不同数字类型的转换:** > > **bin** 转换一个数字为 2 进制,如 bin(4) 结果为 0b100 > > **oct** 转换一个数字为 8 进制,如 oct(10) 结果为0o12 > > **hex** 转换一个数字为 16 进制,如 hex(15) 结果为0xf > > > **四种不同的数据类型可以直接进行计算,如:0xf + 5 = 20** **浮点数** > 浮点数有两种表示方法,十进制的一般表示与科学计数法表示。 > > ***浮点数必须带有小数点,小数点后可以为 0*** > > ***只有十进制的数据才可以被表示为浮点数,除十进制数字以外,其他数字不能被表示为浮点数。*** > > 1.123456、1.274e10、1000.00、1.2734e-4 都为浮点数 > > 浮点数的科学计数法用「e」、「E」作为幂的符号,以 10 为基数,含义如下 > > <a\>e<b\> = a\*10b --- | 符号 | 描述 | | :-: | :-: | | a + b | 加 | | a - b | 减 | | a * b | 乘 | | a / b | 除 | | a % b | a / b 之商的余数,也称为模运算、取余。 | | a ** b | a 的 b次方 | | a // b | a / b 只保留整数的商。也就是取整,**不会进行四舍五入**。 | | -a | a 的负值。等价于 -1*(a) | | +a | a 本身,即 1*(a) | --- # 函数 > **import** 引用其他库,如 import turtle > **print** 用来打印输出 。 > > > **输出单个常量或字符串** > > > > print("Hello World !") ***输出结果为*** Hello World ! > > > > a=100 > > > > print("a") ***输出结果为*** a > > > > print(a) ***输出结果为*** 100 > > > > print("中国") ***输出结果为*** 中国 > > **输出多个字符串或常量** > > > a,b,c=1,2,3 > > > > print(a,b,a,c) ***输出结果为*** 1 2 1 3 > > ***混合输出字符串与变量值*** > > > a=18 > > > > b=20 > > > > print("我今年 {} 岁,我的弟弟 {} 岁".format(b,a)) ***输出结果为*** 「我今年 20 岁,我的弟弟 18 岁」 > > > > print("数字 {} 和数字 {} 的乘积是 {} 。".format(a,b,a*b)) **输出结果为** 数字 18 和数字 20 的乘积是 360 。 > > **在输出结尾增加特定字符** > > > a=18 > > > > print(a ,end="岁") ***输出结果为*** 18岁 > **len** 用来计算字符串长度, 如: len("123456789") 或 len(a) > **if** 用来判断是否成立,如 if a>5: > **input** 输入一个数据,如:input(“请输入一个数”) ***通过 input 获取的数据都为 字符串,而不是数字*** > > > 当 input 需要获取数字的时候可以使用 eval 来将字符串转换为数字。 > > > > 如:evel(input("请输入你的年龄")) > **eval** 能够以 python 表达式的方式解析并执行字符串,将返回结果输出。 > > 如: type(eval(input("请输入年龄"))) > > > <class 'int'> > > > **请注意,eval 函数想要输出已赋值的函数,必须加双引号「“”」,想要输出原字符串,必须加在双引号的基础上加单引号「’ ‘」** > > > > eval(a) ***错误格式***。 > > > > eval(""a"") ***错误格式。*** > > > > eval(''a'') ***错误格式。***(两层单引号嵌套,python 允许使用单双引号混合嵌套,单不允许非混合嵌套,如 eval("'a'")是被允许的。) > > > > eval("a") ***正确格式***,输出 a 被赋的值。 > > > > eval("'a'") ***正确格式***,输出字符串 a。 > > > > eval('a') ***正确格式***,输出 a 被赋的值。 > > > > eval('"a"') ***正确格式***,输出字符串 a。 > **type** 查看数据类型,如:type(a) ***str 为字符串,int 为整数,float 为浮点数*** ## 数字运算函数 > **abs** 用来取绝对值,如 `abs(a)` > > **divmod** 用来把函数把除数和余数运算结果结合起来,如运行 `divmod(4,2)` 返回结果为 `(2,0)` > > **pow** 用来返回 x 的 y 次方的值。 如执行 `pow(2,3)` 返回结果为 `8`。 > > > 此外,pow 还可以进行复合运算,如 `pow(x, y[, z])`, 此命令代表先计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z, > > > > 如执行 `pow(2,3,3)` 返回的结果为 `2`。 > > **round** 用来四舍五入,如 `rount(a)`,当 `a=1.789`时,`round(a)` 的结果是 `2`。 > > > 此外,`round` 还可以指定保留几位小数,如 `rount(a,2)`,指保留两位小数,当 `a=1.789` 时,`round(a,2)` 的结果为 `1.79` > > **max** 用来确定某一组数里面谁为最大值,如 `max(a,b,c,d,e,f,...n)` > > **min** 用来确定某一数组里面谁为最小值,如 `min(a,b,c,d,e,f,...n)` > > **int** 用来取整,如:`int(a)`, 取整时,不进行四舍五入,当 `a=1.789`时,`int(a)` 的结果是 `1`。 ## 字符处理 ### 切片 ***用法:*****「字符串」[起点:终点:步长]** > a[:2] 输出终点为 2 的数字,步长为 1 **当起点被省略时,起点值默认为 0。 ** > > a[1:] 从起点 1 开始的数字,步长为 1 **当终点被省略时,默认输出所有从起点开始的字符** > > a[::-1] 输出全部字符,但倒着来遍历字符串。 **当步长被省略时,默认步长为 1** ```python #赋值且转换为字符串形式 >>> a=123456789 >>> a=str(a) >>> type(a) ``` ***注意:切片只能处理字符串,并不能用来处理 int 格式的数字,故需要将数字先转换为字符串。*** ```python >>> a[1:] #得到结果为 '23456789' >>> a[0:-1] '12345678' >>> a[-1] '9' #此为错误示范,左边的数字只能大于右边,否则输出空值。 >>> a[11:2] '' >>> a[:1] '1' >>> a[::-1] '987654321' >>> a[::2] '13579 ' ``` ### format #### 格式控制 ```python a="小菜" b="的朋友" >>>"我是{}的{}的兄弟。".format(a,b) '我是小菜的的朋友的兄弟。' >>>"我是{}的{}的兄弟。".format(a,b[1:]) '我是小菜的朋友的兄弟。' >>>"我是{1}的{0}的兄弟。".format(a,b[1:]) '我是朋友的小菜的兄弟。' ``` | : | 固定符号,必须包含引号。 | | :-: | - | | <填充> | 用于填充单个字符 | | < | 左对齐 | | > | 右对齐 | | ^ | 居中对齐 | | <宽度> | 槽的设定输出宽度,若字符的宽度(长度)小于设定的宽度,则默认使用空格来填充。 | | , | 数字的千位分隔符,适用于整数与浮点数 | | . | 浮点数小数部分的精度或字符串的最大输出长度 | | <类型> | 整数类型,b,c,d,o,x,X 浮点数类型,e,E,f,% | <填充> <对齐类型> <宽度> 主要用于对显示格式的规范。 **类型中的字母代表的含义 ** > b 二进制 > > c 转为数字对应的 ascii 码字符 > > d 十进制 > > o 八进制 > > x,X 十六进制 > > e,E 科学计数法 > > f 浮点数 > > % 百分数 ***在 format中,可以使用大括号来转义大括号*** ```python >>> print("{0}{{}}\n123123后面有个大括号".format("123123")) 123123{} 123123后面有个大括号 ``` #### 一些栗子 ```python #居中并填充* >>> a="需要居中的字符串" >>> "{:*^20}".format(a) '******需要居中的字符串******' #左对齐 >>> "{:*<20}".format(a) '需要居中的字符串************' #右对齐 >>> "{:*>20}".format(a) '************需要居中的字符串' #当不指定输出结果的数字类型时,默认为科学计数法输出。 >>> "{:.2}".format(12345.678) '1.2e+04' #指定输出结果为浮点数。 >>> "{:.2f}".format(12345.678) '12345.68' #输出字符串的前四位 >>> "{:.4}".format("这是一个 ajdkalsjdlkasjdaksld") '这是一个' #转换二进制数字为十六进制数 >>> "{:x}".format(0b01010101010101) '1555' ``` ### 字符操作 | 操作符 | 描述 | 栗子 | | :-: | :-: | :-: | | x + y | 连接两个字符串 | "asd" + "fgh" 结果为 "asdfgh" | | x * n 或 n * x | 复制 n 次字符串 x | "asd" * 2 结果为 "asdasd" | | x in y | 如果 x 包含在 y 中返回 True,否则返回 Flase | "as" in "asd" 结果为 True | --- # 考试题目 #### 题目: 输入字符串 S,按要求把 S 输出到屏幕,格式要求:宽度为 30 个字符,星号字符 * 填充,居中对齐,如果输入字符超过 30 位,则全部输出。 **例如:键盘输入字符串 S 为 "SSS" ,屏幕输出"\*\*\*\*\*\*SSS\*\*\*\*\*\*\*"** 代码: ```python S = input("请输入一个字符串:") print("{:*^30}".format(s)) ``` 解释: 使用 ` format` 来输出 `S`,传递 `{:*^30}` 给 `format`,`:`代表后面带填充的字符,只能是一个字符,不指定默认为空格填充 `^<``>` 分别是居中、左对齐、右对齐。 `30` 为位数 --- 最后修改:2020 年 10 月 02 日 © 允许规范转载 赞 给点.jpg
3 条评论
我要亲哥哥,哥哥不会拒绝吧~
想要菜菜的么么哒 啾咪 >_<
想要菜菜的么么哒 啾咪 >_<