博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python知识点总结篇(一)
阅读量:6604 次
发布时间:2019-06-24

本文共 2662 字,大约阅读时间需要 8 分钟。

Python基础

  • **:代表指数,eg:2 ** 3 = 8;
  • /:代表除法,eg:22 / 8 = 2.75
  • //:代表整除/商数取整,eg:22 / 8 = 2
  • *:用于两个整形或浮点型值时,表示乘法,但用于字符串值和一个整形值时,它则变成了'字符串复制'操作符;
  • 变量命名规则:
    • 只能是一个词;
    • 只能包含字母、数字和下划线;
    • 不能以数字开头;
  • 交互式环境窗口与文件编辑器窗口区别:
    • 交互式环境窗口总是有>>>提示符;
    • 文件编辑器窗口没有>>>提示符;
  • 注释:
    • 单行注释:#这是单行注释;
    • 多行注释:用三个单引号'''或者三个双引号 """将注释括起来;
'''这是多行注释;'''复制代码
"""这是多行注释;"""复制代码
  • 虽然数字的字符串值被认为与整形值和浮点型值完全不同,但整形值可以与浮点值相等,eg:
>>>42 == 42.0True复制代码
  • 运算符优先级

  • Python保留字

  • 数据类型转换

  • 正负无穷

float('inf') #正无穷float('-inf') #负无穷复制代码
  • 利用inf乘以0得到一个not-a-number(NaN)NaNinf的区别:inf数的significant部分为0,而NaN数的significant部分部位0

控制流

  • 布尔值:Boolean,只有TrueFalse

  • and、或or、非not

  • 控制流的元素:

    • 条件;
    • 代码块,代码块3条规则:
      • 缩进增加时,代码块开始;
      • 代码块可以包含其他代码块;
      • 缩进减少为零,或减少为外面包围代码块的缩进,代码块就结束;
  • 导入模块代码所包含的部分:

    • import关键字;
    • 模块名;
    • 可选的更多模块名称,之间用逗号隔开;

函数

  • None值,表示没有值,是NoneType数据类型的唯一值,print()的返回值即为None,
>>> spam = print('hello')hello>>> None == spamTrue复制代码
  • 函数三大优点

    • 代码重用;
    • 保持一致性;
    • 可扩展性;
  • 过程:过程就是简单特殊无返回值的函数;

  • 函数返回值:

    • 返回值数 = 0:返回None
    • 返回值数 = 1:返回object
    • 返回值数 > 1:返回tuple
  • 默认参数

    • 特点:调用时,默认参数非必须传递;
    • 参数组:
#传递多个参数,返回的参数组是一个元组def test(*args):    print(args)    >>> test(1, 3, 4)(1, 3, 4)复制代码
# 参数组返回的是字典def test2(**kwargs):    print(kwargs)>>> test2(name = 'k', age = 4, sex = 'M'){
'name':'k', 'age':4, 'sex':'M'}复制代码
  • 位置参数和关键字:标准调用与形参位置一一对应;关键字调用无序固定;关键字参数必须在位置参数后边;

  • 局部和全局作用域

    • 在被调用函数内赋值的变元和变量,属于该函数的“局部作用域”,处于其中的变量称为”局部变量“,在所有函数之外赋,值的变量,属于“全局作用域”,处于其中的变量为”全局变量“。
    • 局部变量不能在全局作用域内使用;
    • 局部作用域不能使用其他局部作用域内的变量;
    • 全局变量可以在局部作用域中读取;
  • global语句

    • 通过使用global语句,在函数内修改全局变量;
def spam():	global eggs	eggs = 'spam'eggs = 'global'spam()print(eggs)-----------spam-----------复制代码
  • 除了字符串和整数不能在函数中改变它的值之外,其他的数据类型如列表、字典、集合等都能够通过函数改变它们的值;
  • 区分一个变量是处于局部作用域还是全局作用域的4条法则:
    • 若变量在全局作用于中使用(即在所有函数之外),则为全局变量;
    • 若在一个函数中,有针对该变量的global语句,则为全局变量;
    • 如果变量用于函数中的赋值语句,则为局部变量;
    • 若变量没有用于复制语句中,则为全局变量;
  • 异常处理:错误可由tryexcept语句处理;
def spam(divideBy):	try:		return 43 / divideBy	except ZeroDivisionError:		print('Error:Invalid argument.')复制代码
  • 小程序:猜数字
#小程序:猜数字,不断循环,直到你猜出这个数guessNumber = random.randint(1,100)print("I'm thinking a number between 1 and 100.")while True:    print('Take a guess.')    guess = int(input())    if guess > guessNumber:        print("It's too high")    elif guess < guessNumber:        print("It's to low")    else:        print("Congratulations, you win.")        break复制代码

  • Collatz序列
#Collatz序列def collatz(number):    if (number % 2 == 0):        return number / 2    else:        return number * 3 + 1print('Input a number.')while True:    global number1    try:        number1 = int(input())    except ValueError:        print('Please input a number')        continue    if collatz(number1) != 1:        print(int(collatz(number1)))    else:        print(int(collatz(number1)))        break复制代码

转载于:https://juejin.im/post/5bb1d0586fb9a05d3b338019

你可能感兴趣的文章
centos6.5 安装nginx
查看>>
离不开的微服务架构,脱不开的RPC细节
查看>>
利用mybatis-generator自动生成表实体类和映射文件
查看>>
生成若干个不重复的随机数数组
查看>>
安装Vue.js devtools
查看>>
PHP使用 DOMDocument创建和解析xml文件
查看>>
Linux中脚本
查看>>
团队模式与软件开发流程的选择
查看>>
生成器面试题之一
查看>>
问题: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
查看>>
其它综合-有关service、systemctl、chkconfig、init
查看>>
CAS服务器配置
查看>>
jsp%不能解析
查看>>
CentOS配置网易163 yum源
查看>>
(转)vtemplate
查看>>
Jmeter常用脚本开发之Junit Request
查看>>
进程间通信——消息队列
查看>>
POJ 1129 Channel Allocation
查看>>
添加菜单
查看>>
《c程序设计语言》读书笔记--统计总的字符数,打印能打印的最多字符
查看>>