一、Python简介

二、Python种类

三、Python环境 

  windows:

  1.需要配置环境变量

  2.更新:卸载重装

  linux:1.常用命令: 查看默认Python版本 Python -V

      2.安装:yum install 某某某

四、Hello World 程序:

   Windows:

print("Hello World!")

   linux:

      >>vim hello.py

      >> python hello.py

      Hello World!

五、变量

  声明变量:

      #_*_coding:utf8_*_

      name = "Alex Li"

  变量定义的规则:

          1.变量名只能是字母、数字或者下划线的任意组合

          2.变量名的第一个字符不能是数字

          3.不能为关键字:

          如 ‘and’,'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global',

          'if', 'import','in', 'import','in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return','try','while','with','yield'

  name = "Alex Li"

  name2 = name

   print(name,name2)

  name = "Jack"

  print("What is the value of name2 now?")

六、字符编码

  ASCAII码最多只能表示255个符号 显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,

即:Unicode # -*- coding: utf-8 -*- print "你好,世界“

七、注释:

  1.当行注释:#被注释内容

  2.多行注释: “““被注释内容"""

八:用户输入

  Python2: name = raw_input("What is your name?")

  Python3:

  name = input ("What is your name?")

  print("Hello "+ name )

  getpass中的getpass方法: 输入密码时,想设置不可见 ```

 #!/usr/bin/env python
# -*- coding: utf-8 -*-
import getpass # 将用户输入的内容赋值给 pwd 变量
pwd = getpass.getpass("请输入密码:") # 打印输入的内容
print(pwd) ```

九、模块初识**#不懂

  Python强大之处在于有丰富的标准库和第三方库

sys:

#-*-coding:utf8-*-

import sys

print(sys.argv)

结果:['test.py', 'helo', 'world'] #把执行脚本时传递的参数获取到了

os:

import os

os.system("df -h") #调用系统命令

结合:

import os,sys

os.system(''.join(sys.argv[1:])) #把用户的输入参数当做一条命令交给os.system来执行

十、pyc是什么

Python是先编译后解释的语言

Python的运行过程: PyCodeObject pyc文件 Python运行时,编译的结果保存在位于内存中的PyCodeObject中,当Python程序运行结束时,

Python解释器则将PyCodeObject写回到pyc文件中 当程序二次运行的时候,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就

重复上面的过程 所以说:pyc文件其实是PyCodeObject的一种持久化保存方式

十一、数据类型

1.数字 int(整型)

  32位系统:-2**31 ~ 2**31-1

  64位系统:-2**63 ~ 2**63-1 long(长整型)

如果整数发生溢出,则Python自动将整型数据转换为长整数 float(浮点型) 代表小数 占8个字节(64位),

其中52位表示底,11位表示指数,剩下1位表示符号

complex(复数) x+yi x,y都是实数 注:Python中讯在小数字池:-5~257

2.布尔值 真或假 1或0

3.字符串

“hello world”

字符串拼接:Python中的字符串在C语言中体现为是一个字符数组,每次创建字符串的时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,

就需要再次开辟空间,万恶的+号每出现一次就会在内存中重新开辟一块空间

字符串格式化输出:

name = 'alex'

print ("i am %s" %name)

输出: i am alex

name = "alex"

print ("i am "+name) #

输出: i am alex

注意: 字符串: %s 整数: %d 浮点数: %f

   字符串常用

功能: 移除空白 分割 长度 索引 切片

4.列表

   列表基本操作: 索引 切片 追加 删除 长度 循环 包含

索引:

name1, name2, name3 = "minghu","minglong","minghao"

以上可用列表来代替:

age = 1

name = ["minghu", "minglong", "minghao", 123, age]

for i in range(10) 其中 i 是从0 开始算起的

同样列表的索引值也是从 0 开始的

如:

name[1] = "minglong" name[-1] = 1

一次取出多个数据(列表多次取值顾头不顾尾)

name[0:2] = "minghu","minglong" 列表取值的顺序是从左往右

 name = ["minglong","minghu","Jack", 22 , 9 , 23 , 3 , 5 ,7]
>>name[2:5]
["Jack",22,9] >>name[-5:-1]
[9,23,3,5] >>name[-1:-5]
[] >>name[-5:]
[9,23,3,5,7] >>name[0:6]
["minglong","minghu","Jack", 22 , 9 , 23] >>name[:6]
["minglong","minghu","Jack", 22 , 9 , 23] >>name[:]
["minglong","minghu","Jack", 22 , 9 , 23 , 3 , 5 ,7] >>name
["minglong","minghu","Jack", 22 , 9 , 23 , 3 , 5 ,7] >>name[:6][2:4]
["Jack",22] >>name[:6][2:4][0]
Jack >>print(name[:6][2:4][0:1])
["Jack"] >>print(name[:6][2:4][0][1])
a

切片:

 >>name[1] = "Wangminghu"
>>name
["minglong","Wangminghu","Jack", 22 , 9 , 23 , 3 , 5 ,7]

插入:

name.insert

>>name.insert(2,"MingGou")
>>name
["minglong","Wangminghu", "MingGou" ,"Jack", 22 , 9 , 23 , 3 , 5 ,7]

追加:

name.append()

 >>name = ["minglong","Wangminghu", "MingGou" ,"Jack", 22 , 9 , 23 , 3 , 5 ,7]
>>name.append("gaoqiao") print(name)
['minglong', 'Wangminghu', 'MingGou', 'Jack', 22, 9, 23, 3, 5, 7, 'gaoqiao']

删除:

name.remove() 、del

 name = ["minglong","Wangminghu", "MingGou" ,"Jack", 22 , 9 , 23 , 3 , 5 ,7]
del name[0]
print(name)
>>['Wangminghu', 'MingGou', 'Jack', 22, 9, 23, 3, 5, 7]

name.extend()

 name = ["minglong","Wangminghu", "MingGou" ,"Jack", 22 , 9 , 23 , 3 , 5 ,7]
name.extend('ga')
print(name)
>>['minglong', 'Wangminghu', 'MingGou', 'Jack', 22, 9, 23, 3, 5, 7, 'g', 'a']

name.count()

 name = ["minglong","Wangminghu", "MingGou" ,"Jack", 22 , 9 , 23 , 3 , 5 ,22,7]
print(name.count(22))
>>2

name.reverse()

 name = ["minglong","Wangminghu", "MingGou" ,"Jack", 22 , 9 , 23 , 3 , 5 ,22,7]
name.reverse()
print(name)
>>[7, 22, 5, 3, 23, 9, 22, 'Jack', 'MingGou', 'Wangminghu', 'minglong']

name.sort()

  name.sort()只能排序同种数据类型的列表

 name = ["minglong","Wangminghu", "MingGou" ,"Jack", 22 , 9 , 23 , 3 , 5 ,22,7]
name.sort()
print(name)
>>Traceback (most recent call last): >> File "D:/codes/python/day3/test10.py", line 5, in <module> name.sort() TypeError: unorderable types: int() < str

name.pop() 除掉某个元素

 name = ["minglong","Wangminghu", "MingGou" ,"Jack",3,4,5,6,7,8,9,10]
name.pop(4)
print(name)
>>['minglong', 'Wangminghu', 'MingGou', 'Jack', 4, 5, 6, 7, 8, 9, 10]

name.copy() = copy.copy()

注:只copy第一层(见笔记),如果是完全克隆的话,则用copy.deepcopy()

Copy只copy第一层的数据,如果第二层及以下层的值改变后,那么copy过后的数据的第二层及以下也会改变,这是因为copy只是copy了第二层的地址,但是没有copy里面的内容

,当地址指向的内容改变之后则整体也会改变

程序见笔记

index 指出位置

name.len() 算出列表的长度

5.元组(不可变列表)

创建元组:

ages = (11, 22, 33, 44, 55)

ages = tuple((11, 22, 33, 44, 55))

6.字典(无序)

创建字典:

person = {"name": "mr.wu", 'age': 18}

person = dict({"name": "mr.wu", 'age': 18})

字典常用操作:

   索引 新增 删除 键、值、键值对 循环 长度

十二、数据运算

算数运算:+,-,*,/,%,**,//

比较运算:==,!=,>,<,>=,<=

赋值运算:=,+=,-=,*=,/=,%=,**=,//=

逻辑运算: and ; or ; not

成员运算: in ; not in

身份运算: is ; is not

位运算: & 按位与

    | 按位或

    ^ 按位异或

    ~按位取反

    >>右移

    <<左移

运算符优先级

十三、表达式if...else

例一:用户登录

# 提示输入用户名和密码

# 验证用户名和密码
# 如果错误,则输出用户名或密码错误
# 如果成功,则输出 欢迎,XXX! #!/usr/bin/env python
# -*- coding: encoding -*- import getpass name = raw_input('请输入用户名:')
pwd = getpass.getpass('请输入密码:') if name == "alex" and pwd == "cmd":
print("欢迎,alex!")
else:
print("用户名和密码错误")

例二:猜年龄游戏,如果猜错要提示猜大了还是猜小了

#!/usr/bin/env python
# -*- coding: utf-8 -*- my_age = 28 user_input = int(input("input your guess num:")) if user_input == my_age:
print("Congratulations, you got it !")
elif user_input < my_age:
print("Oops,think bigger!")
else:
print("think smaller!")

外层变量,可以被内层代码使用

内层变量,不应被外层代码使用

十四、表达式for loop

for i in range(10)

#_*_coding:utf-8_*_
__author__ = 'gqq' for i in range(10):
print("loop:", i )

输出:

loop: 0
loop: 1
loop: 2
loop: 3
loop: 4
loop: 5
loop: 6
loop: 7
loop: 8
loop: 9

continue:退出当次循环进入下一循环

break:退出循环

例:

for i in range(10):
if i<5:
continue #不往下走了,直接进入下一次loop
print("loop:", i )
for i in range(10):
if i>5:
break #不往下走了,直接跳出整个loop
print("loop:", i )

十五、while loop

死循环:

count = 0
while True:
print("你是风儿我是沙,缠缠绵绵到天涯...",count)
count +=1
count = 0
while True:
print("你是风儿我是沙,缠缠绵绵到天涯...",count)
count +=1
if count == 100:
print("去你妈的风和沙,你们这些脱了裤子是人,穿上裤子是鬼的臭男人..")
break

回到猜年龄的例子,最多给三次机会,才不读就退出程序

#!/usr/bin/env python
# -*- coding: utf-8 -*- my_age = 28 count = 0
while count < 3:
user_input = int(input("input your guess num:")) if user_input == my_age:
print("Congratulations, you got it !")
break
elif user_input < my_age:
print("Oops,think bigger!")
else:
print("think smaller!")
count += 1 #每次loop 计数器+1
else:
print("猜这么多次都不对,你个笨蛋.")

Python第一模块的更多相关文章

  1. python第一模块数据类型

    一·进制之间的转换 十进制转换为二进制:逆序取余法. 二进制转换为十进制:如1101  1*2^0 + 0*2^1 + 1*2^2 +1 十六进制转换为二进制:231     0010  0011   ...

  2. python第一模块基础语法

    一·python和各大高级语言的优缺点比较 1.c语言开发效率低 2.c++开发效率高于c语言,低于java,python. 3.java代码臃肿,设计复杂,库繁杂量多. 4.PHP应用领域单一,且运 ...

  3. Python标准模块--threading

    1 模块简介 threading模块在Python1.5.2中首次引入,是低级thread模块的一个增强版.threading模块让线程使用起来更加容易,允许程序同一时间运行多个操作. 不过请注意,P ...

  4. python基础-模块

    一.模块介绍                                                                                              ...

  5. python logging模块可能会令人困惑的地方

    python logging模块主要是python提供的通用日志系统,使用的方法其实挺简单的,这块就不多介绍.下面主要会讲到在使用python logging模块的时候,涉及到多个python文件的调 ...

  6. Python Paramiko模块与MySQL数据库操作

    Paramiko模块批量管理:通过调用ssh协议进行远程机器的批量命令执行. 要使用paramiko模块那就必须先安装这个第三方模块,仅需要在本地上安装相应的软件(python以及PyCrypto), ...

  7. Python常用模块之sys

    Python常用模块之sys sys模块提供了一系列有关Python运行环境的变量和函数. 常见用法 sys.argv 可以用sys.argv获取当前正在执行的命令行参数的参数列表(list). 变量 ...

  8. 浅谈Python时间模块

    浅谈Python时间模块 今天简单总结了一下Python处理时间和日期方面的模块,主要就是datetime.time.calendar三个模块的使用.希望这篇文章对于学习Python的朋友们有所帮助 ...

  9. python time模块详解

    python time模块详解 转自:http://blog.csdn.net/kiki113/article/details/4033017 python 的内嵌time模板翻译及说明  一.简介 ...

随机推荐

  1. win7(64位)php5.5-Apache2.4-mysql5.6环境安装

    原文链接http://jingyan.baidu.com/article/9faa723152c5d6473d28cb47.html 工具/原料 php-5.5.10-Win32-VC11-x64.z ...

  2. windows WSABUF 结构在IOCP 中应用时两个成员变量的意义

    WSABUF 结构的原型如下: typedef struct __WSABUF { u_long len; char FAR *buf; } WSABUF, *LPWSABUF; 该结构在IOCP 中 ...

  3. HTTP 协议详解

    相关文章:HTTP 协议之压缩 当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等. 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相 ...

  4. ios 逆向收录

    lldb 远程调试环境搭建:http://www.cnblogs.com/csutanyu/p/3653252.html

  5. 关于android 5.0对开发带来的影响

    由于google推出了android5.0的系统,在app的安装方式,权限的管理方面与之前的系统有较大的区别.自己做的app也有体会.现在记录一些要注意的东西,防止忘记: 1.5.0改变了对自定义权限 ...

  6. xmpp关于后台挂起的消息接收,后台消息推送,本地发送通知

    想问下,在xmpp即时通讯的项目中,我程序如果挂起了,后台有消息过来,我这边的推送不过来,所以我的通知就会收不到消息,当我重新唤醒应用的时候,他才会接收到通知,消息就会推送过来,我在plist哪里设置 ...

  7. 安卓APP测试验证点总结

    最近较懒,加之闺女出生后记忆没完全恢复,总是忘东忘西,关于安卓APP测试的验证点还是总结一下,方便设计测试用例时查阅,也给各位博友参考! 1.除APP的正常功能点外,还有以下验证点: 安装/卸载(考虑 ...

  8. CHARINDEX

    实现查询条件多个值的或的关系 Select Id,Name from CustTable where CharIndex( CustTable.Name, 'ACDE,BEX,CCC')>0 C ...

  9. webform JS打印方法

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="DaYin.aspx.cs&qu ...

  10. spring quartz 定时器时间格式设置

    "0/10 * * * * ?" 10秒执行一次 "0 0 12 * * ?"每天中午十二点触发"0 15 10 ? * *"每天早上10: ...