Python tutorial :Python网站上的对 Python 语言和系统的基本概念和功能进行的非正式的介绍。

在学习Python之前,我们需要学会在各个平台配置Python的运行环境,下文中所给出的示例都是在Linux中运行的:

在Linux下安装Python3并配置所需环境:https://www.cnblogs.com/kimyeee/p/7250560.html

常用函数:
            exit():退出
            print():打印
            input():读取输入,返回值类型为str
            int():将str转换成整数
            range():生成一个整数序列,range(5) 是 0, 1, 2, 3, 4

数据类型和变量:
            整数
            浮点数
            字符串
            布尔值
            空值None
           
            变量:
                字符串变量生成顺序:a = "xyz"  先在内存中分配一块,并将这块内存保存的值设为“xyz”,之

让a指向这块内存

[wangml@iZwz976helaylvgqok97prZ pythoncode]$ python3 value.py
XYZ
xyz
[wangml@iZwz976helaylvgqok97prZ pythoncode]$ cat value.py
a = "xyz"
b = a
a = "XYZ"
print(a)
print(b)

常量:在Python中,通常用全部大写的变量名(例如PI)表示常量,但事实上PI仍然是一个变量,Python

根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用

法,如果你一定要改变变量PI的值,也没人能拦住你。

在Python中,有两种除法
                一种除法是/:  
                还有一种除法是//,称为地板除,两个整数的除法仍然是整数

>>> 10/3
3.3333333333333335
>>> 10//3
3

字符串和编码:
       
        编码:ASCII Unicode UT-8
      
        在最新的Python 3版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言

对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对

  应的字符

>>> print('包含中文的String')
包含中文的String
>>> ord('A')
65
>>> chr(65)
'A'

用于字符串的某些函数:
        
       由于Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传
       输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。
       Python对bytes类型的数据用带b前缀的单引号或双引号表示:
       x = b'ABC'
       要注意区分'ABC'和b'ABC',前者是str,后者虽然内容显示得和前者一样,但bytes的每个字符都只占用
       一个字节。
       以Unicode表示的str通过encode()方法可以编码为指定的bytes

>>> 'ABC'.encode('ascii')
b'ABC'
>>> 'ABC'.encode('utf-8')
b'ABC'
>>> '你好'.encode('utf-8')
b'\xe4\xbd\xa0\xe5\xa5\xbd'

纯英文的str可以用ASCII编码为bytes,内容是一样的,含有中文的str可以用UTF-8编码为bytes。含有中
      文的str无法用ASCII编码,因为中文编码的范围超过了ASCII编码的范围,Python会报错。  
     
      反过来,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要
      用decode()方法

>>> b'ABC'.decode('ascii')
'ABC'

要计算str包含多少个字符,可以用len()函数

在Python中,采用的格式化方式和C语言是一致的,用%实现
      另一种格式化字符串的方法是使用字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}、{1}……,

list:一种有序的集合,可以随时添加和删除其中的元素。类似于C++的容器
            常用函数:
                len(LIST)函数可以获得list元素的个数
                LIST.append(DATA)往list中追加元素到末尾
                LIST.insert(INDEX, DATA)元素插入到指定的位置
                LIST.pop()删除list末尾的元素
                LIST.pop(INDEX)删除指定位置的元素

>>> name = ["Bob", "Marry", "Candy"]
>>> name
['Bob', 'Marry', 'Candy']
>>> len(name)
3
>>> name.append("Harry")
>>> name
['Bob', 'Marry', 'Candy', 'Harry']
>>> name.insert(2, "Jack")
>>> name
['Bob', 'Marry', 'Jack', 'Candy', 'Harry']
>>> name.pop()
'Harry'
>>> name
['Bob', 'Marry', 'Jack', 'Candy']
>>> name.pop(2)
'Jack'
>>> name
['Bob', 'Marry', 'Candy']

注意点:
                list内元素索引是从 0 开始,list中最后一个元素的索引为 len-1
                使用 = 对list 中某个元素赋值
                list里面的元素的数据类型也可以不同

>>> temp = ["Hurry", 12, 6.6]
>>> temp
['Hurry', 12, 6.6]
>>> temp[1] = 10
>>> temp
['Hurry', 10, 6.6]

tuple:一种有序列表叫元组,和list非常类似,但是tuple一旦初始化就不能修改
            需要注意的是:
                   当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来
                   只有1个元素的tuple定义时必须加一个逗号,否则只是定义了一个以括号中的元素为值的变量

>>> name = ("Bob", "Jack")
>>> name
('Bob', 'Jack')
>>> name[1] = "Marry"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> temp = (3)
>>> temp
3
>>> temp = (3,)
>>> temp
(3,)

条件判断:
            if <条件1>:
                 <执行1>
            elif <条件2>:
                 <执行2>
            elif <条件3>:
                 <执行3>
            else:
                 <执行4>

[wangml@iZwz976helaylvgqok97prZ pythoncode]$ python3 elif.py
Please Input a Number: 6
6
正数
[wangml@iZwz976helaylvgqok97prZ pythoncode]$ cat elif.py
num = input("Please Input a Number: ")
temp = int(num)
print('%d' % (temp))
if temp < 0:
print("负数")
elif temp > 0:
print("正数")
else:
print("")

循环:
            for...in循环:依次把list或tuple中的每个元素迭代出来

[wangml@iZwz976helaylvgqok97prZ pythoncode]$ python3 for.py
Bob
Marry
Jack
[wangml@iZwz976helaylvgqok97prZ pythoncode]$ cat for.py
names = ["Bob", "Marry", "Jack"] for name in names:
print(name)

while循环:只要条件满足,就不断循环,条件不满足时退出循环

[wangml@iZwz976helaylvgqok97prZ pythoncode]$ python3 while.py
5
4
3
2
1
Over!
[wangml@iZwz976helaylvgqok97prZ pythoncode]$ cat while.py
temp = 5 while temp > 0:
print(temp)
temp -= 1
print("Over!")

break:可以提前退出循环

[wangml@iZwz976helaylvgqok97prZ pythoncode]$ python3 while.py
5
4
Over!
[wangml@iZwz976helaylvgqok97prZ pythoncode]$ cat while.py
temp = 5 while temp > 0:
if temp == 3:
break print(temp)
temp -= 1 print("Over!")

 continue:跳过当前的这次循环,直接开始下一次循环

[wangml@iZwz976helaylvgqok97prZ pythoncode]$ python3 while.py
5
4
2
1
Over!
[wangml@iZwz976helaylvgqok97prZ pythoncode]$ cat while.py
temp = 5 while temp > 0:
if temp == 3:
temp -= 1
continue print(temp)
temp -= 1 print("Over!")

dict:字典,类似于C++中的map,使用键-值(key-value)存储查找速度快

>>> table = {"Bob": 90, "Marry": 93, "Jack": 100}
>>> table
{'Bob': 90, 'Marry': 93, 'Jack': 100}
>>> table["Jack"]
100

向一个dict中加入数据:DICTNAME[KEY] = VALUE,在dict中,每个KEY都是唯一的,只能与一个

     VALUE对应,如果多次添加具有同一个KEY的键--值,则先被添加的数据将会被后添加的覆盖

>>> temp = {"A": 1}
>>> temp["A"]
1
>>> temp["A"] = 2
>>> temp["A"] = 3
>>> temp["A"]
3

判断某个dict中是否存在某个KEY:
                 1.通过in判断key是否存在
                 2.通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value

>>> "Bob" in table
True
>>> table.get("Hurry", -1)
-1
>>> table
{'Bob': 90, 'Marry': 93, 'Jack': 100}

DICT.pop(KEY)用于删除dict中的某个键--值对

>>> table
{'Bob': 90, 'Marry': 93, 'Jack': 100}
>>> table.pop("Bob")
90
>>> table
{'Marry': 93, 'Jack': 100}

dict与list比较:
           dict特点:
                查找和插入的速度极快,不会随着key的增加而变慢;
                需要占用大量的内存,内存浪费多。
            list特点:
              查找和插入的时间随着元素的增加而增加;
                占用空间小,浪费内存很少。
           
          注意:dict的key必须是不可变对象,在Python中,字符串、整数等都是不可变的,因此,可以放心
                       地作为key。而list是可变的,就不能作为key

set:存储一组没有重复的KEY,要创建一个set,需要提供一个list作为输入集合
          
        SETNAME.add(KEY) 向set中添加指定元素
        SETNAME.remove(KEY) 在set中取出指定元素
       
        set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作

>>> temp = set([1, 2, 2, 3, 4, 4])
>>> temp
{1, 2, 3, 4}
>>> temp.add(5)
>>> temp.remove(2)
>>> temp
{1, 3, 4, 5}
>>> ttemp = set([1, 2, 7])
>>> ttemp
{1, 2, 7}
>>> temp & ttemp
{1}
>>> temp | ttemp
{1, 2, 3, 4, 5, 7}

  set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放

入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”

注意:
      1.print()会依次打印每个字符串,遇到逗号“,”会输出一个空格

    2.单引号与双引号的区别,强引用、弱引用

    3.以#开头的语句是注释

   4.Python的语法比较简单,采用缩进方式

     缩进有利有弊。好处是强迫你写出格式化的代码,但没有规定缩进是几个空格还是Tab。按照约

    定俗成的管理,应该始终坚持使用4个空格的缩进。

      缩进的另一个好处是强迫你写出缩进较少的代码,你会倾向于把一段很长的代码拆分成若干函

数,从而得到缩进较少的代码。

     缩进的坏处就是“复制-粘贴”功能失效了,这是最坑爹的地方。当你重构代码时,粘贴过去的

代码必须重新检查缩进是否正确。此外,IDE很难像格式化Java代码那样格式化Python代码。

     5.Python程序是大小写敏感的

     6.如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r''表示''

内部的字符串默认不转义

    7.变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量

时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。

    8.Python的整数没有大小限制,而某些语言的整数根据其存储长度是有大小限制的,例如Java

对32位整数的范围限制在-2147483648-2147483647。
         Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf(无限大)
      9.在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换

为UTF-8编码
      10.在操作字符串时,我们经常遇到str和bytes的互相转换。为了避免乱码问题,应当始终坚持

使用UTF-8编码对str和bytes进行转换

     11.input()返回的数据类型是str

  

Python基础——数据类型、流程控制、常用函数的更多相关文章

  1. python基础之流程控制(2)

    今天将是基础篇的最后一篇,咱们来补上最后一个内容,流程控制for循环 For 循环 一.为什么有for循环? for循环能做的事情,while循环全都可以实现,但是在某些情境下,for循环相对于whi ...

  2. python基础之流程控制、数字和字符串处理

    流程控制 条件判断 if单分支:当一个“条件”成立时执行相应的操作. 语法结构: if 条件: command 流程图: 示例:如果3大于2,那么输出字符串"very good" ...

  3. python基础之流程控制

    流程控制之----if 流程控制,是指程序在运行时,个别的指令(或者是陈述.子程序)运行或者求值的顺序.人生道路上的岔口有很多,在每个路口都是一个选择,在每个路口加上一个标签,选择哪个就是满足哪个条件 ...

  4. python基础:流程控制案例:

    1,简述编译型与解释型的语言,且分别列出你知道的哪些语言属于编译型,哪些属于解释型. 答:简单理解编译型语言类似谷歌翻译,整篇读入整篇翻译,代表语言有C语言,解释型语言类似同   声传译,读入一行翻译 ...

  5. python基础之流程控制(1)

    一.分支结构:if 判断 1.什么要有if 判断语句? 让计算机可以像人一样根据条件进行判断,并根据判断结果执行相应的流程. 2.基本结构 单分支结构 # 单分支 if 条件1: 代码1 代码2 代码 ...

  6. python基础之流程控制(if判断和while、for循环)

    程序执行有三种方式:顺序执行.选择执行.循环执行 一.if条件判断 1.语句 (1)简单的 if 语句 (2)if-else 语句 (3)if-elif-else 结构 (4)使用多个 elif 代码 ...

  7. Python基础之流程控制for循环

    目录 1. 语法 2. for+break 3. for+continue 4. for循环嵌套 1. 语法 while循环可以对任何内容循环,但循环次数不可控 for循环基于容器类型的长度,循环次数 ...

  8. Python 基础知识----流程控制

    判断语句 循环语句 嵌套

  9. Python基础之流程控制if判断

    目录 1. 语法 1.1 if语句 1.2 if...else 1.3 if...elif...else 2. if的嵌套 3. if...else语句的练习 1. 语法 1.1 if语句 最简单的i ...

  10. Python基础之流程控制while循环

    目录 1. 语法 2. while+break 3. while+continue 4. while+else 1. 语法 最简单的while循环如下: ''' while <条件>: & ...

随机推荐

  1. HDu-1247 Hat’s Words,字典树裸模板!

    Hat's Words 题意:给出一张单词表求有多少个单词是由单词表里的两个单词组成,可以重复!按字典序输出这些单词. 思路:先建一个字典树,然后枚举每个单词,把每个单词任意拆分两部分然后查找. 目测 ...

  2. Android点击按钮拨打电话

    代码改变世界 Android点击按钮拨打电话 public void callPhone(String str) { Intent intent=new Intent(); intent.setAct ...

  3. [UOJ#221][BZOJ4652][Noi2016]循环之美

    [UOJ#221][BZOJ4652][Noi2016]循环之美 试题描述 牛牛是一个热爱算法设计的高中生.在他设计的算法中,常常会使用带小数的数进行计算.牛牛认为,如果在 k 进制下,一个数的小数部 ...

  4. BZOJ 1007 [HNOI2008]水平可见直线 ——半平面交 凸包

    发现需要求一个下凸的半平面上有几个交点. 然后我们把它变成凸包的问题. 好写.好调.还没有精度误差. #include <map> #include <ctime> #incl ...

  5. spring配置tomcat jdbc pool数据库连接池

    <bean id="sqliteDataSource" class="org.apache.tomcat.jdbc.pool.DataSource" de ...

  6. bzoj [Scoi2016]美味

    [Scoi2016]美味 Time Limit: 30 Sec  Memory Limit: 256 MBSubmit: 721  Solved: 391[Submit][Status][Discus ...

  7. C++ string 类中的 assign()函数

    C++ string 类的成员函数,用于拷贝.赋值操作,它们允许我们顺次地把一个 string 对象的部分内容拷贝到另一个 string 对象上. 函数原型 string &operator= ...

  8. Java远程调用BPS流程实现流程运行简单示例

    1.简介:略 2.背景:略 3.目的:自我学习笔记 4.实现过程 (1).画出流程图 如下: 路由活动分支下的条件语句为复杂表达式: ((account<200&&divisio ...

  9. PHP实现当前文件夹下所有文件和文件夹的遍历

    <?php function myScandir($dir){ static $flag=''; //设置缩进显示格式 $files = scandir($dir);//读取当前文件夹的文件 $ ...

  10. POJ2167 Irrelevant Elements

    Time Limit: 5000MS   Memory Limit: 65536KB   64bit IO Format: %lld & %llu Description Young cryp ...