初识python脚本#学习猿地

>编写python程序的文件,称为python的脚本或程序

>要求当前的python脚本的文件后缀名必须是.py

#### pycharm使用注意

> 需要明确的知道你当前pycharm选择的python环境

#### 注释

> 注释就是一段说明文字,并不会被执行

> 在python的脚本中,开头的第一个字符如果是 # 那么就是注释了

#### print() 输出函数

> print可以在程序中输出一些内容,字符串,数字。。。

> 函数就是为了完成一些功能,例如:print就是为了输出数据

#### 变量 

```python

# 什么是变量?

# 变量就是用一个英文字符串来记录或标记一些数据,并且这个被标记的数据是可以变化的

# num = 10 的理解

# 就是把数据 10 赋值给变量 num使用,之后就可以使用num来代替这个10的数据

```

#### 命名规范

变量的命名要有规范

+ 变量名可以使用字母,数字,下划线_,

+ 不能以数字开头

+ 严格区分大小写

+ 不要使用中文

+ 不要使用关键字 if else True False print

**另外 变量的命名规范适用于脚本名称和后期的函数名及其它命令规范**

### 变量的定义方式

> 定义变量时 要注意遵守变量命名规范

```python

#第一种 变量定义方式

a = 10

b = 20

#第二种定义方式

a,b = 30,40

```

#### 思考:如何实现 以下两个变量的数据相互交换

```python

# 定义两个变量

a = 10

b = 20

# 交换两个变量的值

# 。。。

'''

普通方式,完成变量数据的交换

1,把a变量的值 赋值给c ,此时 c变量中 就是 10

2,把b变量的值 赋值给a , 此时 a变量中 就是 20

3,把c变量的值 赋值给b , 此时 b变量中 就是 10

'''

# c = a

# a = b

# b = c

# 利用python定义比变量的语法来实现 变量的数据交换

a,b = b,a

```

## python的数据类型

### 什么是数据类型?

> 数据类型就是数据的表现形式

>

> 比如 你好 就是一个字符串,200 就是一个数字

>

> 在程序当中除了这种常用的字符和数字外还有很多其它的数据表现形式

#### type() 函数,可以返回当前的数据类型

```python

s = 'iloveyou'

res = type(s) 

print(res) # <class 'str'> str == string

```

### 1. 字符串类型

- 单双引号都可以定义字符串

- 三引号也可以定义字符串

- 单双引号定义的字符串不能随意换行,需要在换行时指明换行符

- 字符串中的引号可以互相嵌套,但是不能嵌套自己(例如不能在单引号中嵌套单引号,除非转义)

- 字符串中可以使用转义字符,如 \r \n \t ...

- 如果不想在字符串中实现转义字符可以在字符定义时 加 `love = r'\nihao \shijie'`

```python

# 定义方式就是使用 单引号 或者 双引号

love = 'iloveyou'

hello = "你好 世界"

# 也可以使用三引号实现大字符串的定义,一般用于大文本字符串的定义,并且大字符串,可以换行

s = '''

比如说这一个

很长很长的文章内容。。。

'''

```

### 2.数字类型

+ int  整型

+ float 浮点类型

+ complex 复数

+ bool 布尔类型(True,False)

```python

# 数字类型 Number

'''

int  整型

float 浮点类型

complex 复数

bool 布尔类型(True,False)

'''

varn = 521

varn = -1111

varn = 3.1415926

varn = 0x10 # 十六进制

varn = b'001100111' # bytes

# 复数

varn = 5+6j # complex

# 布尔类型 bool

varn = True

varn = False

# print(varn,type(varn))

# 数值类型可以参与运算

a = 10

b = 20

print(a+b)

```

### 3.List列表类型

+ 列表用来表示一系列数据,例如: 需要记录一组数字或其它数据

+ 列表中存储的数据可以是任意类型的

+ 在需要记录多个数据时,可以使用中括号进行定义 [],

+ 并且每个数据之间使用逗号分隔 ,

+ 例如以下数据,定义了几组数字

+ 列表中存储的每一组数据,称为元素

+ 列表中存储的数据,可以通过下标的方式进行获取

+ 那么列表中元素的值可不可以存储一个列表,称为 二级列表(二维列表) 或者 多级列表 (多维列表)

```python

'''

关于列表中的下标

 0  1  2  3  4 

['a','b',521,'pai',3.1415926]

 -5  -4  -3 -2  -1

'''

```

### 4. tuple 元组类型的定义

+ 在定义多个数据内容时,可以选择使用List列表类型

+ 还可以使用元组类型来定义,

+ 元组和列表非常像,都时用于存储多个数据时使用

+ 元组使用小括号进行定义(),列表使用中括号进行定义

+ **元组的最大特点就是值不能被改变**

```python

vart = (1,2,3,'a','b')

# 元组的其它定义方式

vart = 1,2,3

```

##### 注意在定义元组时,如果元组中只有一个元素,那么需要加, 不然就不是元组类型了

### 5.Dict字典类型

+ 字典也是用于存储一组或多组数据时使用,使用大括号 {}来定义

+ 字典是 键值对 的存储方式 name :admin

+ 键和值之间使用冒号进行分隔,多组键值对之间使用逗号分隔

+ 键必须是字符串或数字类型,值可以是任意类型

+ 键名不能重复,值可以重复

```python

# 比如需要记录一本书的相关数据 书名,作者,价格,。。。

vard = {'title':'<<鬼谷子>>','author':'鬼谷子','price':'29.99'}

# print(vard,type(vard))

# {'title': '<<鬼谷子>>', 'author': '鬼谷子', 'price': '29.99'} <class 'dict'>

# 获取字典中的值

print(vard['title'])

# 字典中的键不能重复使用,否则会覆盖

vard = {'a':10,'b':10,'c':20,'a':'aa',1:'abcdef','2':'2222'}

# print(vard)

```

##### tip: 在python之前的版本中,字典是无序的

---

### 6.set集合类型

+ set集合是一个 无序且元素不重复的 集合的数据类型

+ set集合使用 中括号或者set()方法来定义

+ 如果需要定义一个空集合时 只能使用 set()方法,因为大括号时定义的空字典

+ 集合主要用于运算,交集,差集,并集,对称集合

```python

a = {1,2,3,'a'}

# 给集合添加元素

# a.add('b')

# 无法获取集合中的单个元素,但是可以添加和删除

# a.discard('a')

# print(a)

# 检查当前的元素是否在集合中

# print(1 in a)

# 集合主要用于运算,交集,差集,并集,对称集合

a = {1,2,3,'a','b'}

b = {1,'a',22,33}

print(a & b) # 交集 {1, 'a'}

print(a - b) # 差集 {'b', 2, 3} a 集合有,b集合没有的

print(a | b) # 并集 {1, 2, 3, 33, 'a', 'b', 22} 两个集合,放到一起,并且去重

print(a ^ b) # 对称差集 {33, 2, 3, 'b', 22} 

```

### 总结数据类型

```python

'''

字符串 string

数字类型 Number

  整型 int

  浮点 float

  复数

  布尔 bool

列表 list

元组 tuple

字典 dict

集合 set

可变数据类型:列表,字典,集合

不可不数据类型: 字符串,数字,元组

容器类型数据 : 字符串,列表,元组,集合,字典

非容器类型数据: 数字,布尔类型

'''

```

## 数据类型转换

+ 什么是数据类型转换?

  + 把一个数据类型转换为另一个数据类型,例如 字符串转为数字

+ 为什么需要数据类型转换?

  + 因为不同的数据类型之间不能运算

+ 数据类型转换的形式?

  + 自动类型转换

  + 强制类型转换

#### 自动类型转换

```python

# 自动类型转换

# 当两个不同的值进行运算时,结果会向更高的精度进行计算

# True ==> 整型 ==> 浮点 ==> 复数

a = 123

b = True # 在和数字运算时 True转为数字1,False转为数字 0

# print(a+b)

# print(12.5+22)

# print(True+3.14)

```

### 强制类型转换

> python中的每个数据类型都有对应的方法,可以对数据类型进行转换

+ str() 可以把所有的其它数据类型转换为字符串类型

+ int() 字符串转数字类型时,如果字符串中时纯数字,可以转换

  + 其它容器类型不能转为数字int类型

+ float() 浮点类型的转换和int类型一样,不过转换的结果是浮点类型

+ bool() 可以把其它类型转换布尔类型的True或False

  + 总结,哪些情况转bool的结果是 False

  + `'',0,0.0,False,[],{},(),set()`

+ list() 列表

  + 数字类型是 非容器类型,不能转换为列表

  + 字符串 转换为列表时 会把字符串中的每一个字符当做列表的元素

  + 集合 可以转换为 list列表类型

  + 元组 可以转换为 list列表类型

  + 字典 可以转换为 list列表类型,只保留了字典中的键

+ tuple() 元组

  + 数字类型 非容器类型,不能转换为元组

  + 其它容器类型的数据进行转换时,和列表一样

+ set() 集合

  + 数字类型 非容器类型,不能转换为 集合

  + 字符串,列表,元组 可以转为 集合 结果是无序的

  + 字典转换为集合时,只保留了字典的键 key

+ dict() 字典

  + 数字类型 非容器类型,不能转换为 字典

  + 字符串不能直接转换为 字典

  + 列表可以转换为字典,要求是一个二级列表,并且每个二级元素只能有两个值

  + 元组可以转换为字典,要求是一个二级元组,并且每个二级元素只能有两个值

掌握学习方法,不如会弯道超车!

学习猿地:成就自己的只需一套精品!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,928评论 6 509
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,748评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,282评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,065评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,101评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,855评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,521评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,414评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,931评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,053评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,191评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,873评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,529评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,074评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,188评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,491评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,173评论 2 357

推荐阅读更多精彩内容

  • 写在前面的话 代码中的# > 表示的是输出结果 输入 使用input()函数 用法 注意input函数输出的均是字...
    FlyingLittlePG阅读 2,764评论 0 8
  • Python 是一种相当高级的语言,通过 Python 解释器把符合语法的程序代码转换成 CPU 能够执行的机器码...
    Python程序媛阅读 1,908评论 0 3
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 3,817评论 1 10
  • Python语言特性 1 Python的函数参数传递 看两个如下例子,分析运行结果: 代码一: a = 1 def...
    伊森H阅读 3,067评论 0 15
  • 他姓王,今年七十有四,皮肤病,可治可不治,但为了好看,他还是治了。反正有医保,儿女们又给钱,不治白不治。我是在医生...
    湖边人老刘阅读 751评论 0 0