python第一篇
python介绍
python的用途
我们为什么学习python,python学会了可以做什么,从一个例子告诉我们学习一门编程语言的好处。
如:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱?
可以想象如果要算这道题的话,很麻烦,如果用python解决这个问题呢?代码如下:
#!/usr/bin/env python #! -*- coding:utf-8 -*- """ 思考:里边有两个条件,首先要买一百只鸡,还要整整一百文钱 根据题目可以得出:公鸡5文,5*公鸡 < 100: 母鸡3文,3*母鸡 < 100: 小鸡3只1文,1*小鸡 < 100x3 公鸡+母鸡+小鸡=100 """ for x in range(1,21): for y in range(1,34): for z in range(1,301): sum_money= x * 5 + y * 3 + z /3 if sum_money == 100 and x +y + z ==100: print('公鸡%s只,母鸡%s只,小鸡%s只'%(x,y,z))
公鸡4只,母鸡18只,小鸡78只
公鸡8只,母鸡11只,小鸡81只
公鸡12只,母鸡4只,小鸡84只
根据上边的一个例子,这是我们用python计算出的答案,可以看到python的用处多多。
python解释器的种类
- cpython
Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。 - Jyhton
Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。 - IronPython
Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似) - PyPy(特殊)
Python实现的Python,将Python的字节码字节码再编译成机器码。
python环境:
windows
1.下载安装包
https://www.python.org/downloads/
2.安装:
默认安装到c盘,可以安装到D:\python
3.配置环境变量:
python:【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到变量名为Path 的一行,双击】 --> 【Python安装目录D:\python追加到变量值中,用;分割】 pip3:【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到变量名为Path 的一行,双击】 --> 【Python安装目录D:\python\Scripts追加到变量值中,用;分割】 如:pip3 install paramiko
编写python程序
第一个python程序
print ("hello world")
python内部执行过程如下:
字符编码
1.ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。
显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode
2.Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多
3.UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存。
4.gbk只针对亚洲国家做的文字做的对应关系,中文两个字节。
注:python2:解释器编码默认编码:ascii;python3:解释器编码默认编码:utf-8
IDE的使用
1.使用方法:
1.1新建个newproject
1.2新建new 文件夹
1.3在创建个new文件
2.设置字符编码:file--->settings----搜索coding---->改成utf-8
3.设置文件模板:file--->setting-----搜索templates---->python Script---->#!/usr/bin/python #-- coding:utf-8 --
4.设置改变大小:file--->setting----搜索mouse
输入输出
- 输入:
user = input("请输入用户名:")
- 输出:
print(user)
密码加密:
import getpass pwd = getpass.getpass("请输入密码:")
变量
- 格式
格式:变量名 = 值
#!/usr/bin/env python # -*- coding: utf-8 -*- name = ""
- 规范
1.变量名只能是 字母、数字或下划线的任意组合
2.变量名的第一个字符不能是数字
3.以下关键字不能声明为变量名
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
4.见名知意
条件语句
1.格式1:示例如下
#!/usr/bin/env python #! -*- coding:utf-8 -*- if 1 == 1: print(True)
2.格式2:示例如下
#!/usr/bin/env python #! -*- coding:utf-8 -*- if 1 == 1: print(True) else: print(False)
3.格式3:示例如下
#!/usr/bin/env python #! -*- coding:utf-8 -*- user = input("请输入用户名:") if user == "tian": print("1") elif user == "jian": print("2") elif user == "yu": print("3") else: print("no")
循环语句
1.while 条件:
条件成立执行:
格式1:
while True: print("123")
格式2:
while 1==1 and 2==2: print("123")
格式3:
count = 1 while count < 3: print("123")
2.break
用于退出所有循环。
while True: print("123") break print("456")
3.continue
用于跳出当前循环,继续下一次循环。
while True: print("123") continue print("456")
常用字符串类型
1.整数:(int)
age = 19 print(age,type(age))
2.字符串(str)
name = "tian" print(name,type(name))
3.列表(list)
user_list = ["tian","jian","yu"] print(user_list,type(user_list))
4.字典(dict)
user_dict = { "name":"tianjianyu", "age":24 } print(user_dict,type(user_dict))
5.数据类型嵌套
5.1列表嵌套列表
user_list = ["tian","jian","yu",[11,22,33]] print(user_list) user_list[0] #取tian user_list[3][1] #取22
5.2列表嵌套字典
user_list = ["tian","jian","yu",{"name":"qudi"}] print(user_list) user_list[3]["name"] #取值qudi
基本运算符
- 运算符
计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算,今天我们暂只学习算数运算、比较运算、逻辑运算、赋值运算
- 算数运算
- 比较运算
以下假设变量:a=10,b=20
- 赋值运算
以下假设变量:a=10,b=20
- 逻辑运算
1.在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。
2.x or y , x为真,值就是x,x为假,值是y;
x and y, x为真,值是y,x为假,值是x。