输入与输出

输出:

print(‘内容’)
		   print(“内容1”,“内容2”,...)
		   print(数字) 					#不需要单引号、双引号
		   print(数字1 运算 数字2)		#直接进行运算
		   print(“内容1”,数字运算)		#随机组合

输入:input()

输入Input,输出Output,输入输出统称Input/Output,或简写IO。

input()和print()是在命令行下面最基本的输入和输出,也可通过其他更高级的图形界面完成输入和输出。

Python基础

主要从数据类型、字符串和编码、使用list和tuple、条件判断、循环和使用dict和set等方面进行:

数据类型和变量

  1. 整数、浮点数、字符串
    整数:写法同数学上(运算永远精确,包括除法)
    浮点数:即小数,小浮点数写法同数学上,大浮点数采用科学计数法 (运算会有四舍五入的误差)
    字符串:用单引号’'和双引号""来显示,包含以上引号借用转义字符\

例子:

>>> print("I'm OK")		#正常输出
I'm OK
>>> print('I\'m OK')		#转义字符
I'm OK
>>> print('I\'m \"OK\"')		#转义字符
I'm "OK"
>>> print('I\'m\tlearning\npython\!')		#转义字符包含\n,\t,\*转义
I'm	learning
python\!
>>> print('''python)	#多行输出
is
so
easy''')
python)
is
so
easy

如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r’‘表示’'内部的字符串默认不转义

>>> print(r'I\'m \"OK\"')		#r 后面默认不转义!!!
I\'m \"OK\"
  1. 布尔值
    布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来:
>>> False
False
>>> 3 > 5
False

布尔值可以用and、or和not运算,等同于与、或、非运算

>>> True and False
False
>>> True or False
True
>>> not False
True
  1. 空值
    None不等于0,0有含义,None是特殊的空值。
  2. 变量
    变量名必须是大小写英文、数字和下划线_的组合,且不能用数字开头
    同一变量可以反复赋值!
  3. 常量
    在Python中,通常用全部大写的变量名表示常量

补充:整数做 “//” 除法只取结果的整数部分

练习

我的:

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

字符串和编码

计算机默认处理数字,文字 需转换成 数字 才能处理
Unicode将所有语言通道一套编码中,但相同内容是英文无中文情况下,Unicode比ASCII多一倍存储空间。
UTF-8=可变长编码

英文字母=1字节
		汉字=3字节
		生僻字符=4-6字节
		字符				  ASCII				Unicode				      UTF-8
		  A			    01000001	  00000000 01000001 			01000001
		  中		   		x		  01001110 00101101				11100100 10111000 10101101

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

用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件:

python在print的同时input python中input和print的区别_python

  • 字符串
    ord(‘字符’)—>字符的整数表示
    chr(编码的数字)---->对应的字符
>>> ord('中')
20013
>>> chr(25991)
'文'
  • 编码规则:
>>> 'ABC'.encode('ascii')		#纯英文用ASCII编码为bytes
b'ABC'
>>> '中文'.encode('utf-8')		#中文用UTF-8编码
b'\xe4\xb8\xad\xe6\x96\x87'
>>> '中文'.encode('ascii')		#中文不可用ASCII编码
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
>>> b'ABC'.decode('ascii')		#对bytes进行ASCII解码
'ABC'
>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')		#对中文bytes进行utf-8解码
'中文
>>> b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')	#ignore可忽略解码过程中出现的错误字节
'中'
>>> len('中文')		#统计str的字符数,只占两个字符
2
>>> len('中文'.encode('utf-8'))		#统计bytes的字节数,一个中文字符占3个字节
6
  • 编写代码注意事项:
    Python源码中包含中文的时候,保存源代码时需要用utf-8编码,通常在.py文件的前两行声明一下:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

使用notepad++编写脚本时,编码部分选择UTF-8 without BOM 编码
综上,即声明+编码方式都确定为UTF-8,中文字符在运行python代码后正常显示!!

练习

我的:

# -*- coding: utf-8 -*-

s1 = 72
s2 = 85
r = (s2-s1)/s1*100
print('improved percent of grades is %.2f %%' % r)
	>>	improved percent of grades is 18.06 %