Python基础之变量、输入、输出
一、Hello World程序
在Windows终端执行python
C:\Users\renyz02>python Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> print("Hello World") Hello World
二、变量和字符编码
程序是用来处理数据的,而变量是用来存储数据的
1、声明变量(变量的赋值)
name = "ren" print("name")
变量名为:name,变量name的值为:“ren”
2、变量定义的规则
(1)变量名只能是字母、数字、下划线的任意组合
(2)变量名的第一个字符不能是数字
(3)关键字不能声明为变量名
3、命名
(1)见名知意
起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可读性) 比如:名字就定义为 name , 定义学生用 student
(2)驼峰命名法
小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog
大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:FirstName、LastName
不过在程序员中还有一种命名法比较流行,就是用下划线“_”来连接所有的单词,比如send_buf,last_name
Python推荐就是用下划线“_”来连接所有的单词
4、关键字
Python一些具有特殊功能的标识符,这就是所谓的关键字.
关键字,是Python已经使用的了,所以不允许开发者自己定义和关键字相同的名字的标识符。
可以通过以下命令进行查看当前系统中python的关键字
import keyword print(keyword.kwlist) ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
5、字符编码
python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号。
显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多
UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...
python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill);应该显示的告诉python解释器用什么编码来执行源代码。
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author: Renyz
6、注释
单行注释:# 被注释的内容(Ctrl+/)
多行注释:'''被注释的内容'''(三个单引号或三个双引号)
同时多行字符串必须使用多引号('''字符串内容''')
三、用户输入
与用户交互(在屏幕上显示用户输入的内容)
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author: Renyz name = input("请输入您的名字:") passwd = input("请输入您的密码:") ----------------------------------------------------------------------------- C:\Users\renyz02\PycharmProjects\untitled\venv\Scripts\python.exe C:/Users/renyz02/Desktop/py_test1/20190910/output.py 请输入您的名字:ryz 请输入您的密码:123 Process finished with exit code 0
输入密码时,如果想要密码不显示,可以使用getpass模块中的getpass方法:(该模块在pycharm中无法使用)
(venv) C:\Users\renyz02\Desktop\py_test1>ipython Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)] Type 'copyright', 'credits' or 'license' for more information IPython 7.8.0 -- An enhanced Interactive Python. Type '?' for help. In [1]: import getpass IIn [2]: passwd = getpass.getpass("请输入密码:") 请输入密码: In [3]: print(passwd) 123
四、输出函数
1、简单的输出
#打印提示 print("Welcome to BeiJing")
2、格式化输出
程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式,所以需要用到格式化输出
# -*- coding:utf-8 -*- # Author: Renyz name = input("name: ") age = int(input("age: "))#integer # print(type(age),type(str(age))) sex = input("sex: ") home_address = input("home_address: ") # 万恶的 “+” 也可以连接字符串,但效率太低,不建议使用 # 建议使用前两种 info = ''' -------- info of %s -------- Name:%s Age:%d Sex:%s Home_Address:%s '''%(name,name,age,sex,home_address) info2 = ''' -------- info of {_name} -------- Name:{_name} Age:{_age} Sex:{_sex} Home_Address:{_home_address} '''.format(_name=name,_age=age,_sex=sex,_home_address=home_address) info3 = ''' -------- info of {0} -------- Name:{0} Age:{1} Sex:{2} Home_Address:{3} '''.format(name,age,sex,home_address) print(info3) ------------------------------------------------------------------------- C:\Users\renyz02\PycharmProjects\untitled\venv\Scripts\python.exe C:/Users/renyz02/PycharmProjects/untitled/day1/interaction.py name: ryz age: 26 sex: male home_address: shanxi -------- info of ryz -------- Name:ryz Age:26 Sex:male Home_Address:shanxi
%s :字符串占位符:可以接收字符串,也可接收数字
%d :数字占位符:只能接收数字
print('My name is %s,my age is %d' %('test',18))
#注意:
#print('My name is %s,my age is %d' %(name,age)) #age为字符串类型,无法传给%d,所以会报错
扩展:
end 关键字 关键字end可以用于将结果输出到同一行
print("Hello,",end="") print("World",end="") ——————————————————————————————————— Hello,World
print("\tPython")#\t表示空四个字符,也称缩进,相当于按一下Tab键 print("\nPython\nJAVA\nC++\nJavaScript\nC#")#\n表示换行,相当于按一下回车 print("languages:\n\tPython\n\tJAVA\n\tC++\n\tJavaScript\n\tC#")#\n\t表示换行加每行空四格 ---------------------------------------------------------------------- C:\Users\renyz02\PycharmProjects\untitled\venv\Scripts\python.exe C:/Users/renyz02/Desktop/py_test1/20190910/output.py Python Python JAVA C++ JavaScript C# languages: Python JAVA C++ JavaScript C#
3、换行输出(\n)
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author: Renyz name = "Python" age = 18 print("My name is %s,\nMy age is %d"%(name,age)) ------------------------------------------------------------------- C:\Users\renyz02\PycharmProjects\untitled\venv\Scripts\python.exe C:/Users/renyz02/Desktop/py_test1/20190910/output.py My name is Python, My age is 18