了解python底层(需要C基础) :python源码剖析

一、python安装

参考:https://www.cnblogs.com/uncleyong/p/10778792.html

编写:hello world

C:\Users\qzcsbj>python
Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)]
on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print('hello python')
hello python
>>>

命令行窗口关闭了,代码就没有了,所以,一般使用的ide是Sublime Text或者pycharm。

二、pip基本用法

pip类似RedHat里面的yum,安装python包非常方便。

安装完python3后,已经自带pip工具

pip基本用法如下:

安装
pip install Django 指定版本安装(可以升级或者降低版本)
pip install Django==1.11.1 查看已安装的包
pip show --files Django 查看哪些需要更新
pip list --outdated 升级包
pip install --upgrade Django 卸载包
pip uninstall Django 列出已安装的包
pip list 显示包详细信息
pip show django

三、变量

变量就是用来在程序运行期间存储各种需要临时保存可以不断改变数据的标识符,一个变量应该有一个名字,并且在内存中占据一定的存储单元,在该存储单元中存放变量的值。

变量可以存不同的数据,不仅可以是字符串,还可以是整数或浮点数,比如a=2.1

变量定义的规则:

  • 变量名只能是字母、数字或下划线的任意组合
  • 变量名的第一个字符不能是数字
  • python关键字不能声明为变量名

当我们写:name="python"时,Python解释器干了两件事情:

  • 1)在内存中创建了一个'python'的字符串;
  • 2)在内存中创建了一个名为name的变量,并把它指向'python'。

这时候把变量name赋值给另一个变量name1,这个操作实际上是把变量name1指向变量name所指向的数据,与变量name并无任何关系;若name值变化,name1的值依然无变化;name的值发生变化,相当于重新开辟了一块内存空间;而name1依然指向原有内存空间。

四、常量

常量就是不能变的变量,比如常用的数学常数π就是一个常量。

在Python中,通常用全部大写的变量名表示常量:如 TOTAL

五、输入、输出

可以用print()输出,输入的话,是用input(),他是python的一个内置方法

>>> type(input)
<class 'builtin_function_or_method'>

输入的字符串保存在变量name中,然后打印name

>>> name = input('username:')
username:jack
>>> print(name)
jack

六、字符串格式化及格式化输出

字符串 %s
print("Hello,%s" % "world") 整数 %d
print("My age is %d" % 20) 浮点数 %f
print("My age is %f" % 20)

格式化输出

name = input("what is your name:")
age = int(input("tell me you age:"))
job = input("job:")
salary = input("salary:") info = '''
---- info of %s ------
name:%s
age:%d
job:%s
salary:%s'''%(name,name,age,job,salary)
print(info) info2 = '''
---- info of {_name} ------
name:{_name}
age:{_age}
job:{_job}
salary:{_salary}
'''.format(_name=name,_age=age,_job=job,_salary=salary)
print(info2) info3 = '''
---- info of {0} ------
name:{0}
age:{1}
job:{2}
salary:{3}
'''.format(name,age,job,salary)
print(info3)

七、流程控制(if、三目运算)

Python的语法比较简单,采用缩进方式,一般是一个tab

# if
'''
a>0 则输出a,
否则输出-a
''' a = 1
if a > 0:
print(a)
else:
print(-a) # 三目运算
a = 1
b = 2
k = a if a<b else b

#开头的语句是注释,还可以使用'''xxx'''来进行多行注释,注释是给人看的,解释器会忽略掉注释。语句以冒号:结尾时,后面的语句要缩进。

八、while循环

1.基本格式:

# while 条件:
   # 循环体
# 如果条件为真,那么循环体则执行;否则,循环体不执行
  
while True:
print(1)

2.break退出整个循环

while True:
print(1)
break
print(2)

上面的代码会先输出1,然后遇到break,就退出当前循环,所以不再打印出2了

3.continue退出当前循环

while True:
print(1)
continue
print(2)

不停的输出1,永远不会输出2  

九、for循环

按照顺序循环可迭代对象中的内容

name = ('jack','tom')
for i in name:
print(i)

jack
tom

for i in range(5):
print(i)

0
1
2
3
4

十、练习题(参考答案已放在Q群文件中)

0.代码实现1-100奇数求和,至少3种方式。

1.登录

# 如果登录成功,输出欢迎信息,退出程序
# 如果错误次数3次,退出程序


2..猜数游戏

# 猜对,打印猜对信息,退出程序
# 最多连续猜三次,连续错三次后询问是否继续玩游戏,是,继续猜,否,退出程序

3.冒泡排序

data = [10, 4, 33, 21, 54, 8, 11, 5]

Python【第一篇】python安装、pip基本用法、变量、输入输出、流程控制、循环的更多相关文章

  1. Python之路【第一篇】:介绍、基本语法、流程控制

    一.python 简介 python 特点 Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网 ...

  2. python第一篇-------python介绍

    一.python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,Guido开始写Python语言的编译器.Python这个名字,来自Guido所 ...

  3. 第一篇:python基础

    python基础   python基础 本节内容 python起源 python的发展史 为什么选择python3 第一个python程序 变量定义 表达式和运算符 用户输入 流程控制 判断 流程控制 ...

  4. python第三方库的安装pip的使用与换源(解决pip下载速度慢)

    python和其他语言一样,也有大量的第三方库 在安装python时默认都会安装pip,安装了pip后 在cmd.exe下可以运行pip 安装库 pip install 库的名字 换源 因为PyPi地 ...

  5. 【OpenCV第一篇】安装OpenCV

    [OpenCV第一篇]安装OpenCV 本篇主要介绍如何下载OpenCV安装程序,如何在VS2008下安装配置OpenCV,文章最后还介绍了一个使用OpenCV的简单小例子. <OpenCV入门 ...

  6. SaltStack入门到精通第一篇:安装SaltStack

    SaltStack入门到精通第一篇:安装SaltStack 作者:纳米龙  发布日期:2014-06-09 17:50:36   实际环境的设定: 系统环境: centos6 或centos5 实验机 ...

  7. Jenkins拾遗--第一篇(安装Jenkins)

    起因 近期由于工作需要做起了起了jenkins的维护.不做不知道,一搞发现里边全是小坑.两个月弄了一身泥.曾经小瞧了它,但是发现其实要弄好它不是那么容易的.有句知名的话"没有总结就没有提高. ...

  8. Java 学习第一步-JDK安装和Java环境变量配置

    Java学习第一步——JDK安装及Java环境变量配置 [原文]  2014-05-30 9:09  Java SE  阿超  9046 views Java作为当下很主流的编程语言,学习Java的朋 ...

  9. python学习第七天流程控制循环while和循环for区别

    流程控制循环是任何编程语言都有一种循环结构,在python while 和break continue 搭配使用,还一种while ....else ......,for循环有序列表和字符串 whil ...

  10. 第一篇 Python安装与环境变量的配置

    开发语言有很多种,为什么选Python? 先对各种开发语言做个初识和分类如下:高级语言:Python Java.PHP C# Go ruby C++... ---> 字节码低级语言:C.汇编 - ...

随机推荐

  1. linux命令df中df -h和df -i

    df 命令: linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. 1.命令格式: df [选项] [ ...

  2. Git:八、Git自定义:忽略特殊文件&配置别名

    1..gitignore配置文件 1)防止加入Git或输入git status时显示,需要让Git忽略的文件: 程序编译生成的非原代码的文件 存放密码的文件 2)配置文件:.gitignore Git ...

  3. 关于MongoDB数据库的日志解析

    MongoDB日志记录了数据库实例的健康状态.语句的执行状况.资源的消耗情况,所以日志对于分析数据库服务和性能优化很有帮助. 因此,很有必要花费一些时间来学习解析一下MongoDB的日志文件. 日志信 ...

  4. pycharm导入自定义py文件出错

    1. 被导入的py文件不能以数字开头,否则会报错,红色波浪线

  5. 【笔记】基于Python的数字图像处理

    [博客导航] [Python相关] 前言 基于Python的数字图像处理,离不开相关处理的第三方库函数.搜索网络资源,列出如下资源链接. Python图像处理库到底用哪家 python计算机视觉编程— ...

  6. web框架开发-Django的Forms组件

    校验字段功能 针对一个实例:用户注册. 模型:models.py class UserInfo(models.Model): name=models.CharField(max_length=32) ...

  7. 洛谷P2243 电路维修

    题目地址 转化为图论问题 对于每个交叉点(X,Y)抽象成节点.与它相邻的四个点中,可以直接连线的边权为0,否则边权为1. 用死了的SPFA解决图论问题. #include <cstring> ...

  8. luogu P4842 城市旅行

    嘟嘟嘟 好题,好题 刚开始突发奇想写了一个\(O(n ^ 2)\)暴力,结果竟然过了?!后来才知道是上传题的人把单个数据点开成了10s-- 不过不得不说我这暴力写的挺好看的.删边模仿链表删边,加边的时 ...

  9. DEV SIT UAT PET SIM PRD PROD常见环境英文缩写含义

    英文缩写 英文 中文 DEV development 开发 SIT System Integrate Test 系统整合测试(内测) UAT User Acceptance Test 用户验收测试 P ...

  10. 四 Struts2 反射实现

    package com.myreflect; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import ...