1、字典

  创建字典,alien_0={'color':'green','points':5}其中由一个又一个的“键-值”对组成。

  访问键-值对相应的值,print(alien_0['color']),可以得到green

  添加键-值对,alien_0["x_position"]=100,这里前提是alien_0必须是一个字典,为此我们可以先创建一个空的字典alien_0={}

  修改字典中的值,可以添加键-值对的语法一样,不过里面的键值要是需要修改的键

  删除键-值对,del alien_0["points"]

  遍历键-值对,for key,value in alien_0.items():

            print(key+" "+vlaue)   注意,此处的key,vlaue对应的是键和值(可以随意命名),这里的item()函数代表键-值都要取出。 

  遍历键, for key in alien_0.keys():

        print(...) 

  遍历值,for vlaue in set(alien_0.values()):

        print(....)   注意,这里多用了一个set()函数,为去重的作用,这里不加此函数也是可以的。

  列表中嵌套了字典,alien_0={'color':'green','points':10}     alien_1={'color':'red','points':30}     aliens=[alien_0,alien_1]

  字典中存储列表,alien_0={‘color’:'green','points':10,'langue':['chinese','enlish','japan']}

  字典中存储字典

2、input()

  message=input("tell me your name:")该函数接受一个参数,储存在变量message中,并且该变量储存的是,用户在交互窗输入的值,提高交互体验。如message="jecy"。

          注意获取的值永远都是字符型的,若要用作比较要使用int()来进行转换再使用。

3、while循环

  active=true

  while active=true:

    message=input(prompt)

    if message='quit':

      active=false

    else:

      print(message)     让本应该是死的循环,活起来,灵活的运用了标志。

  break 退出循环。

  continue 返回循环开头,根据条件继续判断是否进行下一轮循环。

  若由于编写错误,让程序陷入死循环,按ctrl+c即可关闭终端窗口。

  删除列表中有多个相同的值:while 'cat' in pets:

                  pets.remove('cat')   remove()一次只能删一次就结束,这样就可以反复删除,直到删除所以符合条件的字符。

4、使用用户输入的来灵活的填充字典

    response={}

    name=input("please input your name:")

    favorite=input("what's your favorite sport?")

response[name]=favorite      注意,这里容易和列表的修改有些混淆,列表中中括号中的值为索引,而字典中中括号的值是变量或者字符

5、函数

  定义函数,def greet():

          """ 显示问候语"""

          print('hello!')     注意,以def申明定义函数,函数里面最后有注释说明文本字符串,用三个双引号引住。开头的函数名后的括号中可加入传递的实参

  关键字实参,普通的实参可能会由于各个实参的排列位置不对而出错,关键字实参避免了这一点:describe(name="zlj",favorite="baseball"),

         调用的时候可以用这种关键字实参的方式避免出错(两种方式等效),定义的时候也可以用这种关键字实参的方式,来给参数设置默认值。

  设置返回值,def name_format(first_name,last_name):

            full_name=first_name+' '+last_name

            return full_name.title()          my_name=name_format(zhu,lijuan)这样就接受到了返回的值储存在变量my_name中

  设置某些可以选填的实参    def name_format(first_name,middle_name=' ', last_name):   是的中间的名字可以不填,以免没有中间名字的人程序报错。

  传递的实参可以是字典、列表、变量等等,返回的值也可以是字典、列表、变量等。

  禁止函数修改列表,def name_format(list_name[:])表示传递的是该列表的副本,无论里面做何修改,都不会影响原本列表的值

  传递任意数量的实参, def make_pizze(*topping):

  在传递实参的同时,建立空的字典,def build_profile(first,last,**user_info),,调用的时候在对应的地方写上相应的键-值对。函数会把实参中的多有键-值对收入该字典中,                              以便在函数中使用。

  将函数最为模块储存并条用,将编写函数的文件以.py后缀命名,然后同以目录下写脚本是可以用import pizza,然后就可以调用模块中的函数了。如,pizza.make_pizza()

      以module_name.function_name()的形式调用。还可以只导入模块中特定的函数如:from module_name import function_name,

      同时还可以用as对导入的函数取个别名,例如,from pizza import make_pizza as mp。同理,也可以以同样的方式给模块取别名

      若要导入模块中所有的函数,则 from module_name import *

python之基础中的基础(二)的更多相关文章

  1. [.net 面向对象编程基础] (4) 基础中的基础——数据类型转换

    [.net面向对象编程基础] (4)基础中的基础——数据类型转换 1.为什么要进行数据转换? 首先,为什么要进行数据转换,拿值类型例子说明一下, 比如:我们要把23角零钱,换成2.30元,就需要把整形 ...

  2. 从头开始学JavaScript 笔记(一)——基础中的基础

    原文:从头开始学JavaScript 笔记(一)--基础中的基础 概要:javascript的组成. 各个组成部分的作用 . 一.javascript的组成   javascript   ECMASc ...

  3. [.net 面向对象编程基础] (3) 基础中的基础——数据类型

    [.net 面向对象编程基础] (3) 基础中的基础——数据类型 关于数据类型,这是基础中的基础. 基础..基础..基础.基本功必须要扎实. 首先,从使用电脑开始,再到编程,电脑要存储数据,就要按类型 ...

  4. [.net 面向对象编程基础] (5) 基础中的基础——变量和常量

    [.net面向对象编程基础]  (5) 基础中的基础——变量和常量 1.常量:在编译时其值能够确定,并且程序运行过程中值不发生变化的量. 通俗来说,就是定义一个不能改变值的量.既然不能变动值,那就必须 ...

  5. [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式

    [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式 说起C#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如 ...

  6. [.net 面向对象编程基础] (7) 基础中的基础——流程控制语句

    [.net 面向对象编程基础] (7) 基础中的基础——流程控制语句 本来没有这一节的内容,后来考虑到既然是一个系列文章,那么就尽可能写的详细一些,本节参考了网上朋友所写的例子,为的是让更多小伙伴学习 ...

  7. [.net 面向对象编程基础] (8) 基础中的基础——修饰符

    [.net 面向对象编程基础] (8) 基础中的基础——修饰符 在进入C#面向对象核心之前,我们需要先对修饰符有所了解,其实我们在前面说到变量和常量的时候,已经使用了修饰符,并且说明了变量和常量的修改 ...

  8. C++ 基础中的基础 ---- 引用

    C++ 基础中的基础 ---- 引用 引用的概念:引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字.一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量.比如: int n ...

  9. python之基础中的基础(一)

    python是一个效率极高的语言,现在市面上的机器学习大部分是由python和R语言完成,所以在不久之前小仙心中便种下了学习python的想法.下面是这一个月多月以来学习的总结,都是基础中基础了. 1 ...

随机推荐

  1. url的分发

    一.分发 补充:通过查看源码:可以通过二级路由include进行二次分发 位置:urls.py urlpatterns = [ path('admin/', admin.site.urls), pat ...

  2. Linux下利用Ant调用Jmeter脚本生成HTML测试报告

    今天我们学习如何利用Ant调用Jmeter脚本,并将生成的 jtl 文件转换为 HTML 格式的测试报告. 准备工作 需要在Linux上提前安装好 JDK. Jmeter 和 Ant. 1,JDK(可 ...

  3. objectarx 按比例分割封闭多段线

    测试结果:这个是按0.1,0.1,0.1,0.3,0.4的比例划分的. 插件描述:这个插件主要是选择一个多段线poly,设置poly的close属性为true,在poly任意一侧画一条长线line(l ...

  4. spring boot 整合 swagger2

    swagger2为了更好的管理api文档接口 swagger构建的api文档如下,清晰,避免了手写api诸多痛点 一,添加依赖 <!--swagger2的官方依赖--> <depen ...

  5. spring cloud的配置

    注解篇 @EnableEurekaServer 注解启动一个服务注册中心提供给其他应用进行对话 @EnableDiscoveryClient 激活Eureka中的DiscoveryClient实现 配 ...

  6. Mac系统 python2.7中安装MySQLdb

    由于要在python2.7上使用到MySQLdb连接数据库,所以要安装MySQLdb,也就是MySQL-Python.安装之前已经有人告诉我,这个东西比较难装,果然我也遇到好多问题,在百度找了半天,发 ...

  7. 脚本在Shell可以执行成功,放到crontab里执行失败

    一.背景 自己写了个监控MGR状态的脚本,直接在Linux的Shell环境下可以执行成功,但是只要放到crontab里执行,就失败,脚本内容如下 #!/bin/bash MAIL_ADDR=`cat ...

  8. Maven异常:Dynamic Web Module 3.0 requires Java 1.6 or newer.

    问题 我目前用的JDK 是java 1.8 ,搭建Maven项目的时候,设置Project facets后,出现来以下problem : Dynamic Web Module 3.0 requires ...

  9. 使用vscode进行远程开发

    1.前置条件,安装SSH客户端.OpenSSH或者Git两者任选其一即可,本文使用的是Git 2.安装 Remote Development 扩展包 官方地址为:https://marketplace ...

  10. 视觉slam十四讲第8章课后习题3+稀疏直接法程序注释

    版权声明:本文为博主原创文章,转载请注明出处: http://www.cnblogs.com/newneul/p/8571653.html 3.题目回顾:在稀疏直接法中,假设单个像素周围小块的光度也不 ...