了解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. C# MessageBox自动关闭

    本文以一个简单的小例子,介绍如何让MessageBox弹出的对话框,在几秒钟内自动关闭.特别是一些第三方插件(如:dll)弹出的对话框,最为适用.本文仅供学习分享使用,如有不足之处,还请指正. 概述 ...

  2. C++析构函数可虚性探究

    C++虚析构函数 析构函数是用来释放对象所申请的资源的函数. 当类内没有自定义的析构函数时,系统会自动调用默认的析构函数. 那么析构函数能否为虚函数呢? 虚函数的意义在于实现“多态性”.即:不同的个体 ...

  3. 对象的使用处理,作用域的和ajax中this的理解

    首先,封装类,理解清楚你需要用的哪几个变量,然后声明,然后在类里封装函数,其中,constructor就是存放初始变量的地方. 这里还是datatable的处理解决, constructor(tabl ...

  4. 从0开始的Python学习001快速上手手册

    假设大家已经安装好python的环境了. Windows检查是否可以运行python脚本 Ctrl+R 输入 cmd 在命令行中输入python 如果出现下面结果,我们就可以开始python的学习了. ...

  5. ubuntu16.04系统深度学习开发环境、常用软件环境(如vscode、wine QQ、 360wifi驱动(第三代暂无))搭建相关资料

    事后补充比较全面的(找对资料真的省一半功夫):https://www.jianshu.com/p/5b708817f5d8?from=groupmessage Ubuntu16.04 + 1080Ti ...

  6. apache https配置【转】

    博文来源:apache https配置 参考博文:apache.nginx配置自签名证书 1.  确认是否安装ssl模块 是否有mod_ssl.so文件 2.  生成证书和密钥 linux下 步骤1: ...

  7. 构建高性能服务 Java高性能缓冲设计 vs Disruptor vs LinkedBlockingQueue

    一个仅仅部署在4台服务器上的服务,每秒向Database写入数据超过100万行数据,每分钟产生超过1G的数据.而每台服务器(8核12G)上CPU占用不到100%,load不超过5.这是怎么做到呢?下面 ...

  8. Python总结(一)

    从大学开始,就对python有了兴趣,毕业设计就是用python做的一个新闻爬取和关键字提取的程序.然而,毕业之后由于一直没有从事python相关的开发,所以就一直没有再使用,一直停留在偶尔看一些资料 ...

  9. 数据库的设计:深入理解 Realm 的多线程处理机制

    你已经阅读过 Realm 关于线程的基础知识.你已经知道了在处理多线程的时候你不需要关心太多东西了,因为强大的 Realm 会帮你处理好这些,但是你还是很想知道更多细节…… 你想知道在 Realm 的 ...

  10. Resolving Issues of "Library Cache Pin" or "Cursor Pin S wait on X" (Doc ID 1476663.1)

    Doc ID 1476663.1) To Bottom In this Document   Purpose   Troubleshooting Steps   Brief Definition:   ...