Python3 学习基础知识
python是动态语言(对象属性可以动态改变,删除添加..),不是强类型语言,所以和java,c/c++等强类型静态语言有不一样地方需要注意。
一:基本数据类型
变量
counter = 1 # 整型变量
miles = 1.0 # 浮点型
name = "John,h" # 字符串
str = 'Hello World!' #字符串(支持双引号,也可使用单引号)
counter=’111‘ #此时counter为string类型
从例子可以看出,python使用变量可以直接赋值使用,不需要先声明类型,在使用,同时一个变量可以指向多种类型数据,即变量在使用中在确定。
(pytthon中变量可以看作一个引用,没有类型概念。类型只是针对对象而言,变量只是对象的引用而已)
布尔类型:True、False两种值
逻辑符: and、or和not
空值:None是一个特殊的空值
常量
在Python中,通常用全部大写的变量名表示常量
但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法
字符串格式化:
s1 = 'Hello {}! I am is {}.'.format('World', 'Python')
s2 = 'Hello {name1}! I am is {name2}.'.format(name1='World', name2='Python')
str = ("My name is %s and age is %d !" % ('Tom', 18))
运算符
a = 2,b = 3
c = a**b //2的3次方幂运算
/除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数
10/5 ->2.0
//表示整除运算
a = 10,b = 5
c = a//b
对象类型
list
list数据类型是列表:是一种有序集合,可动态add,delete,motify其中的元素
tinylist = ['123', 'john','lll','poi']
tinylist.append('haha')
tinylist.insert(2,'cba')
tinylist.remove('john')
tinylist.pop(1) # 删除索引为1位置元素
tinylist.pop() # 删除list末尾的元素
len(tinylist) #计算元素个数,len()函数可以由于任何对象
tuple
元组:tuple和list非常类似,但是tuple一旦初始化就不能修改,在定义的时候,tuple的元素就必须被确定下来
tu=(1, 2,3,4,5,6)
注意,tt=(1)不表示元组,因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义
只有1个元素的tuple定义时必须加一个逗号,,来消除歧义,例:tt = (1,)
dict
字典:dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储
如果key不存在,dict就会报错 KeyError: 'xxx'
tinydict = {'name': 'john', 'code': 6734, 'dept': 'sales'}
print(dict['one']) # 输出键为'one' 的值
print(dict[2]) # 输出键为 2 的值
print(tinydict) # 输出完整的字典
print(tinydict.keys()) # 输出所有键
print(tinydict.values()) # 输出所有值
print([value for value in tinydict.values()])
for k, v in tinydict.items(): # 同时迭代key和value
print('key='+k+'value='+v)
tinydict.get('1')
tinydict.get('1',-1)
set
set和dict类似,也是一组key的集合,但不存储value
s = set([1, 2, 3])
条件判断
num = 3
if num >= 10:
print('more than 2 bit num')
else:
print('1 bit num') num = 3
if num >= 100:
print('3 bit num')
elif num >= 10:
print('2 bit num')
else:
print('1 bit num')
# 循环
for letter in 'Python': #遍历字符串内每个字符
print ('current letter :'+letter)
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # 通过直接取值输出
print ('fruit name :'+fruit)
for index in range(len(fruits)):#通过遍历索引输出
print ('fruit name :'+ fruits[index])
数据集(一定范围内的数值)
通过range()生产数据集
for num in range(10,50):
for i in range(2,num):
if num % i == 0:
j = num / i
print ('%d = %d * %d' % (num,i,j))
break
else:
print(num+'是一个质数')
切片[]应用
1,用于string
str = 'Hello World!'
print(str[0]) # 输出字符串中的第一个字符
print(str[2:5]) # 输出字符串中第三个至第五个之间的字符串
print(str[2:]) # 输出从第三个字符开始的字符串
2,用于list
lst = ['hello', 88, 2.23, True, 10]
lst[1:3] # 取出第二个至第三个的元素
lst[2:] # 取出从第三个开始至列表末尾
lst[-2:] #倒数第二个,后2个元素
lst[::5] #每隔5个元素取一个,正序
lst[::-2] #倒序每隔2个元素取出一个
列表生成式:
# 筛选出仅偶数的平方
[x * x for x in range(1, 11) if x % 2 == 0]
# 输出[4, 16, 36, 64, 100]
# 两层循环,生成全排列
[m + n for m in 'ABC' for n in 'XYZ']
# ['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']
Python3 学习基础知识的更多相关文章
- Matrix学习——基础知识
以前在线性代数中学习了矩阵,对矩阵的基本运算有一些了解,前段时间在使用GDI+的时候再次学习如何使用矩阵来变化图像,看了之后在这里总结说明. 首先大家看看下面这个3 x 3的矩阵,这个矩阵被分割成4部 ...
- JAVA学习基础知识总结(原创)
(未经博主允许,禁止转载!) 一.基础知识:1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨平 ...
- Python学习-基础知识-2
目录 Python基础知识2 一.二进制 二.文字编码-基础 为什么要有文字编码? 有哪些编码格式? 如何解决不同国家不兼容的编码格式? unicode编码格式的缺点 如何既能全球通用还可以规避uni ...
- ansible学习基础知识和模块(一)
基础知识补充: 常用自动化运维工具 Ansible:使用python来开发的,无需设置Agentless(代理),一般管理几百台.与ssh的方式也不一样,ssh是基于c/s模式(客户端+服务器)来使用 ...
- IOS科研IOS开发笔记学习基础知识
这篇文章是我的IOS学习笔记,他们是知识的基础,在这里,根据记录的查询后的条款. 1,UIScrollView能完毕滚动的功能. 示比例如以下: UIScrollView *tableScrollVi ...
- MySQL学习基础知识1
什么是数据库? 数据库就是存储数据的仓库. 存储方式: 变量 无法永久存储 文件处理,可以永久存储,弊端:文件只能在自己的计算机读写,无法被分享(局域网除外) 数据库分类: 1.关系型数据库 提供某种 ...
- android开发学习---基础知识学习、如何导入已有项目和开发一个电话拨号器
一.基础知识点学习 1.Android体系结构 如图所示,android 架构分为三层: (1)最底层是linux内核,主要是各种硬件的驱动,如相机驱动(Camera Driver),闪存驱动(Fl ...
- Java学习---基础知识学习
2016-07-23 周六 利用键盘输入的时候需要抛出异常 ,直接快捷键 ctrl + 1 ;定义数组 int score[] = new int[4] ; 只有4个数字BufferedRead ...
- python学习-基础知识-1
1.计算机历史 计算机使用高低电压的两种状态来描述信息.计算机可以理解的只有二进制数据即010100011....,1个比特位可以表示的状态只有2种,n个比特位可以表示的状态有2的n次方种. 所以如果 ...
- java学习基础知识入门
基础入门知识(一) 一.java技术的分类 java按照技术标准和应用场景的不同分为三类,分别是JAVASE.JAVAEE.JAVAME JAVASE : 平台标准版,用于开发部署桌面,服务器以及嵌入 ...
随机推荐
- Ubuntu系统安装搜狗拼音输入法
问题背景 Ubuntu是使用人数最多的Linux发行版之一,其丰富的生态广受各位种花家程序员小伙伴们的欢迎.对种花家小伙伴们来说,最重要的功能之一就是中文输入法了.但是Ubuntu自带的中文输入法效果 ...
- 谷歌浏览器console.log打印失效问题
什么都没干,谷歌浏览器console.log就失效了,百度说如下图就能打印了,该勾选的勾选了,就是打印无效 后来发现是眼睛边上的那个输入框将打印的内容给过滤掉了,将输入框中的内容删掉就好了 Filte ...
- minio对象存储集群安装
环境:centos7.6 .两台服务器部署4个节点集群 minio简介: MinIO 是一个基于Apache License v2.0开源协议的对象存储服务.它兼容亚马逊S3云存储服务接口,非常适合于 ...
- 你应该知道的 50 个 Python 单行代码
你应该知道的 50 个 Python 单行代码 1. 字母移位词:猜字母的个数和频次是否相同 2. 二进制转十进制 3. 转换成小写字母 4. 转换成大写字母 5. 字符串转换为字节类型 6. 复制文 ...
- shell 脚本实现二进制安装 LAMP 架构的 wordpress
#!/bin/bash##***********************************************************************#Author: ...
- supervisord and pm2 进程守护工具
目录 安装 pm2 config pm2是一个带有负载均衡功能的应用进程管理器,类似有Supervisor,forever supervisor 特点: 代码修改,实时重启 安装 npm instal ...
- insert_base_x.txt
insert into g_temp.test_basevalues('20220202'::date, 1, 'apple'),('20220203'::date, 5, 'banana'),('2 ...
- Java基础——IO模型详解
- springcloud(二) - 服务调用Feign&openFeign
功能介绍:动态代理的方式,简化请求其他服务的开发成本,更好得对请求地址组装.接受返回信息.返回参数解析等 Feign和OpenFeign区别: OpenFeign实现了Feign的基础功能,同时支持 ...
- the origin of month name in English
序号 月份 简述 详述 1 January Janus神 罗马神话的神Janus,双面,门神 2 February Februa节 古罗马人都要杀牲饮酒,欢庆菲勃卢姆节(Februarius).忏悔自 ...