【Python 1】

当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件
要运行代码,就需要Python解释器去执行.py文件

CPython用>>>作为提示符,而IPython用In [序号]:作为提示符

在Python交互模式下输入exit()并回车,就退出了Python交互模式,并回到命令行模式

如果要让Python打印出指定的文字,可以用print()函数,然后把希望打印的文字用单引号或者双引号括起来,但不能混用单引号和双引号

这种用单引号或者双引号括起来的文本在程序中叫字符串

可以执行python hello.py运行一个.py文件
但必须先把当前目录切换(cd)到hello.py所在的目录下才能正常执行

如果遇到SyntaxError,表示输入的Python代码有语法错误,最常见的一种语法错误是使用了中文标点,例如使用了中文括号或者使用了中文引号

Word保存的不是纯文本文件,而记事本会自作聪明地在文件开始的地方加上几个特殊字符(UTF-8 BOM)

文件名应使用小写英文字母、数字和下划线的组合

直接输入python进入交互模式,相当于启动了Python解释器

用Python开发程序,完全可以一边在文本编辑器里写代码,一边开一个交互式命令窗口,在写代码的过程中,把部分代码粘到命令行去验证,事半功倍


用print()在括号中加上字符串,就可以向屏幕上输出指定的文字
print()函数也可以接受多个字符串,用逗号“,”隔开,就可以连成一串输出
print()也可以打印整数,或者计算结果

Python提供了一个input(),可以让用户输入字符串,并存放到一个变量里

在计算机程序中,变量不仅可以为整数或浮点数,还可以是字符串

input()可以让你显示一个字符串来提示用户

name = input('please input your name: ')
print('Hello', name)

编译器或者解释器就是负责把符合语法的程序代码转换成CPU能够执行的机器码,然后执行
Python的语法比较简单,采用缩进方式

# print absolute value of an integer:
a = 100
if a >= 0:print(a)
else:print(-a)

以#开头的语句是注释,注释是给人看的,可以是任意内容,解释器会忽略掉注释

其他每一行都是一个语句
当语句以冒号:结尾时,缩进的语句视为代码块

缩进有利有弊
好处是强迫你写出格式化的代码,但没有规定缩进是几个空格还是Tab。按照约定俗成的惯例,应该始终坚持使用4个空格的缩进
缩进的另一个好处是强迫你写出缩进较少的代码,你会倾向于把一段很长的代码拆分成若干函数,从而得到缩进较少的代码

缩进的坏处就是“复制-粘贴”功能失效了,这是最坑爹的地方
当你重构代码时,粘贴过去的代码必须重新检查缩进是否正确
此外,IDE很难像格式化Java代码那样格式化Python代码

最后,请务必注意,Python程序是大小写敏感的,如果写错了大小写,程序会报错

Python使用缩进来组织代码块,请务必遵守约定俗成的习惯,坚持使用4个空格的缩进
在文本编辑器中,需要设置把Tab自动转换为4个空格,确保不混用Tab和空格


在Python中,能够直接处理的数据类型有以下

Python可以处理任意大小的整数,当然包括负整数

计算机由于使用二进制,所以有时候用十六进制表示整数比较方便
十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等

对于很大的数,例如10000000000,很难数清楚0的个数。Python允许在数字中间以_分隔,因此,写成10_000_000_000和10000000000是完全一样的。十六进制数也可以写成0xa1b2_c3d4

浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的

浮点数可以用数学写法,如1.23,3.14,-9.01,等等
但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等

整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差

如果字符串内部既包含’又包含"怎么办?可以用转义字符\来标识

转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符

为了简化,Python允许用’‘’…‘’'的格式表示多行内容
在交互式命令行内输入多行内容时,提示符由>>>变为…,提示你可以接着上一行输入,注意…是提示符,不是代码的一部分

在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来

布尔值可以用and、or和not运算

True and True
TrueTrue and False
FalseFalse and False
False5 > 3 and 3 > 1
TrueTrue or True
TrueTrue or False
TrueFalse or False
Falsenot True
Falsenot False
Trueif age >= 18:print('adult')
else:print('teenager')

布尔值经常用在条件判断中

空值是Python里一个特殊的值,用None表示

Python还提供了列表、字典等多种数据类型,还允许创建自定义数据类型


变量名必须是大小写英文、数字和_的组合,且不能用数字开头

在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量

这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言
静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错

也可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据

a = 'ABC'
b = a
a = 'XYZ'
print(b) # ABC

所谓常量就是不能变的变量,比如常用的数学常数π就是一个常量。在Python中,通常用全部大写的变量名表示常量

在Python中,有两种除法,一种除法是/,计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数

还有一种除法是//,称为地板除,两个整数的除法仍然是整数


因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理
最早的计算机在设计时采用8个比特(bit)作为一个字节(byte)
所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255)
如果要表示更大的整数,就必须用更多的字节
比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295

由于计算机是美国人发明的,因此,最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122

但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去

全世界有上百种语言,日本把日文编到Shift_JIS里,韩国把韩文编到Euc-kr里,各国有各国的标准,就会不可避免地出现冲突
因此,Unicode字符集应运而生

但是,如果你写的文本基本上全部是英文的话,用Unicode编码比ASCII编码需要多一倍的存储空间,在存储和传输上就十分不划算

所以,本着节约的精神,又出现了把Unicode编码转化为“可变长编码”的UTF-8编码
在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码

在最新的Python 3版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言
对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符

要计算str包含多少个字符,可以用len()函数

由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释
第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码

在Python中,采用的格式化方式和C语言是一致的,用%实现

>>> 'Hello, %s' % 'world'
'Hello, world'
>>> 'Hi, %s, you have $%d.' % ('Zane', 10000000)
'Hi, Zane, you have $10000000.'

%运算符就是用来格式化字符串的
在字符串内部,%s表示用字符串替换,%d表示用整数替换,%f是浮点数替换,%x是十六进制整数替换
有几个%占位符,后面就跟几个变量或者值,顺序要对应好
如果只有一个%,括号可以省略

如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/98242.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构】二叉树--顺序结构及实现 (堆)

目录 一 二叉树的顺序结构 二 堆的概念及结构 三 堆的实现 1 包含所有接口 (Heap.h) 2 初始化,销毁和交换(Heap.c) 3 向上调整(Heap.c) 4 插入(Heap.c) ​5 向下调整(Heap.c) 6 删除(Heap.c) ​7 打印&#…

DevOps:自动化部署和持续集成/持续交付(CI/CD)

DevOps:自动化部署和持续集成/持续交付(CI/CD) 在现代软件开发领域,DevOps(Development和Operations的组合)已经成为一个不可或缺的概念。它代表了一种将软件开发和运维(Operations&#xff09…

数据统计--图形报表--ApacheEcharts技术 --苍穹外卖day10

Apache Echarts 营业额统计 重点:已完成订单金额要排除其他状态的金额 根据时间选择区间 设计vo用于后端向前端传输数据,dto用于后端接收前端发送的数据 GetMapping("/turnoverStatistics")ApiOperation("营业额统计")public Result<TurnoverReportVO…

209.Flink(四):状态,按键分区,算子状态,状态后端。容错机制,检查点,保存点。状态一致性。flink与kafka整合

一、状态 1.概述 算子任务可以分为有状态、无状态两种。 无状态:filter,map这种,每次都是独立事件有状态:sum这种,每次处理数据需要额外一个状态值来辅助。这个额外的值就叫“状态”2.状态的分类 (1)托管状态(Managed State)和原始状态(Raw State) 托管状态就是由…

HDLbits: Count clock

目前写过最长的verilog代码&#xff0c;用了将近三个小时&#xff0c;编写12h显示的时钟&#xff0c;改来改去&#xff0c;估计只有我自己看得懂&#xff08;吐血&#xff09; module top_module(input clk,input reset,input ena,output pm,output [7:0] hh,output [7:0] mm,…

Java RPC调用: 远程过程调用的实现与应用

远程过程调用&#xff08;RPC&#xff09;是一种允许程序在不同计算机之间进行通信的协议。它通过将本地函数调用转化为远程函数调用来实现分布式计算。在Java中&#xff0c;可以使用一些RPC框架实现远程过程调用&#xff0c;如Apache Thrift和gRPC。 用法: Java中的RPC调用可…

叶工好容6-自定义与扩展

本篇主要介绍扩展的本质以及CRD与Operator之间的区别&#xff0c;帮助大家理解相关的概念以及知道要进行扩展需要做哪些工作。 CRD&#xff08;CustomerResourceDefinition&#xff09; 自定义资源定义,代表某种自定义的配置或者独立运行的服务。 用户只定义了CRD没有任何意…

课题学习(五)----阅读论文《抗差自适应滤波的导向钻具动态姿态测量方法》

一、简介 抗差自适应滤波&#xff1a;利用等价权函数和自适应因子合理的分配信息&#xff0c;有效地滤除钻具振动对动态姿态测量的影响。、   针对导向钻井工具动态测量受钻具振动的影响而导致测量不准确的问题&#xff0c;提出一种抗差自适应滤波的动态空间姿态测量方法。通…

MySQL:主从复制-基础复制(6)

环境 主服务器 192.168.254.1 从服务器&#xff08;1&#xff09;192.168.254.2 从服务器&#xff08;2&#xff09;192.168.253.3 我在主服务器上执行的操作会同步至从服务器 主服务器 yum -y install ntp 我们去配置ntp是需要让从服务器和我们主服务器时间同步 sed -i /…

WPS/word 表格跨行如何续表、和表的名称

1&#xff1a;具体操作&#xff1a; 将光标定位在跨页部分的第一行任意位置&#xff0c;按下快捷键ctrlshiftenter&#xff0c;就可以在跨页的表格上方插入空行&#xff08;在空行可以写&#xff0c;表1-3 xxxx&#xff08;续&#xff09;&#xff09; 在空行中输入…

好物周刊#19:开源指北

https://github.com/cunyu1943/JavaPark https://yuque.com/cunyu1943 村雨遥的好物周刊&#xff0c;记录每周看到的有价值的信息&#xff0c;主要针对计算机领域&#xff0c;每周五发布。 一、项目 1. Vditor 一款浏览器端的 Markdown 编辑器&#xff0c;支持所见即所得、…

php实战案例记录(5)$_REQUEST是一个超全局变量

在PHP中&#xff0c;$_REQUEST是一个超全局变量&#xff0c;用于收集HTML表单提交的数据。它可以获取通过GET、POST或COOKIE方法提交的数据。 $_REQUEST变量是一个关联数组&#xff0c;它的键是表单元素的名称&#xff0c;值是用户输入的数据。通过$_REQUEST变量&#xff0c;可…

韩语学习|韩语零基础|柯桥韩语学校,每日一词

今日一词:개방도 평지 韩语每日一词打卡:개방도[개방도]【名词】开放度,开放程度 原文&#xff1a;한 지역의 개방도는 경제 발전 수준에 달려 있습니다. 意思&#xff1a;一个地区的开放程度取决于经济发展水平。 【原文分解】 1、경제[경제]经济 2、지역[지역]地域 3、발전[발…

如何使用 MyBatis-Plus 实现公共字段自动填充

1. 公共字段自动填充的作用 当我们开发一个项目时&#xff0c;我们可能会对几个字段重复的进行填写&#xff1b;例如&#xff1a;当我们在修改一个用户时&#xff0c;或者添加一个用户时&#xff0c;我们都需要将它的修改人、修改时间给赋值&#xff0c;如果我们每次就进行手动…

PHP 个人愿望众筹网站系统mysql数据库web结构apache计算机软件工程网页wamp

一、源码特点 PHP 个人愿望众筹网站系统是一套完善的web设计系统&#xff0c;对理解php编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 php 个人愿望众筹网站 代码 https://download.csdn.net/download/qq_41221322/8…

在Android中实现动态应用图标

在Android中实现动态应用图标 你可能已经遇到过那些能够完成一个神奇的技巧的应用程序——在你的生日时改变他们的应用图标&#xff0c;然后无缝切换回常规图标。这是一种引发你好奇心的功能&#xff0c;让你想知道&#xff0c;“他们到底是如何做到的&#xff1f;”。嗯&…

Unity实现设计模式——模板方法模式

Unity实现设计模式——模板方法模式 模板模式(Template Pattern)&#xff0c; 指在一个抽象类公开定义了执行它的方法的模板。它的子类可以按需要重写方法实现&#xff0c;但调用将以抽象类中定义的方式进行。 简单说&#xff0c; 模板方法模式定义一个操作中的算法的骨架&…

【1++的Linux】之进程(五)

&#x1f44d;作者主页&#xff1a;进击的1 &#x1f929; 专栏链接&#xff1a;【1的Linux】 文章目录 一&#xff0c;什么是进程替换二&#xff0c;替换函数三&#xff0c;实现我们自己的shell 一&#xff0c;什么是进程替换 我们创建出来进程是要其做事情的&#xff0c;它可…

Leetcode 2895. Minimum Processing Time

Leetcode 2895. Minimum Processing Time 1. 解题思路2. 代码实现 题目链接&#xff1a;2895. Minimum Processing Time 1. 解题思路 这一题整体上来说其实没啥难度&#xff0c;就是一个greedy算法&#xff0c;只需要想明白耗时长的任务一定要优先执行&#xff0c;不存在某个…

Tomcat 介绍与 jspgou 部署

一、虚拟机简介 1、Java 虚拟机 (1) 虚拟机&#xff1a; 虚拟机&#xff08;Virtual Machine&#xff09;是一种软件或硬件实体&#xff0c;它模拟了一个独立的计算环境&#xff0c;可以在其上运行应用程序。 虚拟机可分为系统虚拟机和程序虚拟机&#xff1a; ● 系统虚拟…