python基础语法(1)

news2024/12/28 20:25:41

专栏:python
每日一句:人生,无非只有三天,昨天,今天,明天。昨天很长,说不清有多少天,但不管有多少天,不管是受到挫折,还是取得辉煌,都只能代表过去,昨天你失败了,将来可能会成功,昨天你辉煌了,将来你可能会萎靡不振,只有把过去的挫折和辉煌都变成今天的基石,才能登上美好的明天

python基础语法

  • 前言
  • 一、常量和表达式
  • 二、变量和类型
    • 2.1变量的介绍
    • 2.2定义变量
    • 2.3使用变量
    • 2.4变量的类型
      • 2.41字符串len和+
    • 3.布尔类型bool
    • 4.其他类型
    • 5.类型存在的意义
  • 三、动态类型
  • 四、注释
  • 总结


前言

在这里插入图片描述

一、常量和表达式

python是比较万能的,可以把python当成一个计算器,来进行一些简单的运算

print(1 + 2 - 3)
print(6 * 10 + 6)

在这里插入图片描述
print是python内置的函数,可以用于输出。
可以运用+ - * / ()等运算符进行算术运算,运算规律跟数学一样,先算乘除,后算加减。

在这个程序中,6 * 10 + 6类似于这样的算式,被称为:表达式,算式的结果,被称为:表达式的返回值,其中60,6,就是字面值常量,+ - * /被称为运算符或者操作符。

print(1 / 3)

那么这个程序的结果是多少呢?
在C,C++,java等编程语言中,/是除法的意思,只会计算出1 / 3的整数部分,小数部分就会被截断,但是在python中,该程序的结果就是一个小数,这样更符合日常使用。

在这里插入图片描述

print(7 / 3)

这是个简单的除法程序,看了前面的介绍后,会以为这道题的结果是:2.333333333,但真的是这个结果吗?
在这里插入图片描述
为什么最后一位会是5呢?

这是因为,在IEEE754这套规则下,在内存中表示浮点数的时候,可能会存在误差,这也就导致了最后一位出现5的情况。
如果不知道IEEE754的话点击传送门

二、变量和类型

2.1变量的介绍

在做复杂的程序的时候,不会只用到字面值常量,有时候需要把中间计算的出来的值给存起来,这个时候就需要用到变量

a = 1 + 2 + 3
b = 4
a = a + b
aver = a / b
print(aver)

这是一个算平均值的小程序,通过变量来保存计算过程中的中间值.在python中,可以创建任意多变量,来保存程序中计算得到的数据。

变量可以看作是一块能够容纳数据的空间。

2.2定义变量

value = 666

创建变量非常的简单,在这个简单的代码中,value为变量名,创建变量的时候可以用名字来区分。

=为赋值运算符,变量名在=的左,数值在=的右,由此可以完成赋值

当你创建好变量并为其赋值好的时候,系统会自动的开辟一个空间,用来存放数据。

要注意变量名的命名规则:

1.变量名只能以数字,字母,下划线组成
2.数字不能当作变量名的第一个位置
3.变量名不能和“关键字”一样
4.变量名大小写要注意区分,比如count和Count,这是两个变量

还有一些为变量名命名时的建议:

1.变量名要有意义,尽量使用具有代表性的单词来表示,在以后查看代码的时候,看到命名就知道什么意思,像add,表示加法,count,表示计数
2.当用一个单词来表示变量表示不清楚的时候,可以用多个单词,但注意要驼峰原则,单词首字母要大写,命名长一点也无所谓,只要能表示清楚。ListPushBack或者list_push_back这两个都可以
3.一定要命名清楚,像sum,命名成s,鬼知道s是个什么,还得要查阅代码的人自己猜。

2.3使用变量

使用变量特别简单,

a = 10
print(a)

在这里插入图片描述
创建一个变量,直接打印。这一过程就是变量的读取,也可以对变量进行修改。

a = 10
print(a)
a = a + 10
print(a)

在这里插入图片描述
第一次使用=是对a进行赋值,这个过程就是创建变量(初始化),后续再对a使用=操作,相当于修改a的内容(赋值)。

2.4变量的类型

python中,数据类型是在初始化的时候,根据初始化的值来确定数据类型的,而type可以查看数据类型,跟print一样,是python中的内置函数。

a = 10
print(type(a))//int类型
学过C++,C语言的朋友可能知道,int范围是-21亿——21亿,
但是在python中,int的范围是无穷的,
并且可以根据要表示的数据的大小,自动扩容,
可以这样说,只要内存够大,就能表示大一点的数据,
因此,python中,就没有longlong long这样的数据类型了

b = "haha"
print(type(b))//string=>str(这是缩写)字符串类型

c = 0.01
print(type(c))//float浮点数类型
//在C++,java里面,float是四个字节(一个二进制位被称为bit,8个bit是一个字节)
//被称为单精度浮点数,
//还有double类型,双精度浮点数,精度要比float高。
//python中的float就是双精度浮点数。
a = 1000000000000000000000000000000000 * 9000
print(a)

在这里插入图片描述

在这里插入图片描述

整型int:整型很容易理解,就是整数,如:1,2,3,-1,-2,-23等
浮点型float:浮点型就是小数类型,如:1.1,1.2,0.13等
字符串str类型:数字,英文字母,标点符号,特殊的符号,都可以看作字符,用引号,把这些字符括起来,就构成了字符串,单引号,双引号都可以。
注意:要用英文引号,在这里插入图片描述
把这个中调成英即可

但是还有一个问题,如果我想输入:ch = "i love "python"",这个时候,编译器就会报错,因为不知道谁是字符串。前面说过,单双引号都能表示字符串,所以,用单双引号进行区分,就可以这样表示了。如果同时又单双引号怎么办?python中还有一种字符串,使用三引号表示~“”或者“”“

ch = "i love 'python'"
ch1 = 'i love "python"'

print(ch + "\n" + ch1)

在这里插入图片描述

2.41字符串len和+

python中有一个函数len,这个函数可以求出字符串的长度,那么这个函数是怎么用的呢?

ch = "hello world"
print(len (ch))//(len == length(长度))

在这里插入图片描述

注:空格也算一个字符噢!!

在int和float类型中,加号,就是让值相加,那么在str类型中,加号是什么意思呢?

ch = "hello world "
ch1 = "你好,世界"
print(ch + ch1)

在这里插入图片描述

在str类型中,加号,就是拼接,把第二个字符串拼接到第一个字符串的后面。得到一个更大的字符串,对原来的ch和ch1没有影响。但是不要写出str类型±int类型或者float类型

3.布尔类型bool

布尔的取值只有真和假,所以,布尔类型主要用于判断。真(True)假(False)

c = True
b = False
print(type(c))
print(type(b))

在这里插入图片描述
布尔在这里不详细介绍,了解即可。

4.其他类型

除了上述类型以外,还有list,tuple,dict,自定义类型等,后续会慢慢介绍。以上类型熟练掌握,就能解决很多问题了。

5.类型存在的意义

1.每创建一个类型,就要占据一个类型的空间,并且类型不同,占据空间的大小也是不同的,int占4字节,float占8字节,bool占1字节,str是变长的,如果不存在类型的话,在创建变量的时候,开辟空间的大小是多少,如果开1个字节,bool够了,int,float怎么办?开100字节,又会造成空间浪费。所以类型存在就显得很重要。类型的存在很好的解决了数据‘存’和‘取’的问题。
2.不同的类型,对应的操作也是不一样的,字符串能够使用的len,int和float就不能使用,int和float能使用的乘除,str就不能使用。

三、动态类型

程序运行过程中,变量的类型可能会发生改变。

a = 10
print(type(a))

a = 0.1
print(type(a))

a = "hello"
print(type(a))

a = True
print(type(a))

在这里插入图片描述

一个编程语言,是否是动态类型,只是取决于运行时,类型是否放生变化,不取决与创建变量的时候是否声明类型。
静态类型:创建之后,变量的类型始终不变。如C++,JAVA等语言,就是静态类型。int不能变为str

python中,也可以写变量名,a:int = 10加个:类型名字即可
动态类型的写法是比较灵活的,提高了语言的表达能力,但是,在编程中,一个变量,一会int一会str一会float,可不能这样用,避免以后在查阅代码的时候,不知道这个变量是干啥的。

四、注释

注释是一种特殊的代码,他不会影响到程序的执行,反而能够起到帮助理解程序的作业,当然,你要是不写注释,神仙来了都没法理解,当代码过于复杂的时候,注释就显得特别重要,能够帮助程序员理解代码执行的过程。

a:int = 10
print(type(a))#打印a的数据类型

在python中,#是一个注释符号,行注释,添加了#之后,该行#后面的内容都是注释内容,不会被计算机编译

a:int = 10
print(type(a))#打印a的数据类型, a = 0.666
#print(type(a))

在这里插入图片描述
#开头的注释,一般卸载要注释的上方,或者写在要注释的代码的右侧,很少会写在代码的下面。你想试试写在代码的左侧吗???

还有一种注释符叫文档字符串,使用三引号引起来的称为文档字符串,也可以视为一种注释。

"""
a:int = 10
print(type(a))打印a的数据类型, a = 0.666
print(type(a))
"""

在这里插入图片描述

总结

本文讲述了常量,变量,类型,注释四大块内容,这只是最基本的内容,希望对学python的朋友有所帮助。

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

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

相关文章

Feign

文章目录Http客户端Feign1、Feign替代RestTemplate1.1、RestTemplate方式调用存在的问题1.2、Feign介绍1.3、定义和使用Feign客户端2、Feign的自定义配置2.1、修改日志级别3、Feign的性能优化3.1、Feign的性能优化-连接池配置4、Feign的最佳实践4.1、方式一(继承&am…

TypeScript类型 : any,unknown

1.any类 在某些情况下,我们确实无法确定一个变量的类型,并且可能它会发生一些变化,这个时候我们可以使用any类型(类似 于Dart语言中的dynamic类型)。 any类型有点像一种讨巧的TypeScript手段: 1.我们可以…

【23届秋招总结】本科小学弟成功签约滴滴后端开发offer

大家好!我是路飞,最近工作太忙啦,断更很久,今天给大家分享一位本科23届小学弟的秋招历程~ 在今年整体上就业困难,各大公司校招HC收缩的情况下,这位小学弟也历经坎坷成功拿到了滴滴后端开发岗位…

【安卓学习笔记】安卓的事件处理

安卓提供了两种方式的事件处理:基于回调的事件处理和基于监听的事件处理。 基于监听的事件处理 基于监听的事件处理一般包含三个要素,分别是: Event Source(事件源):事件发生的场所,通常是各个…

c++11 标准模板(STL)(std::forward_list)(六)

定义于头文件 <forward_list> template< class T, class Allocator std::allocator<T> > class forward_list;(1)(C11 起)namespace pmr { template <class T> using forward_list std::forward_list<T, std::pmr::polymorphic_…

动态内存管理详解(malloc、calloc、realloc)

文章目录 一、什么是动态内存 二、为什么要存在动态内存分配 三、动态内存函数的介绍 3、1 malloc和free的介绍 3、2 calloc的介绍 3、3 reallco的介绍 四、常见的动态内存错误 4、1 对NULL指针的解引用操作 4、2 对动态开辟空间的越界访问 4、3 对非动态开辟内存使用free释放 …

rcu锁原理以及rcu example学习

rcu参考资料&#xff1a; https://airekans.github.io/c/2016/05/10/dive-into-liburcu https://lwn.net/Articles/262464/ https://cloud.tencent.com/developer/article/1684477 https://www.cnblogs.com/LoyenWang/p/12681494.html userspace rcu: https://github.com/urcu…

PHP 过滤器

PHP 过滤器用于验证和过滤来自非安全来源的数据&#xff0c;比如用户的输入。什么是 PHP 过滤器&#xff1f;PHP 过滤器用于验证和过滤来自非安全来源的数据。测试、验证和过滤用户输入或自定义数据是任何 Web 应用程序的重要组成部分。PHP 的过滤器扩展的设计目的是使数据过滤…

目标检测、实例分割、旋转框样样精通!详解高性能检测算法 RTMDet

1. 简介 近几年来&#xff0c;目标检测模型&#xff0c;尤其是单阶段目标检测模型在工业场景中已经得到广泛应用。对于检测算法来说&#xff0c;模型的精度以及运行效率是实际使用时最受关注的指标。因此&#xff0c;我们对目前的单阶段目标检测器进行了全面的改进&#xff1a…

超参数、划分数据集、

目录1.超参数(hyperparameters)参数(Parameters)&#xff1a;&#xff0c;&#xff0c;&#xff0c;&#xff0c;&#xff0c;...超参数&#xff1a;能够控制参数W,b的参数&#xff0c;是在开始学习之前设置的参数。比如&#xff1a;学习率、梯度下降循环的数量#iterations、隐…

【阶段三】Python机器学习23篇:机器学习项目实战:XGBoost分类模型

本篇的思维导图: XGBoost算法可以说是集成学习方法中的王牌算法。在著名的数据挖掘比赛平台Kaggle上,众多获胜者都使用了XGBoost算法,它在绝大多数回归问题和分类问题上的表现都十分不错。 XGBoost算法的核心思想 XGBoost算法在某种程度上可以说是GBDT算法…

蓝桥杯:超级质数

目录 题目链接 问题描述 答案提交 本题答案为&#xff1a;373。 思路&#xff1a; 模拟代码(Java)&#xff1a; 问题描述 如果一个质数 P 的每位数字都是质数, 而且每两个相邻的数字组成的两位 数是质数, 而且每三位相邻的数字组成的三位数是质数, 依次类推, 如果每相 邻…

【Node.js实战】一文带你开发博客项目之日志(文件读写、stream流、写日志)

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;也会涉及到服务端 &#x1f4c3;个人状态&#xff1a; 在校大学生一枚&#xff0c;已拿多个前端 offer&#xff08;秋招&#xff09; &#x1f680;未…

《码出高效:java开发手册》八 -单元测试

前言 这章内容主要是讲单测&#xff0c;单元就是指一个程序分的最小单位&#xff0c;一般是类或者方法&#xff0c;在面向对象编程里&#xff0c;一般就是认为方法是最小单位&#xff0c;单测是程序功能的基本保障&#xff0c;在软件上线前非常重要的一环 正文 单测的好处&a…

_Linux多线程-死锁Linux线程同步篇

文章目录1. 死锁死锁四个必要条件避免死锁避免死锁算法&#xff08;了解&#xff09;2. Linux线程同步线程同步出现的背景条件变量同步概念与竞态条件条件变量函数1. 初始化2. 销毁3. 等待条件满足4. 唤醒等待小结测试实验1. 死锁 死锁是指在一组进程中的各个进程均占有不会释…

linux服务器CPU飙高排查

文章目录前言一、第一步 top二、根据pid查找具体线程2.根据pid找到16进制3. 根据进程和线程查找原因总结前言 系统cpu飙高,尤其对于后端人员来说,其实应该学会排查,这样也算是综合能力的体现;那么当出现了cpu严重飙高的时候怎么排查呢? 一、第一步 top 直接在问题服务器输入…

如何系统地学习 C++ 语言?

C 最大的缺点就是语法复杂&#xff0c;而且难学难精。 学习 C 语言也许一本 K&R 的《C程序设计语言》就够了&#xff0c;但是在 C 世界里&#xff0c;找不到这样一本书。在这个爱速成的年代&#xff0c;大家可能耐不住寂寞花很长时间去学习一门语言&#xff0c;所以可以看…

车载以太网 - DoIP电源模式 - 07

DoIP电源模式&节点状态&激活检查这3块内容没有太大的逻辑性可言,主要是概念性内容介绍,所以本篇内容可能会略显枯燥,不过我回尽量完整的把这几块内容介绍清晰,为后面的测试用例设计做好铺垫,方便大家在看完文章后,更加快速的提取知识点,并完成测试设计。 诊断电…

回溯法--图的m着色问题--子集树

问题描述 给定无向连通图和m种不同的颜色&#xff0c;用这些颜色为图G的各个顶点着色&#xff0c;每个顶点有一种颜色 是否有一种着色方法&#xff1f;使得图G中每条边的两个顶点有不同的颜色 这个问题就是图的m可着色判定问题 色数&#xff1a;如果有一个图最少需要m种颜色…

C进阶:自定义类型:结构体、枚举、联合体

自定义类型&#xff1a;结构体、枚举、联合体自定义类型&#xff1a;结构体、枚举、联合体结构体结构的定义&#xff1a;结构体的声明&#xff1a;特殊的声明(匿名)结构体的自引用&#xff1a;结构体变量的定义和初始化结构体内存对齐为什么要有内存对齐修改默认对齐数结构体传…