python基础笔记 01-21-09-16

①python编辑器

visual studio code

②输出和输入

1.print
两种类型:''的字符串和纯数字
运算:+ ,字符串拼接;纯数字运算
分割:,,会输出一个空格

2.input
name = input() :用户输入数据,input将数据存储到name里
name = input('……'):先输出……,然后,input将输入的数据存储到name里

代码如下:

print('Hello,world!')
print('Hello'+'world!')
print('Hello','World!')
print(100)
print(100*23,100+23)
name = input()
print('Hello',name)
name = input('please enter your name : ')
print('Hello,',name,'Welcome!')

输出结果:

Hello,world!
Helloworld!
Hello World!
100
2300 123
Signal
Hello Signal
please enter your name : _Signal
Hello, _Signal Welcome!

进程已结束,退出代码为 0

③数据类型和变量

python中能直接处理的数据类型有:整数、浮点数、字符串、布尔值、空值、变量、常量

1.整数

Ⅰ python中可以表示任意大小的整数,无论正负
Ⅱ 计算机中有进制表示,计算机使用二进制进行表示,所以有时候用16进制表示整数会方便:0x
Ⅲ ‘_’不影响表示。10000 == 10_000

2.浮点数

Ⅰ 浮点数的表示:
	小数表示:100.2356
	科学计数法:1.002356*10^(2) , 1.002356e2 , 10023.56e-2

Ⅱ 浮点数的除法运算:
	由于储存方式的不同,整数的出发时精确的,而浮点数的除法可能会有四舍五入的误差

3.字符串

Ⅰ 字符串的表示:
	以单引号'或双引号"括起来的任意文本,比如'ab01c',"xyASz"等等
Ⅱ 引号作为字符时:
	A.只有一种引号作为字符
		要输出:I'm Joker
		包含的字符是I,',m,空格,J,o,k,e,r 这9个字符。
		处理:用单引号和双引号区分
		print("I'm Joker")
	B.两种引号都作为字符出现
		要输出:I'm "Joker"
		包含的字符是I,',m,空格,'',J,o,k,e,r,'' 这11个字符。
		处理:用转义字符\
		print('I\'m \"Joker\"')
			如果字符串中有\,而我们不希望它对字符串进行转义,使用r
			要输出:Joker\n
			print(r'Joker\n')
Ⅲ 多行换行:
		'\n',或者,用''' '''
		print('adff' '\n' 'a12454')
		print('''adff
		a12454''')
print('ab01c')
print("xyASz")
print("I'm Joker")
print('I\'m \"Joker\"')
print(r'Joker\n')
print('adff' '\n' 'a12454')
print('''adff
a12454''')
ab01c
xyASz
I'm Joker
I'm "Joker"
Joker\n
adff
a12454
adff
a12454

进程已结束,退出代码为 0

4.布尔值

Ⅰ 布尔值的取值:
	True 、 False
Ⅱ 运算:
	and 、 or 、 not
Ⅲ 用于:
	条件判断: if ()
print(1>2,2>1)
print(1>2 and 2>1,1>2 or 2>1,not 1>2)
age = input('请输入您的年龄:')
age = float(age)
if age >= 18:
    print('you are an adult.')
else :
    print('you are a child.')
False True
False True True
请输入您的年龄:20.45
you are an adult.

进程已结束,退出代码为 0

5.空值

Null,不是0

6.变量

以 a = 'signal' 为例:
Ⅰ a是变量名。变量名必须是大小写英文、数字和_的组合,且不能用数字开头。
Ⅱ =是赋值,不是相等的意思,'=='表示相等的条件判断
Ⅲ signal,这是个赋值过程。
	在内存中创建了一个'signal'的字符串;
	在内存中创建了一个名为a的变量,并把它指向'signal'。
	
	a这个变量没有固定要存放什么数据类型,a也可以,a = 20
	int a , a = 20 ,就固定了a必须存放整型数据
a = 'signal'
print(a)
a = 20
print(a)
signal
20

进程已结束,退出代码为 0

7.常量

Ⅰ 常量就是不能变的变量
Ⅱ 在Python中,通常用全部大写的变量名表示常量
Ⅲ / 与 //
	/除法,计算结果是浮点数
	//,称为地板除,两个整数的除法仍然是整数
PI = 3.1405926
print(PI)
print(10/3,'\t',
      10//3,'\t',
      10%3)
3.1405926
3.3333333333333335 	 3 	 1

进程已结束,退出代码为 0

练习

请打印出以下变量的值:
n = 123
f = 456.789
s1 = 'Hello, world'
s2 = 'Hello, \'Adam\''
s3 = r'Hello, "Bart"'
s4 = r'''Hello,
Lisa!'''
n = 123
f = 456.789
s1 = 'Hello, world'
s2 = 'Hello, \'Adam\''
s3 = r'Hello, "Bart"'
s4 = r'''Hello,
Lisa!'''
print(n,'\n',
      f,'\n',
      s2,'\n',
      s1,'\n',
      s3,'\n',
      s4,'\n' )
123 
 456.789 
 Hello, 'Adam' 
 Hello, world 
 Hello, "Bart" 
 Hello,
Lisa! 


进程已结束,退出代码为 0

④字符串和编码

1.字符编码

			ASCII编码:大小写英文字母、数字和一些符号 
	----无法表示其他语言---->
			中国制定了GB2312编码,用来把中文编进去
			日本把日文编到Shift_JIS里,
			韩国把韩文编到Euc-kr里
	----统一一套编码---->	
			Unicode
	----Unicode两个字节表示一个字符---->	
			UTF-8 :可变长编码

在这里插入图片描述
在这里插入图片描述

2.python的字符串

	Ⅰ python3字符串以Unicode编码
	Ⅱ 编码与字符之间的转换
			(1) 单个字符   查字典
					ord()函数获取字符的整数表示。字符 ----> 编码
					chr()函数把编码转换为对应的字符。编码 ----> 字符
			(2) Python的字符串类型是str,在内存中以Unicode表示	
					要将字符和字节对应,str < ---- > bytes
					比特类型在python中的表示:
							m = b'CSDN'
					字符串类型在python中的表示:
							n = 'CSDN'	
					两者的转换:
							编码:n.encode('ascii')   or  '中国'.encode('utf-8')
							解码:m.decode('ascii')  or m.decode('utf-8')
					len()函数可以对字节数和字符数进行计数
			(3) 编写python源文件时候注意:
					#!/usr/bin/env python3    
					告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
					# -*- coding: utf-8 -*-
					告诉Python解释器,按照UTF-8编码读取源代码,
					否则,你在源代码中写的中文输出可能会有乱码。
print('Signal的意思是信号、暗号')
print(ord('中'),ord('国'),chr(20013))
m = b'CSDN'
n = 'CSDN'
print(n.encode('ascii'),m.decode('ascii'),'中国'.encode('utf-8'))
print(len(m),len(n))
Signal的意思是信号、暗号
20013 22269b'CSDN' CSDN b'\xe4\xb8\xad\xe5\x9b\xbd'
4 4

进程已结束,退出代码为 0

3.格式化的问题

三种格式化方法:
		% 、 format() 、 f-string
Ⅰ %
		占位符:
		 %d ----> 整数 、 %f ----> 浮点数 、 %s ----> 字符串 、 %x ----> 16进制整数
		 其中,通用的是%s,无论输入什么,都会转换成字符串类型
		 
		 带格式的占位符:
		 % 2d:将数字按宽度为2,采用右对齐方式输出,如果数据位数不到2位,则左边补空格。
		 %02d:默认情况下,数据数据宽度不够2位是用空格填补的,但是因为2d前面有0,表示,数据宽度不足时用0填补。
		 
		 取小数位数:
		 %.2f:浮点型保留两位小数
		
		%为字符中的普通字符:
		用%来转义%:%%
print('%s剩下的零花钱是%f块钱,而这个月还有%d天' % ('Yuyuan',100,10))
print('% 3d + %02d' % (2,4))
print('%.3f' % (3.1415926))
print('我们班级里男生占比 %.2f %%' % (60.5))
Yuyuan剩下的零花钱是100.000000块钱,而这个月还有102 + 04
3.142
我们班级里男生占比 60.50 %

进程已结束,退出代码为 0
Ⅱ format()
		传入的参数依次替换字符串内的占位符{0}、{1}
		比 % 麻烦
print('食堂里{0}是{1:.2f}元{2}勺'.format('小鱼仔',5,'半'))
食堂里小鱼仔是5.00元半勺

进程已结束,退出代码为 0
Ⅲ f-string
		f放在字符串开头,字符串如果包含{xxx},就会以对应的变量替换。
i = '20%'
r = 6
print(f'食堂菜价上涨了{i},鱼仔是{r:.2f}元半勺')
食堂菜价上涨了20%,鱼仔是6.00元半勺

进程已结束,退出代码为 0

练习

小明的成绩从去年的72分提升到了今年的85分,
请计算小明成绩提升的百分点,
并用字符串格式化显示出'xx.x%',只保留小数点后1位:
m = 72
n = 85
p = (n-m)/72*100
print(f'小明的成绩原来是{m},现在的成绩是{n},提高了{p:.1f}%')
小明的成绩原来是72,现在的成绩是85,提高了18.1%

进程已结束,退出代码为 0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值