一、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 关键字
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