书籍信息

1.2 Python语法基础

1.2.1 Python数据类型

  • 数值类型

    整型(int);浮点型(float);复数(complex),以j或J结尾,如2+3j
  • 字符串
  • 布尔类型

    空值,用Null表示

1.2.2 序列数据结构

  • 列表(List)
------------------------------------------------创建
list1 = ['中国','美国','2017','2019']
list2 = [1,2,3,4,5]
list3 = ["a","b","c"]
------------------------------------------------访问
print("List1[0]", list[0])
print("List1[1:5]", list[1:5])
------------------------------------------------更新
list1[1]='加拿大'
------------------------------------------------删除
方法一:del list1[1]
方法二:list1.remove('美国')
方法三:list1.pop(1)
#注:若写list1.pop(),即没有参数时将弹出最后一个元素
------------------------------------------------添加
list1.append(123)
------------------------------------------------多维列表
list4 = [["电脑","手机"],["wifi","cellular"]]
------------------------------------------------生成列表
L = list(range(1,10))

for x in range(1,10):
L.append(x*x)

[x*x for x in range(1,10)]
还可以
[x*x for x in range(1,10) if x%2==0]
------------------------------------------------列表内容变小写字母
[s.lower() for s in L]
  • 元组(tuple)

    与列表类似,但元组的元素不能修改,且元组使用小括号(),而列表使用[]。

    元组的元素类型也可以不相同
------------------------------------------------创建
tup1 = ('中国','美国',1997,2000)
tup2 = (1,2,3,4)
tup3 = "a","b"."c","d"
tup = () #创建空元组
当元组中只包含一个元素时,需要在第一个元素后面添加逗号
tup1 = (50,)
------------------------------------------------访问
print("tup1[0]", tup1[0])
print("tup[1:5]", tup1[1:5])
print(tup2[2:]) #切片,从第三个元素开始输出,直到最后
print(tup2*2) #输出元组两次
------------------------------------------------连接
tuple不能修改但可以组合
tup3 = tup1+tup2
------------------------------------------------删除
del tup
------------------------------------------------列表与元组的转换
list1 = list(tup)
tup1 = tuple(list)
  • 字典(dict)
------------------------------------------------创建
d = {key1:value1,key:value2}
例:
dict = {'xw':'19','lw':'50'}
dict = {'xw':'19',34:50} 类型可以不同
------------------------------------------------访问
dict = {'Name':'大明','Age':18,'Class':'计科二班'}
print("dict[Name]:",dict['Name'])
------------------------------------------------修改(修改、增加)
dict['Age'] = 30
dict['School']="举个例子"
------------------------------------------------删除
方法一:del dict['Name']
方法二:dict.clear()
方法三:del dict
------------------------------------------------in运算
用于判断字典是否存在该key
例:
print('Age' in dict) 等价于print(dict.has_key('Age'))
输出为:True
------------------------------------------------获取字典所有值
print(dict.value())
------------------------------------------------items()方法
for key,value in dict.items():
print(key,value)
  • 集合(set)
------------------------------------------------创建
student={"小明","小红","小绿"}
------------------------------------------------成员测试
if('小明' in student):
print("小明在集合中")
else:
print("小明不在集合中")
------------------------------------------------集合运算
差集-:print("集合a与b的差集:",a-b)
并集|:print("集合a与b的并集:",a|b)
交集$:print("集合a与b的差集:",a&b)
不同时存在^:print("集合a与b中不同时存在的元素:",a^b)

1.2.3 Python控制语句

  • 选择结构
if expression:
...
else:
...

if expression:
...
elif:
...
else:
...
  • 循环结构
while expression:
...

1.2.4 Python函数与模块

  • 函数的定义
def 函数名(函数参数):
...
return
没有return语句或return后没有表达式,则返回None
------------------------------------------------函数的使用
函数定义前不允许调用该函数
  • 闭包(closure)

    指函数的嵌套,即在函数内部可在定义一个函数
  • 模块(module)
类似于其他语言的类库
------------------------------------------------导入模块
方法一:import module_name
调用:module_name.function_name 方法二:from module_name import *
也可以:from module_name import fuction1_name,function2_name...
------------------------------------------------定义自己的module
建立文件name.py,文件中定义函数function()
使用时正常导入调用即可

Python项目案例开发从入门到实战-1.2 Python语法基础的更多相关文章

  1. python全栈开发从入门到放弃之socket网络编程基础

    网络编程基础 一 客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构 互联网中处处是C/S架构 如黄色网站是服务端,你的浏览器是客户端(B/S架构也是C/S架构的一种) 腾讯作为服务 ...

  2. 《ASP.NET Core跨平台开发从入门到实战》Web API自定义格式化protobuf

    <ASP.NET Core跨平台开发从入门到实战>样章节 Web API自定义格式化protobuf. 样章 Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于 ...

  3. python项目案例

    python项目案例1:----此学习案例用python3编写,摘自明日科技,感谢! 学生管理系统: 功能描述:具有增删改查,排序,保存并显示学生的全部信息. 1.主界面---函数menu(),显示功 ...

  4. Django 入门项目案例开发(上)

    关注微信公众号:FocusBI 查看更多文章:加QQ群:808774277 获取学习资料和一起探讨问题. Django 入门案例开发(中) http://www.cnblogs.com/focusBI ...

  5. 【Python高级工程师之路】入门+进阶+实战+爬虫+数据分析整套教程

    点击了解更多Python课程>>> 全网最新最全python高级工程师全套视频教程学完月薪平均2万 什么是Python? Python是一门面向对象的编程语言,它相对于其他语言,更加 ...

  6. python全栈开发从入门到放弃之迭代器生成器

    1.python中的for循环 l = [1,2,3,4,5,6] for i in l: #根据索引取值 print(i) 输出结果: 1 2 3 4 5 6 2.iterable  可迭代的 可迭 ...

  7. python全栈开发从入门到放弃之socket并发编程多线程

    一 threading模块介绍 multiprocess模块的完全模仿了threading模块的接口,二者在使用层面,有很大的相似性,因而不再详细介绍 二 开启线程的两种方式 from threadi ...

  8. python全栈开发从入门到放弃之socket并发编程多线程GIL

    一 介绍 ''' 定义: In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple nati ...

  9. python全栈开发从入门到放弃之字符编码

    一 了解字符编码的知识储备   1. 计算机基础知识(三幅图)       2. 文本编辑器存取文件的原理(nodepad++,pycharm,word) 打开编辑器就打开了启动了一个进程,是在内存中 ...

  10. python 微服务开发书中几个方便的python框架

    python 微服务开发是一本讲python 如果进行微服务开发的实战类书籍,里面包含了几个很不错的python 模块,记录下,方便后期回顾学习 处理并发的模块 greenlet && ...

随机推荐

  1. TypeScript 声明文件

    TypeScript 声明文件 TypeScript 作为 JavaScript 的超集,在开发过程中不可避免要引用其他第三方的 JavaScript 的库.虽然通过直接引用可以调用库的类和方法,但是 ...

  2. URL Scheme获取

    支付宝链接或小程序获取URL Scheme 小程序(以行程卡小程序为例): URL解码https://c.runoob.com/front-end/695/ JS网址解码https://jsrun.n ...

  3. POJ 1830 开关问题 异或高斯消元

    题目链接 将题目转化为矩乘问题 构建一个 \(n \times n\) 的开关信息矩阵,其中第 \(i\) 列第 \(j\) 行的元素为 \(0 / 1\) 代表在改变开关 \(i\) 的情况下开关 ...

  4. sudo: port: command not found 报错解决方案

    mac本安装graphviz的方法是: sudo port install graphviz 执行报错: sudo: port: command not found 其实是未设置环境变量,执行下面的语 ...

  5. React整洁的代码的一些原则

    1. Model is everything models are  the heart of your app. If you have models separated from th rest ...

  6. YML Exception 以及 java.nio.charset.MalformedInputException: Input length = 1

    在springboot项目中,第一次遇到的问题是 YML Exception java.nio.charset.MalformedInputException: Input length = 1 ,此 ...

  7. 高级纹理以及复杂而真实的应用——ShaderCp10

    --20.9.7 这章主要分成三个部分 立方体纹理(cubemap) 渲染纹理(RenderTexture,rt) 和程序纹理 一.立方体纹理 立方体纹理顾名思义是一种三维的纹理形状类似于立方体,由六 ...

  8. 打车起步价8元(3KM以内) 超过3KM,超出的每公里1.2元 超过5KM,超出的每公里1.5元 请在键盘上接收公里数,得出总价。

    import java.util.Scanner; public class Taxi { public static void main(String []agrs){ Scanner s = ne ...

  9. HTML——VSCODE配置笔记

    # 使用VSCODE编辑前端代码 ### 1.问题一:无法根据!快速生成html标准代码 (1).首先看文件命名是否出错,即文件名后缀名.html (2).第一步没出错,就在新建文件的编辑状态下拨动C ...

  10. luogu 1344

    首先题意就是裸的最小割啦 然后考虑如何统计边数 这里有一个trick: 我们设定一个大于$m$的阈值,对于每条边的边权我们乘这个阈值+1后跑最小割,得到的答案除以阈值就是真正的最小割,取模阈值后就是最 ...