python入门-01

Posted 快乐崇拜234

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python入门-01相关的知识,希望对你有一定的参考价值。

正文在下面,先打个广告:

Python入门(一)-- HelloWord

HelloWord

程序代码:

print('Hello Word!')
print(' 1 + 2 =', 1 + 2)

a = 5*6
print(a)
输出:
Hello Word!
 1 + 2 = 3
30

输入input:

name = input('请输入姓名:')
print('hello', name)

结果:

请输入姓名:tom
hello tom

通用语法

  • 注释符号:#
  • python没有大括号,是通过缩进来表示代码块的,通常使用4个空格来进行缩进
  • python大小写敏感

数据类型和变量

  • 整数

    如 1 10 -23
    注意:
    • python可以表示任意大小的整数
    • 可以直接使用16进制进行表示 ,如0xff00
a = 0xabc
print(a)
print(a + 2)

输出结果为:

2748
2750
  • 浮点数

注:允许直接使用科学记数法进行表示:

a = 1.23e-9
print(a+2)

输出:2.00000000123

  • 字符串

指用'"括起来的任意字符,与js有些相似。使用\\表示转义。为了简化,python允许使用r''表示不转义

print('adsfas')
print('adsf"as')
print('a\\'"s')
print(r'a\\'"s')#不转义
print('---------')
print('htgfy\\nhus')

输出:

adsfas
adsf"as
a'"s
a\\'"s
---------
htgfy
hus
  • 布尔值

布尔值有两个True,False。并且可以进行and,or,not运算

  • 空值none

  • 变量

注意:

  1. python中的变量和java一样,是引用
  2. python是动态语言,变量可以是任意值
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wByM5xMw-1612254100919)(index_files/21500218.png)]
  • 常量

在Python中,通常用全部大写的变量名表示常量:PI = 3.14159265359。但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法,如果你一定要改变变量PI的值,也没人能拦住你。

  • 除法

  1. /计算结果是浮点数
  2. //计算结果是整数
  3. %取余数
10 / 3 = 3.3333333333333335
9 / 3 = 3.0
10 // 3 = 3
9 // 3 = 3
10 % 3 = 1
9 % 3 = 0

字符串及编码

Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符

print(ord('吃'))  #获取数字表示
print(chr(21507))   #数字转化成字符
print('吃'.encode()) #转化成字节数组,编码默认是utf-8【可见,一个汉字的utf-8编码占3个字节】
print(b'\\xe5\\x90\\x83'.decode())  #将字节数组转化成字符(读取文件或者网络流时使用),解码默认是utf-8

输出:

21507
吃
b'\\xe5\\x90\\x83'
  • 一般来说,我们都会将整个项目设置成utf-8编码。python文件头通常会写以下两句:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。但是也要保证你的IDE是使用utf-8编码编写的代码才行。

字符串格式化输出
print('hello %s。' % 'a')
print('hello %s, good %s,你欠款%d.元' % ('a', 'b', 100))

输出:

hello a.
hello a, good b,你欠款100.
占位符含义
%d整数
%f浮点数
%s字符串
%x十六进制整数

list 和 tuple

  • list
代码结果
a = [‘a’, ‘b’, ‘c’]
print(a)[‘a’, ‘b’, ‘c’]
print(a[2])#下标从0开始c
print(a[-1])#倒序输出c
print(len(a))3
a.append(‘d’)
print(a)[‘a’, ‘b’, ‘c’, ‘d’]
a.pop(2)
print(a)[‘a’, ‘b’, ‘d’]
  • tuple
    定义classmates = ('Michael', 'Bob', 'Tracy').一旦定义内容不可改变,但是如果里面是list或其他数据等,其所包含的list还是可以改变的,因为这里不可改变的是引用

定义tuple:a = ('a', 'sf' , [1,2,3])
执行输出如下:

代码结果
print(a)(‘a’, ‘sf’, [1, 2, 3])
print(a[2])[1, 2, 3]
print(a[2][2])3
a[2][2] = 100
print(a[2][2])100

条件判断

a = input('请输入年龄:')
a = int(a) #input输入的是字符串,这里将其转化成数字int
if param > 0:
    return True
elif param < 0:
    return False
else:
    return "0"

运行结果:

请输入年龄:100
True

循环

  • for
sum =  0 ;
for i in list(range(101)):
    sum += i
print(sum)

结果5050

  • while
sum, i = 0, 0
while i < 101:
    sum += i
    i = i + 1
print(sum)

结果5050

dict

相当于java里的map
定义dic = "name": "tom", "age": 10

代码结果
print(dic)‘name’: ‘tom’, ‘age’: 10
print(dic[‘name’])#取值tom
print(dic.get(‘agess’, -1))#取值.没有值则赋值为0-1-1
print(dic.get(‘agess’))#取值。没有对应的key,则返回NoneNone
print(‘name’ in dic)#判断key是否存在True
dic[‘name’] = ‘cat’#修改赋值
print(dic)‘age’: 10, ‘name’: ‘cat’
print(dic.pop(‘name’))#删除一个元素,返回删除的值cat
print(dic)‘age’: 10

注意:
dict内部存放的顺序和key放入的顺序是没有关系的**
dict的key必须是不可变对象

因为dict和java里的 map一样,通过hash算法计算存储位置,所以要保证每次计算的hash值都是一样的。
dic = "name": "tom", [1, 2]: 10
结果:

Traceback (most recent call last):
  File "E:/workspace/python/HelloWord/HelloWord.py", line 1, in <module>
    dic = "name": "tom", [1, 2]: 10
TypeError: unhashable type: 'list'

和list比较,dict有以下几个特点:

  1. 查找和插入的速度极快,不会随着key的增加而变慢;
  2. 需要占用大量的内存,内存浪费多。

而list相反:

  1. 查找和插入的时间随着元素的增加而增加;
  2. 占用空间小,浪费内存很少。

set

无序和无重复元素的集合

定义a = set([1,2,3,4,3,3,3])

代码结果
print(a)1, 2, 3, 4
a.add(3);print(a) # 添加1, 2, 3, 4
a.remove(2);print(a) # 删除1, 3, 4
print(2 in a) # 判断是否存在False

set还可以取并集和交集:

a = set([1,2,3,4,3,3,3])
b = set([61,2,3])
print(a | b) # 并集
print(a & b) # 交集

结果:

1, 2, 3, 4, 61
2, 3

参考: 感谢廖雪峰的Python教程

以上是关于python入门-01的主要内容,如果未能解决你的问题,请参考以下文章

python入门:求1-2+3-4+5...99的所有数的和

算法--基础入门

python:入门到实践书籍学习

入门训练——Fibonacci数列

入门训练 Fibonacci数列

入门训练-4. Fibonacci数列