1st,Python基础——01

时间:2022-09-09 18:56:50

1 Python介绍

2 Python发展史

3 Python2 or 3?

4 Python安装

就不写了,各路大牛的博客都很详细。

5 Hello World程序

 #!/usr/bin/env python

 print "hello,world"

6 变量、字符编码

声明变量

 #_*_coding:utf-8_*_

 name  = "Leon"

声明了一个变量,变量名为name,变量name的值为“Leon”

变量定义的规则:

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

  ['and', 'as', 'assert', 'break', 'class', 'continue', 'def','del', 'elif','else','except','exec','finally','for','form',

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

7 字符编码

Python解释器在加载.py文件中的代码时,会对内容进行编码(默认ASCII),其最多只能用8位来表示(一个字节),即:2**8 = 256-1,所以ASCII码最多只能表示255个符号。

关于中文

GB2312---->GBK1.0---->GB18030

所以,需要一种可以代表所有字符和符号的编码,即:Unicode

UTF-8,是对Unicode编码的压缩和优化,ASCII码中的内容用1个字节保存、欧洲的字符用2个字节保存、东亚字符用3个字节保存。

所以,Python解释器在加载.py文件中的代码时,会对内容进行编码(默认ASCII),如果是如下代码的话:

报错:ascii码无法表示中文

 #!/usr/bin/env python

 print "你好,世界"

改正:应该显示的告诉Python解释器,用什么编码来执行源代码,即:

 #!/usr/bin/env python
 # _*_ coding: utf-8 _*_

 print "你好,世界"

注释

当行注释:#被注释内容

多行注释:“”“被注释内容”“”

8 用户输入

 #!/usr/bin/env python
 #_*_coding:utf-8_*_

 #name = input("What is your name?")
 print("Hello " + name)

输入密码时,如果想要不可见,需要利用getpass模块中的getpass方法,即:

 #!/usr/bin/env python
 # -*- coding:utf-8 -*-

 import getpass

 #将用户输入的内容赋值给name变量
 pwd = getpass.getpass("请输入密码: ")

 #打印输入的内容
 print(pwd)

9 模块初识

几乎任何功能都有相应的Python库支持,2个简单的。

sys

 #!/usr/bin/env python
 # -*- coding: utf-8 -*-

 import sys

 print(sys.argv)

os

 #!/usr/bin/env python
 # -*- coding:utf-8 -*-

 import os

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

完全结合一下

 import os,sys

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

自己写模块

自己写的模块只能在当前目录下导入,如果想在系统的任何一个地方都使用,要把.py放到Python全局环境变量目录里,基本一般都放在一个叫Python/2.7/site-packages目录下。

10 pyc是啥

Python程序运行时,编译的结果保存在位于内存中的PyCodeObject中,当Python程序运行结束时,Python解释器则将PyCodeObject写回到pyc文件中。

当Python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就重复上面的过程。

所以我们应该这样来定位PyCodeObject和pyc文件,pyc文件其实是PyCodeObject的一种持久化保存方式。

11 数据类型初识

1、数字

int(整型)

  在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647

  在64位机器上,整数的位数为64位,取值范围为-2**63~2**63-1

long(长整形)

  Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,使用的长整数数值不可能无限大。

  2是一个整数,长整数不过是大一些的整数

float(浮点型)

  浮点数用来处理实数,即带有小数的数字。

  52.3E-4是浮点数。E表示10的幂

complex(复数)

  (-5+4j)和(2.3-4.6j)是复数

2、布尔值

  真或假

  1或0

3、字符串

“hello world”

字符串格式化输出

 name = "leon"
 print("i am %s" %name)

字符串是%s;整数%d;浮点数%f

字符串常用功能:

  • 移除空白——strip方法
  • 分割——split方法
  • 长度——len函数
  • 索引——index方法
  • 切片——:

4、列表

创建列表:

 name_list = ['alex', 'seven', 'eric']
 #或者
 name_list = list( ['alex', 'seven', 'eric'])

基本操作:

  • 索引——namelist[0],index方法
  • 切片——:
  • 追加——append方法,extend方法
  • 删除——del函数
  • 长度——len函数
  • 循环——for in
  • 包含——

5、元组(不可变列表)

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

6、字典

创建字典:

 person = {"name": "Mr.Wu", 'age': 18}

常用操作:

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

12 数据运算

算数运算:

+ - * /

%  取模,返回除法的余数

**  幂

//  取整除,返回商的整数部分

比较运算:

==  判断等于

!=  不等于

>  <  >=  <=

赋值运算:

=

+=

-=

*=

/=

%=

**=

//=

逻辑运算:

and   与

or      或

not    非

成员运算:

in         在指定序列中找到值返回True,否则返回False

not in   在指定序列中没找到值返回True,否则返回False

身份运算:

is         判断两个标识符是不是引用自一个对象

not in   判断两个标识符是不是引用自不同对象

位运算:

&     按位与

|       按位或

^       按位异或  #相同为0,不同为1

~      按位取反

<<    左移运算

>>    右移运算.

13 表达式if...else

一、用户登录验证

 name = input("请输入用户名: ")
 pwd = input("请输入密码: ")

 if name == "Leon" and pwd == "cmd":
     print("欢迎,Leon! ")
 else:
     print("用户名和密码错误")

二、猜年龄游戏

 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!")

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

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

14 表达式 for loop

 for i in range(10):
     print("loop:", i)

遇到小于5的循环次数就不走了,直接跳入下一次循环

 for i in range(10):
     if i < 5:
         continue
     print("loop:", i)

遇到大于5的循环次数就不走了,直接退出

 for i in range(10):
     if i > 5:
         break
     print("loop:", i)

15 while loop

 count = 0
 while True:
     print("You are wind! I am sand!")
     count += 1
     if count == 100:
         print("fuck off!!!")
         break

16 其他入门知识

1、三元运算

 result = 值1 if 条件 else 值2

如果条件为真:result = 值1

如果条件为假:result = 值2

2、对于Python,一切事物皆对象,对象基于类创建

字符串、整数、列表都是对象,并且是根据不同的类生成的对象。

1st,Python基础——01的更多相关文章

  1. Python基础01

    Python基础 1.Python介绍 2.安装 3.Hello World程序 4.变量 5.用户输入 6.表达式if ...else语句 7.表达式for 循环 8.表达式while 循环 9.数 ...

  2. Python基础--01小项目体现的基础知识

    part1:猜拳游戏 #coding=utf-8 #当有汉语时可能编译器不认识,需要定义代码 ''' 多行注释 写这个程序是为了熟悉python的基本语法 这是第一个小例子包含简单的if判断,循环和输 ...

  3. python 基础 01

    什么是计算机? cpu: 计算机的大脑; 读写速度 3GHZ 内存: (为了提高利用率) 缓冲硬盘和cpu 硬盘: 机械硬盘读写速度70mb/s 计算机里面读写的内容都是01代码 二进制(计算机只认二 ...

  4. python基础01 Hello World&excl;

    摘要:简单的Hello Word! python 命令行 如已经安装python,那么在linux命令行中输入 $python 将进入python.乱吼在命令行提示符>>>后面输入 ...

  5. 0527 python 基础01

    折行的处理 \>>> print "hi \... hello Lucy!"hi hello Lucy! 自然字符串,字符串加上r或R前缀指定>>&g ...

  6. python基础 - 01

    python 变量名 在python中的变量命名,与其他语言大体相似,变量的命名规则如下: 变量名是数字.字母.下划线的任意组合 变量名的第一个字符不能是数字 系统的关键字不能设置为变量名    Ti ...

  7. 小小白的python之路------python基础01

    1. 不说python是啥了,百度一堆.,还是说说我学了啥 我说的是python3.5,其他的自己看着办 这个是下载链接啊,自己玩 https://www.python.org/ 我下载完成,使用py ...

  8. python基础01—基础数据类型

    数据类型 单位换算 最小的单位为bit,表示一个二进制的0或1,一般使用小写的b表示 存储的最小单位为字节(Byte),1B = 8b 1024B = 1KB 1024KB = 1MB 1024MB ...

  9. Python基础01 集合

    初始化 # python3 # coding = utf-8 mylist = [] for item in range(10): mylist.append(item * 10 + 3) myset ...

随机推荐

  1. 常见的高可用MySQL解决方案

    MySQL数据库作为最基础的数据存储服务之一,在整个系统中有着非常重要的地位,因此要求其具备高可用性是无可厚非的.有很多解决方案能实现不同的SLA(服务水平协定),这些方案可以保证数据库服务器在硬件或 ...

  2. Vmware快速安装linux虚拟机&lpar;SUSE&rpar;

    安装环境:Vmware 11.SUSE11 64位 vmware快速安装linux虚拟机的过程还是比较简单的,步骤如下: 1.点击文件,新建虚拟机. 2.选择典型安装. 3.在红框中选择想要安装的虚拟 ...

  3. 日志分析 第五章 安装logstash

    logstash是java应用,依赖JDK,首先需要安装JDK,在安装jdk过程中,logstash-2.3.4使用JDK-1.7版本有bug,使用JDK-1.8版本正常,因此我们安装JDK-1.8版 ...

  4. 关于bootstrap

    http://www.runoob.com/bootstrap/bootstrap-buttons.html file:///C:/LiuHuan/bc-bootstrap/bc-bootstrap/ ...

  5. log4j中文乱码解决方案

    项目中log4j在英文版linux下输出中文日志为乱码. 由于log4j配置文件中没有设置编码格式(encoding),所以log4j就使用系统默认编码.导致乱码. 解决方法是设置编码格式UTF-8, ...

  6. JAVA GUI 工具

    Java GUI图形界面开发工具   上大学那会儿比较主流的Java图形开发插件是:Visual Editor 和 SWT Designer, 不久又出了个Jigloo, 但去官网看了下发现这个东西也 ...

  7. 【Django】Django与jinja的不同

    1. http://jinja.pocoo.org/docs/dev/switching/#django 目前已了解的不同: 1) 某元素是否存在 if xxx   Django if xxx is ...

  8. LINUX 配置默认程序

    update-alternatives 命令用于配置默认程序,版本切换 1.display 命令,查看命令链接信息 update-alternatives --display name 2.insta ...

  9. MyBatis探究-----传递参数详解

    1.单个参数 mybatis不会做特殊处理,#{参数名/任意名}:取出参数值 例如:接口中方法 public Employee getEmpById(String empId); XML中 <s ...

  10. Java单链表简单实现&ast; &commat;version 1&period;0

    package com.list; /** * 数据结构与算法Java表示 * @version 1.0 * @author 小明 * */ public class MyLinkedList { p ...