当前位置: 首页 > news >正文

Day 01 python学习笔记

1、引入

让我们先写第一个python程序(如果是纯小白的话)

因为我们之前安装了python解释器

所以我们直接win + r ---->输入cmd(打开运行终端)

>python    #(在终端中打开python解释器)>>>print("hello World")   #回车执行
#注意:print(“”) 是英文的"" 和()

2、python基础语法

2.1变量

变量:程序运行时,记录数据用的(盒子)

变量名称 = 变量的值     ( =表示赋值 )

变量名自定义,但要满足标识符命名规则

2.1.1标识符

用户在编程时所使用的一系列名字---标识符

标识符命名规则:

  1. 内容限定 : 英文、中文(不推荐)、数字(不可以开头)、下划线
  2. 大小写敏感(严格区分大小写)
  3. 不可使用关键字(大小写敏感)
查询关键字的命令
import keyword
keywords = keyword.kwlist
print(keywords)

命名习惯:见名知意、大驼峰MyName、小驼峰myName、下划线my_name

2.1.2使用变量

age=18
print('年龄是:',age)#输出多个数据之间用,隔开
>>>年龄是:18# 变量:可以变化
age=age-1
print(age)    #访问变量不要有“”
>>>17#解释器按照代码的书写顺序自上而下执行的
#变量的值可以改变

2.2数据类型及转换

检测数据类型:

type()  #检验数据类型,可以查变量的数据类型

认识数据类型:看上图

int:整型 无小数点
float:整数部分与小数部分组成
bool:True(真)、False(假)
None:无法进行运算:空空如也   #内置函数的返回值,无返回值就是None
NaN
复合数据类型

2.2.1数据类型转换的函数

a=input(请输入数字1:)
b=input(请输入数字2:)
print(a+b)>>>请输入数字1:2
>>>请输入数字2:3
>>>23为什么呢?
我们查看一下
print(type(a))
<class 'str'>
原来input得到的是字符串类型那我们怎么解决呢?

常见的数据类型转换

  1. int() 转换为整数
  2. float() 转换为浮点数
  3. str() 转换为字符串
  4. eval():根据字符串里边的数据类型转换成原本的类型

其中float()使用需谨慎:

a=float(input(请输入数字1:))
b=float(input(请输入数字2:))
print(a+b)>>>请输入数字1:1.23
>>>请输入数字2:4.56
>>>5.789999999999
这就是浮点型的精度损失(后续我会讲解)

还有一个自动类型转换

eg:a = 10     #会自动转换成浮点型
b = 3.14
print(a+b)>>>13.14c = True   #会自动转换成1  
print(a+c)>>>11

2.3字符串

字符串,又称作文本。由任意数量的字符如中文、英文、各类符号等组成。所以叫做字符的串

2.3.1四种定义方式

1、'xxxxx'
2、"ssss"

3、'''

     aaa        支持换行

     '''
4、"""

     aaaaa    支持换行
     """

如果不使用的话,相当于一个注释      (3,4相当于多行注释,单行注释#)

并且三引号会保留文本原本格式,多行保留格式(eg:多行回车换行时,字符串输出是回车会输出\n)

2.3.2字符串本身有“

eg:    “ ‘你好’ ”
          ‘ “还” ’

需要用到转义字符(\) 详情可看我前面的博客C语言初阶2

                                   (python与C语言一样的,详细全面) 

2.3.3字符串拼接

  1.  字面量和字面量“”+“”   (也勉强算一种字符串格式化)
  2.  变量和字符串 “ ” + age   (字符串只能与字符串拼接,这个需将age包含的数字转换为字符串类型)
  3.  不能和其他类型进行拼接(字符串与数字拼接也会报错eg:“什么”+19)

2.3.4字符串的格式化

name='zs'
age=18
message='我是%s,今年的年龄是%s' % (name,age)
# %表示我要占位 s将变量变成字符串放入占位的地方
print(message)#格式化的精度控制
a=11
b=3.141592654
message="我是5位%5d" % b  # %5d 5表示占5个空  d表示整型
message2="5位%5.2f" % b   # .2表示精确到小数点后2位  f表示浮点型
print(message2)
print(message)
>>>5位 3.14    #中间1个空,因为小数点也占一个空
我是5位    3   #中间四个空

2.3.4.1格式化的精度控制

2.3.5字符串格式化方法2(极力推荐)

f"内容{变量}" 不关心类型,不关注精度 f:format

对表达式进行格式化
表达式:一条具有明确执行结果的代码语句 1+1 1*4 age=18

a=11
message3=f"我s是字符串格式化方式二{a}"
print(message3)
>>>我s是字符串格式化方式二11a=11.11
message3=f"我s是字符串格式化方式二{a}"
print(message3)
>>>我s是字符串格式化方式二11.11

2.3.6字符串格式化3

使用字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}、{1}……,不过这种方式写起来比%要麻烦得多:

>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
'Hello, 小明, 成绩提升了 17.1%'

2.3.7字符串格式化4

当输出值只有一个的时候(用逗号隔开)

print("用户名:",uname)

2.3.8获取键盘输入

input("提示字")

默认接受类型为字符串--------有需要,自行转换

2.3.9转义符与结束符

\n:换行

\t:制表符

print('hello\n python')
print('hello\tpython')>>>hello
>>> python
>>>hello   python

结束符

print()输出为何独占一行自动换行?

我们可以查看一下help文件

>>>help()
>>>print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
#可以看到print()里含有\n
print('hello python',end="\n")
print('hello',end="")
print('hello python',end="\n")>>>hello python
>>>hellohello python

注意项:

1、结束符

我们应该注意到和C语言不同的是,我们写python时写print()一般都是一行写一句

为什么呢?

因为两个print写在一行他会报错

print('hello python',end="\n")print('hello python',end="\n")
>>>SyntaxError: invalid syntax

那怎么解决呢?

print('hello python',end="\n");print('hello python',end="\n")

因为python一行结束,回车(进入下一行时)相当于 ;

2、python缩进要求极其严格

不缩进会报错,可用空格和Tab  (1个Tab=4个空格)

注意:但不要边用空格边用Tab     (大量代码和少许解释器可能会报错)

http://www.lryc.cn/news/175119.html

相关文章:

  • CSharp Library develop histroy
  • 林木种苗生产vr虚拟实训教学降低培训等待周期
  • LabVIEW在运行时调整表控件列宽
  • 【6 ElementUI Tabs控件第二个tab页签Div宽度缩小的问题】
  • 读写分离MySQL
  • MySQL数据库用户管理
  • package.json属性
  • C# 把m4a格式文件转为MP3格式
  • 【分享】Word文档如何批量转换成PDF?
  • dedecms tag 伪静态 数字版本
  • mysql数据库ip被阻断
  • Nginx WEB访问与Linux授权约束
  • 影响独立服务器稳定运行的因素
  • Xcode14.3.1打包报错Command PhaseScriptExecution failed with a nonzero exit code
  • [RF学习记录][ssh library][execute Command】关键字的返回值
  • 【Python入门教程】Python实现猜数字小游戏
  • vue项目打包部署到服务器,报错。
  • 适用于初学者,毕业设计的5个c语言项目,代码已开源
  • 虾皮商品详情数据接口
  • 数据大爆炸:大数据分析如何改变我们的世界
  • WorkPlus私有化部署IM即时通讯平台,构建高效安全的局域网办公环境
  • [C++随笔录] list使用
  • 机器学习总结
  • 【刷题笔记9.24】LeetCode:二叉树最大深度
  • 投资理财知识分享:100个金融知识专业术语
  • 【ESP8266+TM1650时钟数码管+DS3231模块】制作网络时钟
  • 手动安装Linux服务器JDK
  • 9月24日,每日信息差
  • 【Linux】详细介绍Linux重入不可重入带例子
  • 学术团体的机器人相关分会和机器人相关大赛的说明