python基础(1)

1、python格式

1、#表注释

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

3、照约定俗成的惯例,应该始终坚持使用4个空格的缩进。

4、复制黏贴使得代码缩进格式,需要重新来调整

5、例子展示

sex=input("please input your sex:")
if sex == "女":#缩进表示代码块,代码块的上一句必须有:
 print("欢迎您,女士")
else:
 print("欢迎您,先生")

在这里插入图片描述

2、数据的类型

(1)整数

十进制数:100,-3678
十六进制数:0xff00
用_隔开的数:10_000_000_000、0xa1b2_c3d4(运用于很长呢个的数字)

(2)浮点型

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

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

最后解释一下整数的除法为什么也是精确的。
3/4 :依旧是浮点数
8//5(取整数):结果为1
8%3(取余数):结果为2
在这里插入图片描述

(3)字符串

1)abc: "abc"或者’abc’
2)I’m “OK”!:I ’ m " OK " !
(如果字符串内部既包含’又包含"怎么办?可以用转义字符\来标识。转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\表示的字符就是)
3)print(’\\t\’):\
print(r’\\t\’):\\t\

(Python还允许用r’‘表示’‘内部的字符串默认不转义)
4)有很多换行时
print(’’‘line1/n
line2
line3’’’)
print(r’’‘line1/n
line2
line3’’’)

(4)布尔值

布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来:
在这里插入图片描述布尔值可以用and、or和not运算。
在这里插入图片描述

3、空值

空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

此外,Python还提供了列表、字典等多种数据类型,还允许创建自定义数据类型,我们后面会继续讲到。

4、变量

(1)变量

  • 变量名必须是大小写英文、数字和_的组合,且不能用数字开头
  • 变量是动态语言,与之对应的是静态语言,静态语言在定义时必须确定数据类型并且在赋值时只能赋值相同类型的值
    在这里插入图片描述运行不出来,以后解决
    在这里插入图片描述

(2)原理

最后,理解变量在计算机内存中的表示也非常重要。当我们写:

a = ‘ABC’

时,Python解释器干了两件事情:

(1)在内存中创建了一个’ABC’的字符串;

(2) 在内存中创建了一个名为a的变量,并把它指向
‘ABC’。

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

在这里插入图片描述

5.常量

表示方法
全部用大写字母来表示,且实际上它本质上依旧是一个变量

练习题

n = 123
f = 456.789
s1 = 'Hello, world'
s2 = 'Hello, \'Adam\''
s3 = r'Hello, "Bart"'
s4 = r'''Hello,
Lisa!'''
print(n,f,s1,s2,s3,s4,sep='\n')

结果:
123
456.789
Hello,world
Hello,‘Adam’
Hello, “Bart”
Hello,
Lisa!

sep
全称为Separate意为 分开 隔开
用于print两个元素时自定义间隔符(默认为两个空格)

6.字符串

(1)字符串编码

美国ASCII
中国GB2312
日本Shift_JIS
各国有各国的标准,就会不可避免地出现冲突,结果就是,在多语言混合的文本中,显示出来会有乱码。

因此,Unicode字符集应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。

UTF-8(1、问了存储和运输 2、ASCII也可以当作UTF-8的一部分,有大量ASCII遗留的软件也可以在UTF-8下工作)

在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。(暂时不懂)

(2)python字符串

1、字符串和整数相互转换
Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符:

ord('中')
20013
chr(66)
'B'

如果知道字符的整数编码,还可以用十六进制这么写str:

 '\u4e2d\u6587'
 '中文'

2、字符串转化为bytes
(1)bytes数据
Python对bytes类型的数据用带b前缀的单引号或双引号表示:

x = b'ABC'

(2)代码表示
以Unicode表示的str通过encode()方法可以编码为指定的bytes
在这里插入图片描述在bytes中,无法显示为ASCII字符的字节,用\x##显示。
3、bytes数据转化为字符串
(1)代码表示
要把bytes变为str,就需要用decode()方法:
在这里插入图片描述如果bytes中包含无法解码的字节,decode()方法会报错:
如果bytes中只有一小部分无效的字节,可以传入errors='ignore’忽略错误的字节:
在这里插入图片描述4、计算字符的长度
len()函数计算的是str的字符数,如果换成bytes,len()函数就计算字节数:
在这里插入图片描述综上所述
在操作字符串时,我们经常遇到str和bytes的互相转换。为了避免乱码问题,应当始终坚持使用UTF-8编码对str和bytes进行转换。

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

#!/usr/bin/env python3 #为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
# -*- coding: utf-8 -*-#为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。

申明了UTF-8编码并不意味着你的.py文件就是UTF-8编码的,必须并且要确保文本编辑器正在使用UTF-8 without BOM编码:

(3)格式化

方法一%

1)你可能猜到了,%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。
在这里插入图片描述2)格式化整数和浮点数还可以指定是否补0和整数与小数的位数:

	print('%2d-%02d' % (3, 1)) #%2表示占两位,%02表示占两位,其余位置用0表示
	print('%.2f' % 3.1415926)  #取小数点后两位

3)如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串:
4)有些时候,字符串里面的%是一个普通字符怎么办?这个时候就需要转义,用%%来表示一个%:

方法二format()

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

方法三f-string

	r = 2.5
	s = 3.14 * r ** 2
	print(f'The area of a circle with radius {r} is {s:.2f}')
	The area of a circle with radius 2.5 is 19.62

练习题

在这里插入图片描述

			c =s2/s1-1
			print('小明的成绩从去年的%d提升到了今年的%d,提升了%.1f%%'%(s1,s2,c))
			print('小明的成绩从去年的{0}提升到了今年的{1},提升了{2:.1f}%'.format(s1,s2,c))
			print(f'小明的成绩从去年的{s1}提升到了今年的{s2},提升了{c:.1f}%')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值