python入门知识小览

[Python入门(1)](这些实用技巧你需要知道)

Python入门这些你需要了解

    大家好! 最近几年人工智能,Ai 发展迅猛,好多人都会惊叹科技的进步,那么这些人机交互的程序是用什么写的呢?
    这其中就有很多用到的事python,所有Python在我们的生活中应用在方方面面,下面我就带大家了解一下简单的Python介绍。

大家一起开始

python起步
运行方法一:使用交互解释器
[root@localhost day01]# python3

print(‘Hello World!’)
Hello World!

exit
Use exit() or Ctrl-D (i.e. EOF) to exit
运行方法二:使用文件的方式
[root@localhost day01]# cat hello.py
print(‘Hello World!’)
[root@localhost day01]# python3 hello.py
Hello World!
Python语法结构
python官方手册:https://docs.python.org/zh-cn/3.6/library/index.html

Python靠缩进表达代码逻辑,建议缩4个空格

注释、续行和同行多条语句与shell一样。在pycharm中,选中多行,按ctrl + /进行注释或取消注释。

输出语句
在python中主要使用print实现输出,print是一个函数
在python中函数调用需要添加(),括号内是传给函数的参数

print(“hello world!”) # 打印一个字符串,单双引号没有区别,但是必须有
hello world!

在print函数的()中,输入的是参数,各个参数之间用逗号隔开

print(“hao”, 123) # 打印字符串和数字
hao 123

print函数输出的各项之间,默认用空格分隔,可以通过sep指定分隔符

print(“hao”, 123, “abc”)
hao 123 abc

print(“hao”, 123, “abc”, sep="***")
hao***123***abc
输入语句
python中,通过input函数获取用户键盘输入
input函数的参数是字符串,它是屏幕提示语

变量赋值,=两边空格可有可无

user = input('username: ') # 用户输入内容保存到变量user中
username: tom

user # 使用变量
‘tom’

input读入的数据都是字符串类型。相同类型的数据才能运算

num = input("number: ")
number: 10

num + 5 # num是字符串,不能和数字进行运算
Traceback (most recent call last):
File “”, line 1, in
TypeError: must be str, not int

type(num) # 查看num的类型
<class ‘str’>

int(num) + 5 # int函数将字符串转成整数
15

num + str(5) # str函数将对象转成字符串
‘105’

num + “5”
‘105’
变量
字面量就是看到什么是什么,如’abc’,100
变量是变化的量,看到什么不一定是什么。
变量只是为了编写代码方便。当看到变量时,应该透过变量看到它代表的值
编写代码时尽量多的使用变量,而不是直接使用字面量。直接使用字面量,是硬编码,代码可重用性差。
变量名称约定
第一个字符只能是大小写字母或下划线
后续字符只能是大小写字母或数字或下划线
区分大小写
推荐采用的命名方法
变量名全部采用小写字母,如pythonstring
简短、有意义,如pystr
多个单词间用下划线分隔,如py_str
变量名用名词,函数名用谓词(动词+名词),如 phone / update_phone
类名采用驼峰形式,如MyClass
变量在使用之前,必须先进行赋值
变量赋值是一个自右向左的运算,将=右边表达式的计算结果,赋值给左边的变量

a = 10 + 5
a
15
变量支持重新赋值

a = 20
a = a + 10 # 将a+10的结果再赋值给a

以上代码可以简写为

a += 10

根据以上写法,举一反三

a -= 20
a
20

a *= 2
a
40
注意:Python不支持诸如i++ / i–之类的操作

a = 40
++a # 正正为正
40

–a # 负负为正
40

import this # 导入python之禅
The Zen of Python, by Tim Peters

Beautiful is better than ugly. 美胜丑
Explicit is better than implicit. 明胜暗
Simple is better than complex. 简胜繁
运算符
算术运算符

加减乘正常运算

/是真正的除法

5 / 3
1.6666666666666667

//只保留商

5 // 3
1

%是模运算,即求余

5 % 3
2

**是幂运算

2 ** 3
8

通过round函数实现四舍五入

round(5 / 3) # 5/3,默认保留到整数部分
2

round(5 / 3, 2) # 精确到小数点后2位
1.67

精准的数学中,是4舍6入5成双

round(5 / 2) # 2.5取双数,所以结果是2
2

divmod函数,可以同时得到商和余数

divmod(5, 3)
(1, 2)

a, b = divmod(5, 3) # 商和余数分别赋值给a和b
a
1

b
2
比较运算符

判断是否相等使用==

3 == 3
True # True是关键字,表示真

判断是否不相等使用!=

3 != 3
False # False是关键字,表示假

python支持连续比较

10 < 20 < 30
True
逻辑运算符

and两边表达式结果全为True,最终才为True

10 < 20 and 20 > 15
True

or两边表达式结果全为False,最终才为False

10 < 20 or 20 > 100
True

100 < 20 or 20 > 100
False

not是单目运算符,将真变假,将假变真

20 > 10
True

not 20 > 10
False
数据类型
内置函数:https://docs.python.org/zh-cn/3.6/library/functions.html
数字
整数:没有小数点
浮点数:有小数点
布尔数:True为1,False为0

True + 1
2

False * 5
0
整数在不同进制下的表示方法

python默认以10进制表示数字

11
11

8进制以0o或0O开头

0o11
9 # 默认以10进制输出

16进制以0x或0X开头

0x11
17

2进制以0b或0B开头

0b11
3

2小时3分5秒是多少秒?

2 * 60 * 60 + 3 * 60 + 5
7385

0x235 转成10进制怎么算?

2 * 16 * 16 + 3 * 16 + 5
565

0x235
565

0o235 转成10进制怎么算?

2 * 8 * 8 + 3 * 8 + 5
157

0o235
157

10000秒是几小时几分几秒?

divmod(10000, 60)
(166, 40) -> 166分40秒

divmod(166, 60)
(2, 46) -> 2小时46分

10000转换成16进制数是?

divmod(10000, 16)
(625, 0)

divmod(625, 16)
(39, 1)

divmod(39, 16)
(2, 7)

10000 -> 0x2710

hex(10000)
‘0x2710’
字符串
python中字符串被定义为引号之间的字符集合
python支持使用成对的单引号或双引号
无论单引号,还是双引号,表示的意义相同
python还支持三引号(三个连续的单引号或者双引号),可以用来包含特殊字符

s1 = “”“tom
… jerry
… jack
… rose
… “””

print(s1)
tom
jerry
jack
rose

s1
‘tom\njerry\njack\nrose\n’

s2 = “bj\ntj\nxa\nzz”
print(s2)
bj
tj
xa
zz
常见操作

s1 = ‘python’
len(s1) # 取长度
6

s1[0] # 第一个字符,下标为0
‘p’

s1[6] # 下标为6,超出范围,报错
Traceback (most recent call last):
File “”, line 1, in
IndexError: string index out of range

s1[5]
‘n’

s1[-1] # 负数表示从右向左,最右的一个字符
‘n’

s1[-6] # 自右向左第6个字符
‘p’

s1[2:4] # 切片,起始下标包含,结束下标不包含
‘th’

s1[2:6] # 切片时,下标超出范围是允许的
‘thon’

s1[2:600]
‘thon’

s1[2:] # 结束下标不写,表示取到结尾
‘thon’

s1[:2] # 起始下标不写,表示从开头取
‘py’

s1[:] # 从开头取到结尾
‘python’

s1[::2] # 步长值为2,取切片
‘pto’

s1[1::2]
‘yhn’

s1[::-1] # 步长为负,表示自右向左取
‘nohtyp’

‘t’ in s1 # t在s1中吗?
True

‘th’ in s1 # th在s1中吗?
True

‘to’ in s1 # to在s1中吗?
False

‘to’ not in s1 # to不在s1中吗?
True

s1 + ’ is good’ # 字符串拼接
‘python is good’

'’ * 30 # 字符串重复30遍
‘******************************’

‘#’ * 30
‘##############################’

s1 * 3
‘pythonpythonpython’
列表
列表可以当作数组使用
字符串的相关操作同样适用于列表

l1 = [10, 20, 5, 30, 8]
len(l1)
5

l1[0]
10

l1[2:4]
[5, 30]

20 in l1
True

l1.append(20) # 向列表尾部追加数字20
l1
[10, 20, 5, 30, 8, 20]
元组
可以理解为元组是不可变的列表
列表的相关操作同样适用于元组

t = (10, 20, 8, 38)
len(t)
4

10 in t
True

t[2]
8

l1[0] = 100 # 将列表第一项改为100
l1
[100, 20, 5, 30, 8, 20]

t
(10, 20, 8, 38)

t[0]
10

t[0] = 100 # 元组不可变,报错
Traceback (most recent call last):
File “”, line 1, in
TypeError: ‘tuple’ object does not support item assignment
字典
字典是由键-值(key-value)对构成的映射数据类型
通过键取值,不支持下标操作

d1 = {“name”: “tom”, “age”: 20}
len(d1)
2

‘tom’ in d1 # tom是字典的key吗
False

‘name’ in d1 # name是字典的key吗
True

d1[‘name’] # 通过key取value
‘tom’
数据类型总结
按存储模型分类
标量:字符串、数字
容器:列表、元组、字典
按访问模型分类
直接:数字
顺序:字符串、列表、元组
映射:字典
按更新模型分类
不可变:数字、字符串、元组
可变:列表、字典

s1 = ‘python’
l1 = [10, 20, 30]
s1[0]
‘p’

l1[0]
10

l1[0] = 100
s1[0] = ‘P’ # 字符串不可变,不能对它直接修改
Traceback (most recent call last):
File “”, line 1, in
TypeError: ‘str’ object does not support item assignment

s1 = ‘Python’ # 整体重新赋值

l1
[100, 20, 30]

l2 = l1 # l1和l2指向内存的相同地址
l2
[100, 20, 30]

l2[-1] = 300 # 修改l2也会影响到l1
l2
[100, 20, 300]

l1
[100, 20, 300]

好了这些知识,大家可以掌握一下 ,小编想说,坚持每天敲500行代码,才是王道。
一句名言送给大家:
不要假装很努力,结果没有人陪你演戏。
每天敲500行代码才是王道。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值