资讯专栏INFORMATION COLUMN

你看我还有机会吗?【Python基础速览1】变量 | 输出和输入 | 数字类型 | 字符串类型

klinson / 2327人阅读

摘要:一变量变量的定义在定义变量时,并不需要声明变量类型。变量的类型为了更充分地利用内存空间,更有效率地管理内存,变量有不同的类型。四输出和输入输出输出版本在中,获取键盘输入的方法是採用和两种函数。

前言:

最近得了急性胃肠炎(草),所以咕咕咕了好几天,等过段时间一定好好肝文。这次就发一发前几年学Python时自己记的笔记吧,还是和之前一样,适合用来复习过一遍基础,并不适合从零开始。


一、变量

0x00 变量的定义

? Python 在定义变量时,并不需要声明变量类型。

0x01 变量的类型

? 为了更充分地利用内存空间,更有效率地管理内存,变量有不同的类型。Python中的对象分类:

0x02 查看变量类型

? type() 获取变量类型:

 ? 代码演示:

a = 10;print(a, type(a))

? 运行结果: 10 

0x03 赋值方式

? 一般赋值:

? 链式赋值: 

? 交换两个变量: 

ROW_TWO原理: python两个数值互换(浅析a,b=b,a原理)_土豆洋芋山药蛋的博客-CSDN博客

二、标识符和关键字

0x00 标识符的命名规则

? Python 中的标识符是区分大小写的!

0x01 命名规则和方法

? 大驼峰命名法、小驼峰命名法……  Python 中推荐使用下划线 "_"

0x02 关键字(保留字)

? 查看关键字:(这里 import 可以先理解为C语言中的 #include

 

三、Python的一些性质

0x00 垃圾回收机制 

当一个常量被生成,会佔用一份内存,这时候如果有变量指向该常量,那么该常量的引用计数为1,Python 虚拟机规定,当一个常量的引用计数为0,也就是没有变量指向的时候,该常量占用的内存就会被回收。Python 采用的是引用计数机制为主,标记 - 清除和分代收集两种机制为辅的策略。 

name = user = "hello" ? 变量name,变量user指向常量“hello”这个内存

 ? 查看 id 的方式:

 将 id(name) 和 id(user) 对比后可以发现,他们指向的 id 相同,那么说明有两个指针指向 "hello" 这个内存!

 ? 删除:

? 将 name 和 user 删除后我们再次访问 name 和 user,结果如下:

del(name)del(user)

 

 ? 因为指向 "hello" 的所有指针已经被删除了,此时引用计数为0!

0x01 Python 弱类型语言

? Python 是一个弱变量的语言,Python的变量即用即生成,变量的类型由值来决定。

A = 1A = "one"

四、输出和输入

0x00 print 输出

0x01 input 输出

0x02 Python2 版本

在Python2中,获取键盘输入的方法是採用 raw_input() 和 input() 两种函数。raw_input() 的小括号中放入的是提示信息,在从键盘获取了数据之后,会存放到等号左边的变量中,raw_input() 会把用户输入的任何值都作为字符串来对待,input() 函数和 rwa_input 类似,但其接受的输入必须是表达式,input() 接收表达式输入,并把表达式的结果赋值给等号左边的变量,raw_input() 输入的都当成字符串,input() 输入的是输入的数据类型。

0x03 Python3 版本

raw_input() 被摒弃,保留了 input(),python3 中的 input 继承了 raw_input 的效果

? 在Python3中,不 print 就不会打印:

name = input("請輸入姓名:") print(name)

0x04 input "切分"

names = input("请输入两个名字: ")n1, n2 = names.split()print("第一个名字:" + n1, "第二个名字:" + n2)

⚡ 还可以这么写:

n1, n2 = input("请输入两个名字:").split()

四、Python数字类型

0x00 数字类型介绍

? 关于复数:

x = 2+3jy = 7jz = -7jprint(type(x))print(type(y))print(type(z))

0x01 数据类型转换

? 查看数据类型:

? 代码演示: 

print(type(1))print(type(1.0))

        

注:可以通过运算改变数字类型,eg. type(3/2.0) *变浮点型   type(3//2) *取整除,变整型

0x02 数字类型运算符

? // 取整数 (抛弃余数):

? ** 幂(符号^ ,次方)

0x03 复合运算符

0x04 关系运算符

? 代码演示:

a, b = 10;print(a==b)print(a!=b)print(a>b, a=b)

 

 0x05 逻辑运算符

? 逻辑运算符的用法:

 

? 判断是否是闰年:

year = 2021if ((year % 4 == 0) and (year % 100 != 0)) or (year % 400 == 0):    print("閏年")else:     print("不是閏年")

0x06 字符串运算

? 代码演示:

str1 = "hello" + "world"print(str1)str2 = "a" * 5

 ?  helloworld

        aaaaa

0x07 成员运算

? 检测一个数据是否在指定的容器中:

? 代码演示:

str1 = "hello world"str2 = "hello"print(str2 in str1)# >>> Truestr1 = "hello world"str2 = "z"print(str2 not in str2)# >>> True

 ?  True

        True

0x08 优先级、

? 优先级表(由高到低排序)

0x09 Python内建函数(待补充)

? 内建数值型函数:

? 代码演示:

a = pow(2, 3) //#    2**3b = pow(2, 3, 3) //#  2**3 % 3print(a)print(b)#>>> 8#    2res = divmod(17, 4)print(res)#>>> (4, 1) #4……1

0x0A 强制类型转换

五、字符串类型

0x00 Python 字符串

? 在Python中,双引号或者单引号中的数据,就是字符串。

0x01 引号

? 演示:

print("hello world")"""hellonice to meet you""""""C, C++, PythonJava, Go"""

0x02 字符串当中的特殊字符

 0x03 字符串格式化操作

 ? 字符串格式化显示:

# 打印字符串&整数print("my name is %s, age is %d" % ("xiaoming", 17))# 打印浮点数print("my height is %f" % (1.70))# 变量形式hobby = "sleep"print("and my hobby is %s" % hobby)

0x04 索引 - index

? 取单个元素 [ ]  :

print( "abcdef"[2] )  #正取

 ?  "c"

? 字符串截取 [start:end] :包头不包尾原则,为数学中的集合区间相同

a = "abcdef"print( a[1:3] )print( a[:] ) #截取所有字符串print( a[:3]) #从开头截取到3前面为止print( a[3:]) #从3截取到字符串的最后

?  "bc"

       "abcdef"

       "abc"

       "def"

? 步长截取 [start:end:step]:

切片:[起始:结束:步长]

str1 = "hello world"print( str1[0:7:2] ) # [:7:2] "0可以省略"

?   "hlow"

? 默认取法 string[start:end:step] 这三个参数都有默认值
start的默认值为0;end默认值为字符串结尾元素;step默认值为1;
若 step > 0,则表示正向切片
若 step < 0,则表示反向切片
反取单个元素 [-x]

str1 = "hello world"print( str1[-1] )print( str1[-3] )

?  "d"  "r"

? 反字符串截取、步长截取:

str1 = "hello world"print( str1[::-1] ) #反取整个字符串print( str1[::-2] ) #反2步长截取print( str1[1:9][::-1] )

?    "dlrow olleh"

         "drwolh"

          "row olle"

? 演示:

str1 = "瞬美目以流眄 ,含言笑而不分"print( str1[-3] + str1[-2] + str1[-1] ) #取字符串拼接print( str1[-3:] ) # 利用负索引表示print( str1[0:4] ) # 等同于str[:4] 0可省略print( str1[:] ) # 全取print( str1[4:0:-1] ) #倒取 4321(不包括0)print( str1[::2] ) #跳2取print( str1[::-1] ) #全部颠倒

?  

而不分
而不分
瞬美目以
瞬美目以流眄 ,含言笑而不分
流以目美
瞬目流 含笑不
分不而笑言含, 眄流以目美瞬


参考文献 / 资料

百度百科[EB/OL]. []. https://baike.baidu.com/.
 

本篇完。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/122019.html

相关文章

  • 通过PHP与Python代码对比浅析语法差异

    摘要:二知识点最近在完成一个小作业,题目要求通过代码实现,让用户输入用户名密码,认证成功后显示欢迎信息,输错三次后退出程序。 一、背景 人工智能这几年一直都比较火,笔者一直想去学习一番;因为一直是从事PHP开发工作,对于Python接触并不算多,总是在关键时候面临着基础不牢,地动山摇的尴尬,比如在遇到稍微深入些的问题时候就容易卡壳,于是准备从Python入门从头学起; 笔者觉得应该有不少人同...

    edagarli 评论0 收藏0
  • 【从0开始入门python】一个半月的三万字学习笔记汇总!!!

    摘要:学习基础操作基本模块常用源阿里云豆瓣清华大学中国科学技术大学华中科技大学第一讲基础知识添加注释三键实现格式规范或者在编译器中点击英文输入符号特定字符产生一个新的含义,就是转义字符我爱编程指定为分隔变量 ...

    URLOS 评论0 收藏0
  • Python数据类型分支循环

    摘要:会认为子类是一种父类类型。一般记为它是编程语言中表示文本的数据类型。运算是与运算,只有所有都为,运算结果才是布尔值经常用在条件判断中列表列表是中使用最频繁的数据类型。是中内置的一种数据类型,可以随时添加和删除其中的元素。 了解过了Python的发展历史,现在开始我们的Python基础吧,如果你有学习过其他的编程语言,你可以跳过这一篇 PyCharm使用图解 开发python的工具你可以...

    archieyang 评论0 收藏0
  • 面试爱奇艺,竟然挂在第5轮……

    摘要:二面休息过后,就来了第二位面试官,面我运维的,运开嘛,如果没有运维知识肯定是不行的。后来的对话中,面试官也表示,可能之前做的更多的是的工作,对于容器这块不熟悉关系也不是很大。整个三面大概也持续了要有不到一个小时。 今天给大家分享我曾经在爱奇艺的面试,过程还是比较有意思的,可以给大家一些参考 聊骚阶段 嗲妹妹:你好,我是爱奇艺的HR,我们正在招聘运维开发岗位,请问您最近有在看工作机会吗...

    Magicer 评论0 收藏0
  • [零基础Python]深入变量引用对象

    摘要:为所有在灾难中受伤害的人们献上祷告。变量就是存在系统中的一个东西,这个东西有一种能力,能够用一根线与某对象连接,它能够钓鱼。这个操作中,和两个变量,引用的是一个对象,都是。所以,当通过修改引用对象的后,没有变化。 今天是2014年8月4日,这段时间灾祸接连发生,显示不久前昆山的工厂爆炸,死伤不少,然后是云南地震,也有死伤。为所有在灾难中受伤害的人们献上祷告。 在《永远强大的函数》那一...

    yagami 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<